Skip to content
Navigation

Create an API key

Creates an API key for this organization with the chosen permissions, which must be ones the caller holds, and optionally restricted per integration to some of its tools and connections. Answers the key once.

  • Scope: account:api-keys:write
  • Credentials: an API key, a client-credentials token or a person's access token
  • Effect: writes; not idempotent: check the outcome before you retry
  • Limits: request body up to 32 KB, response up to 256 KB
  • CLI: arbol account api-keys create · MCP tool: account_api_keys_create
POST
https://api.getarbol.com/v1/account/api-keys

Authorization

  • Authorization
    string
    required
    Bearer <token>, where the token is an API key, a client-credentials token or a person's access token with the scope account:api-keys:write. Get an API key.

Request body JSON required

  • name
    string
    required

    What uses it, such as "Billing backend".

    maxLength: 60 · minLength: 1
  • scopes
    array of
    string
    required
    maxLength: 280 · minLength: 1 · pattern: ^[a-z][a-z0-9-]*(?::[a-z][a-z0-9-]*){2,}$
  • expiresAt
    optional
    string

    Exclusive expiration instant, with timezone. Defaults to seven days from creation.

    format: date-time
  • restrictions
    optional
    object

    Per integration (sura, visoft, agenda): what the key may use there. An integration left out is decided by the key's scopes alone.

Returns

200

Successful operation.

JSON
  • success
    true
    required
  • data
    object
    required
    • apiKey
      object
      required
      • id
        string
        required

        The machine application's client id.

        maxLength: 256 · minLength: 1
      • name
        string
        required
        maxLength: 256
      • scopes
        array of
        string
        required
        maxLength: 280
      • createdAt
        string | null
        required
        format: date-time
      • expiresAt
        string | null
        required

        The UTC instant at which the key stops working. Null for a legacy key without a deadline.

        format: date-time
      • createdBy
        string | null
        required
        maxLength: 256
      • restrictions
        object | null
        required

        What the key may use per integration beyond its scopes; null: its scopes alone.

    • key
      string
      required

      The API key itself. It is shown only now; store it in a secret manager.

  • error
    unknown
    required
  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

400

INVALID_INPUT: The request does not match the published schema.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    object
    required

    The request does not match the published schema.

    • code
      INVALID_INPUT
      required

      The failure code, stable across releases.

    • message
      string
      required

      What went wrong, for people; it never contains input values.

    • retryable
      false
      required

      Whether repeating the same request may succeed.

    • data
      object
      required
      • issues
        optional
        array of
        object
        • path
          string
          required

          RFC 6901 JSON Pointer to the refused field; empty for the whole input.

          maxLength: 256
        • message
          string
          required
          maxLength: 256
  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

401

UNAUTHORIZED: A valid access token is required.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    object
    required

    A valid access token is required.

    • code
      UNAUTHORIZED
      required

      The failure code, stable across releases.

    • message
      string
      required

      What went wrong, for people; it never contains input values.

    • retryable
      false
      required

      Whether repeating the same request may succeed.

    • data
      object
      required

      No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

403

  • FORBIDDEN: The token does not authorize this operation.
  • PERMISSION_NOT_GRANTABLE: An API key cannot hold a permission you do not hold.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    required

    One of the following:

    • ForbiddenFailure
      FORBIDDEN
      • code
        FORBIDDEN
        required

        The failure code, stable across releases.

      • message
        string
        required

        What went wrong, for people; it never contains input values.

      • retryable
        false
        required

        Whether repeating the same request may succeed.

      • data
        object
        required

        No fields.

    • AccountPermissionNotGrantableFailure
      PERMISSION_NOT_GRANTABLE
      • code
        PERMISSION_NOT_GRANTABLE
        required

        The failure code, stable across releases.

      • message
        string
        required

        What went wrong, for people; it never contains input values.

      • retryable
        false
        required

        Whether repeating the same request may succeed.

      • data
        object
        required

        No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

409

IDENTITY_REJECTED: The identity service refused the change.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    object
    required

    The identity service refused the change.

    • code
      IDENTITY_REJECTED
      required

      The failure code, stable across releases.

    • message
      string
      required

      What went wrong, for people; it never contains input values.

    • retryable
      false
      required

      Whether repeating the same request may succeed.

    • data
      object
      required

      No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

