{
  "name": "Financier",
  "description": "Personal finance plans from a person's own bank data: build the plan, read its stage and monthly figures, query exact spending, and record decisions.",
  "version": "1.0.0",
  "supportedInterfaces": [
    {
      "url": "https://financier.sh/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "provider": {
    "organization": "Financier",
    "url": "https://financier.sh"
  },
  "documentationUrl": "https://financier.sh/developers",
  "iconUrl": "https://financier.sh/brand/app-dark-256.png",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "securitySchemes": {
    "oauth": {
      "oauth2SecurityScheme": {
        "oauth2MetadataUrl": "https://financier.sh/.well-known/oauth-authorization-server/auth",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://financier.sh/auth/oauth2/authorize",
            "tokenUrl": "https://financier.sh/auth/oauth2/token",
            "scopes": {
              "financier:read": "Read your plan, accounts, categories and tasks",
              "financier:write": "Answer questions, record decisions, link and sync banks, rebuild the plan",
              "openid": "Sign in with your Financier identity",
              "profile": "Your name",
              "email": "Your email address",
              "offline_access": "Stay connected with a refresh token"
            },
            "pkceRequired": true
          }
        }
      }
    },
    "apiKey": {
      "apiKeySecurityScheme": {
        "location": "header",
        "name": "x-api-key"
      }
    }
  },
  "securityRequirements": [
    {
      "schemes": {
        "oauth": {
          "list": [
            "financier:read",
            "financier:write"
          ]
        }
      }
    },
    {
      "schemes": {
        "apiKey": {
          "list": []
        }
      }
    }
  ],
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "build_plan",
      "name": "Build the financial plan",
      "description": "Sync every connected bank, categorise merchants and build the person's seven-stage plan. Takes seconds to a minute; returns the plan view.",
      "tags": [
        "personal-finance",
        "budgeting",
        "plan"
      ],
      "examples": [
        "Build my financial plan",
        "{\"skill\":\"build_plan\"}"
      ]
    },
    {
      "id": "get_plan",
      "name": "Read the plan",
      "description": "The person's current stage, monthly income, spending and surplus, and actions by stage with their decisions.",
      "tags": [
        "personal-finance",
        "plan"
      ],
      "examples": [
        "What stage is my plan at?",
        "{\"skill\":\"get_plan\"}"
      ]
    },
    {
      "id": "query_spending",
      "name": "Query spending",
      "description": "Exact spending totals from the person's own transactions. Data: from, to (YYYY-MM-DD), category, merchant, groupBy (category, merchant or month).",
      "tags": [
        "personal-finance",
        "spending"
      ],
      "examples": [
        "How much did I spend this month?",
        "{\"skill\":\"query_spending\",\"from\":\"2026-08-01\",\"to\":\"2026-08-31\",\"groupBy\":\"merchant\"}"
      ]
    },
    {
      "id": "list_tasks",
      "name": "What needs the person",
      "description": "Banks to sign in to again, missing accounts, and merchants left in Misc.",
      "tags": [
        "personal-finance",
        "tasks"
      ],
      "examples": [
        "What do I need to do?",
        "{\"skill\":\"list_tasks\"}"
      ]
    },
    {
      "id": "decide_action",
      "name": "Record a decision",
      "description": "Accept, defer or decline a plan action. Data: actionKind (from get_plan), choice (accepted, deferred, declined), deferDays.",
      "tags": [
        "personal-finance",
        "plan"
      ],
      "examples": [
        "{\"skill\":\"decide_action\",\"actionKind\":\"pay_cards_in_full\",\"choice\":\"accepted\"}"
      ]
    }
  ]
}