{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/karmacheck/json-schema/karmacheck-authentication-schema.json",
  "title": "Authentication",
  "x-generated": "2026-11-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/karmacheck-authentication-api-openapi.yml#/components/schemas/Authentication",
  "type": "object",
  "required": [
    "id",
    "username",
    "token",
    "groupProfileId"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "The unique identifier of the client. This is the same as the JWT ID (`jti` property) of the token."
    },
    "username": {
      "type": "string",
      "description": "The KarmaCheck username of the client. When this endpoint is first called for a particular combination of an `apiKey` and a `clientAccessToken`, a client user is created in the KarmaCheck system whose permissions are scoped to the corresponding group. A randomized `username` with `api` in the name is generated to make it clear that actions were taken by an API client instead of a user of the enterprise dashboard."
    },
    "token": {
      "type": "string",
      "description": "A [JSON Web Token](https://jwt.io/) (JWT) that can be used to perform actions like ordering checks and getting results for a group of a company. Does not expire, but can be revoked upon request or at KarmaCheck's discretion."
    },
    "groupProfileId": {
      "type": "string",
      "description": "The ID of the group of the company that the `token` can access."
    }
  }
}