> ## Documentation Index
> Fetch the complete documentation index at: https://docs.enginy.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List capacity history

> List the organization's capacity history, newest first: moves, cap changes, new clients and purchases. Requires the API key creator (or the connected MCP user) to hold an organization role (`ORGANIZATION_MANAGER` or `ORGANIZATION_ADMIN`) in the workspace the key belongs to. A workspace admin role alone grants no organization access. An API key needs `WORKSPACE_READ` for these reads: `WORKSPACE_WRITE` does not include it. For organizations (agencies, resellers, white-label partners, enterprises) and their client workspaces only. The organization role is checked first: a caller without one is refused with 403 (`ORGANIZATION_READ_FORBIDDEN` on reads, `ORGANIZATION_ADMIN_FORBIDDEN` on writes), and a caller with one whose workspace is not in a live organization gets 404 `NOT_IN_ORGANIZATION`.

    > **Required scope:** `WORKSPACE_READ`
    >
    > **Rate limit:** 100 requests per minute



## OpenAPI

````yaml https://openapi.enginy.ai/definitions.json get /v1/organization/capacity/history
openapi: 3.1.0
info:
  title: Enginy API
  version: 1.0.0
  description: Public API for Enginy platform
servers:
  - url: https://openapi.enginy.ai
    description: Configured server
security: []
tags:
  - name: AI Variables
    description: >-
      Manage AI variables and discover the entity fields you can reference in
      prompts and entity requests.
  - name: Inbox
    description: >-
      Inbox endpoints for listing contact threads, reading thread messages,
      managing tags, and sending manual replies.
  - name: Workspace
    description: >-
      The API key's workspace: its capacity, its organization, where its users
      open the app and where an admin buys more.
  - name: Organization
    description: >-
      For organizations (agencies, resellers, white-label partners, enterprises)
      and their client workspaces only. Create client workspaces, distribute
      credits and identity slots between them, and buy or request more capacity.
      Upsell and management only: no endpoint lowers the contracted quota.
      Clients billed through self-serve billing keep their own plan. Requires an
      organization role.
  - name: Workflows
    description: >-
      Build, validate, publish, run, and inspect advanced (graph) workflows,
      plus the block/condition catalog needed to author a workflow plan.
paths:
  /v1/organization/capacity/history:
    get:
      tags:
        - Organization
      summary: List capacity history
      description: >-
        List the organization's capacity history, newest first: moves, cap
        changes, new clients and purchases. Requires the API key creator (or the
        connected MCP user) to hold an organization role (`ORGANIZATION_MANAGER`
        or `ORGANIZATION_ADMIN`) in the workspace the key belongs to. A
        workspace admin role alone grants no organization access. An API key
        needs `WORKSPACE_READ` for these reads: `WORKSPACE_WRITE` does not
        include it. For organizations (agencies, resellers, white-label
        partners, enterprises) and their client workspaces only. The
        organization role is checked first: a caller without one is refused with
        403 (`ORGANIZATION_READ_FORBIDDEN` on reads,
        `ORGANIZATION_ADMIN_FORBIDDEN` on writes), and a caller with one whose
        workspace is not in a live organization gets 404 `NOT_IN_ORGANIZATION`.

            > **Required scope:** `WORKSPACE_READ`
            >
            > **Rate limit:** 100 requests per minute
      parameters:
        - schema:
            type: integer
            exclusiveMinimum: 0
            maximum: 2147483647
            description: The `nextCursor` of the previous page.
          required: false
          description: The `nextCursor` of the previous page.
          name: cursor
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            description: Page size (1-100).
          required: false
          description: Page size (1-100).
          name: take
          in: query
        - schema:
            type: string
            enum:
              - CREDITS
              - IDENTITIES
              - ACCOUNTS
          required: false
          name: resource
          in: query
      responses:
        '200':
          description: A page of the capacity history
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                            resource:
                              type: string
                              enum:
                                - CREDITS
                                - IDENTITIES
                                - ACCOUNTS
                            kind:
                              type: string
                              enum:
                                - MOVE
                                - PURCHASE
                            amount:
                              type: number
                            immediateAmount:
                              type:
                                - number
                                - 'null'
                            from:
                              type:
                                - object
                                - 'null'
                              properties:
                                id:
                                  type: number
                                name:
                                  type:
                                    - string
                                    - 'null'
                              required:
                                - id
                                - name
                            to:
                              type:
                                - object
                                - 'null'
                              properties:
                                id:
                                  type: number
                                name:
                                  type:
                                    - string
                                    - 'null'
                              required:
                                - id
                                - name
                            fromNewValue:
                              type:
                                - number
                                - 'null'
                            toNewValue:
                              type:
                                - number
                                - 'null'
                            actor:
                              type: object
                              properties:
                                id:
                                  type: number
                                name:
                                  type:
                                    - string
                                    - 'null'
                              required:
                                - id
                                - name
                            note:
                              type:
                                - string
                                - 'null'
                            createdAt:
                              type: string
                              format: date-time
                          required:
                            - id
                            - resource
                            - kind
                            - amount
                            - immediateAmount
                            - from
                            - to
                            - fromNewValue
                            - toNewValue
                            - actor
                            - note
                            - createdAt
                      nextCursor:
                        type:
                          - number
                          - 'null'
                    required:
                      - items
                      - nextCursor
                required:
                  - status
                  - message
                  - data
        '400':
          description: >-
            Invalid request, or the capacity change is refused (`details.code`:
            `POOL_HEADROOM_EXCEEDED`, `MOVE_EXCEEDS_BUDGET`,
            `MOVE_EXCEEDS_IDENTITY_SLOTS`, `IDENTITY_CAP_BELOW_CONNECTED`,
            `BELOW_ADD_ON_CREDITS`, `ACCOUNT_LIMIT_REACHED`,
            `CREDITS_NOT_IN_INCREMENTS`, `PURCHASE_NEEDS_QUOTA` or
            `CAPACITY_IS_PURCHASED`)
        '401':
          description: Missing or invalid API key, or the workspace is frozen or deleted
        '403':
          description: >-
            The API key lacks the scope (`missingScopes`), its creator lacks the
            organization role (`details.code`: `ORGANIZATION_READ_FORBIDDEN` or
            `ORGANIZATION_ADMIN_FORBIDDEN`), or the operation is not available
            to this organization or client (`ACCOUNT_BILLED_SELF_SERVE`,
            `NO_CONTRACT_VIEW`, `PURCHASES_ARE_REQUESTED`,
            `PURCHASE_NEEDS_BILLING_AGREEMENT`)
        '404':
          description: >-
            The workspace is not in an organization (`details.code`:
            `NOT_IN_ORGANIZATION`, `ORGANIZATION_NOT_FOUND`), or the client is
            not one of its live clients (`ACCOUNT_NOT_FOUND`)
        '412':
          description: >-
            Enginy has not set the organization quota this change allocates from
            yet (`details.code`: `QUOTA_NOT_SET`)
        '429':
          description: Rate limit exceeded; retry after `X-RateLimit-Retry-After-Seconds`
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.