{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/formify-eu/json-schema/formify-eu-api-key-token-response-schema.json",
  "title": "ApiKeyTokenResponse",
  "description": "Token response returned after exchanging a Formify API key at `/auth/token`.\n\nThis response is intentionally aligned with OAuth token responses so clients can use the returned `access_token` in the same way: send it as `Authorization: Bearer {access_token}` to protected API endpoints.\n\nAPI key exchange does not return a `refresh_token`. When the access token expires, exchange the API key again.",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/formify-eu-auth-api-openapi.yml#/components/schemas/ApiKeyTokenResponse",
  "type": "object",
  "required": [
    "access_token",
    "expires_in",
    "token_type",
    "scope"
  ],
  "properties": {
    "access_token": {
      "type": "string",
      "description": "The short-lived JWT access token used for authenticating API requests."
    },
    "expires_in": {
      "type": "integer",
      "description": "The lifetime of the access token in seconds."
    },
    "token_type": {
      "type": "string",
      "description": "The type of token issued. Always `Bearer`."
    },
    "scope": {
      "type": "string",
      "description": "Space-separated list of permissions granted to this token (`read`, `write`, or `read write`)."
    }
  }
}