413

REQUEST_TOO_LARGE: The request exceeds the allowed size.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    object
    required

    The request exceeds the allowed size.

    • code
      REQUEST_TOO_LARGE
      required

      The failure code, stable across releases.

    • message
      string
      required

      What went wrong, for people; it never contains input values.

    • retryable
      false
      required

      Whether repeating the same request may succeed.

    • data
      object
      required

      No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

415

UNSUPPORTED_MEDIA_TYPE: The request content type is not supported.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    object
    required

    The request content type is not supported.

    • code
      UNSUPPORTED_MEDIA_TYPE
      required

      The failure code, stable across releases.

    • message
      string
      required

      What went wrong, for people; it never contains input values.

    • retryable
      false
      required

      Whether repeating the same request may succeed.

    • data
      object
      required

      No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

429

RATE_LIMITED: The request rate limit was exceeded. Try again later.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    object
    required

    The request rate limit was exceeded. Try again later.

    • code
      RATE_LIMITED
      required

      The failure code, stable across releases.

    • message
      string
      required

      What went wrong, for people; it never contains input values.

    • retryable
      true
      required

      Whether repeating the same request may succeed.

    • data
      object
      required

      No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

500

INTERNAL_ERROR: The service could not complete the operation.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    object
    required

    The service could not complete the operation.

    • code
      INTERNAL_ERROR
      required

      The failure code, stable across releases.

    • message
      string
      required

      What went wrong, for people; it never contains input values.

    • retryable
      false
      required

      Whether repeating the same request may succeed.

    • data
      object
      required

      No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

502

OUTCOME_UNKNOWN: The operation may have been applied; check its result before repeating it.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    object
    required

    The operation may have been applied; check its result before repeating it.

    • code
      OUTCOME_UNKNOWN
      required

      The failure code, stable across releases.

    • message
      string
      required

      What went wrong, for people; it never contains input values.

    • retryable
      false
      required

      Whether repeating the same request may succeed.

    • data
      object
      required

      No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

503

  • UPSTREAM_UNAVAILABLE: The upstream service could not complete the request.
  • ACCOUNT_NOT_CONFIGURED: Account administration is not configured yet.
  • IDENTITY_UNAVAILABLE: The identity service did not answer.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    required

    One of the following:

    • UpstreamUnavailableFailure
      UPSTREAM_UNAVAILABLE
      • code
        UPSTREAM_UNAVAILABLE
        required

        The failure code, stable across releases.

      • message
        string
        required

        What went wrong, for people; it never contains input values.

      • retryable
        true
        required

        Whether repeating the same request may succeed.

      • data
        object
        required

        No fields.

    • AccountAccountNotConfiguredFailure
      ACCOUNT_NOT_CONFIGURED
      • code
        ACCOUNT_NOT_CONFIGURED
        required

        The failure code, stable across releases.

      • message
        string
        required

        What went wrong, for people; it never contains input values.

      • retryable
        false
        required

        Whether repeating the same request may succeed.

      • data
        object
        required

        No fields.

    • AccountIdentityUnavailableFailure
      IDENTITY_UNAVAILABLE
      • code
        IDENTITY_UNAVAILABLE
        required

        The failure code, stable across releases.

      • message
        string
        required

        What went wrong, for people; it never contains input values.

      • retryable
        true
        required

        Whether repeating the same request may succeed.

      • data
        object
        required

        No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

504

UPSTREAM_TIMEOUT: The upstream service did not respond before its deadline.
JSON
  • success
    false
    required
  • data
    unknown
    required
  • error
    object
    required

    The upstream service did not respond before its deadline.

    • code
      UPSTREAM_TIMEOUT
      required

      The failure code, stable across releases.

    • message
      string
      required

      What went wrong, for people; it never contains input values.

    • retryable
      true
      required

      Whether repeating the same request may succeed.

    • data
      object
      required

      No fields.

  • metadata
    object
    required

    What every answer carries besides its data or error.

    • requestId
      string
      required

      Request correlation identifier, also sent as X-Request-Id.

Escribe para buscar…

↑↓ navegar↵ seleccionarEsc cerrar