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

# Set agents' daily and monthly credit limits

> Set (or clear, with null) the daily and/or monthly credit limit on the listed agents; an omitted limit is left unchanged. An agent that hits its daily limit stops running until the next day, and one that hits its monthly limit until the next month. Only admins can change the monthly limit, and resetting today's usage doesn't affect it. Batch write: each id gets its own result and per-id failures still return HTTP 200 — check `results[].success` and `summary`.



## OpenAPI

````yaml /api-reference/workspace-api.json post /workspaceapi/agents/credit-limits
openapi: 3.1.0
info:
  title: Abundly Workspace API
  description: >-
    Workspace-level and per-agent data and administration. GET endpoints need a
    workspace API key (wk_) with the Workspace read API scope; POST, PUT, PATCH
    and DELETE endpoints need the Workspace write API scope. The write endpoints
    mirror the Workspace Manager capability. Most are batch operations: ids
    travel in the JSON body, each id gets its own result, and per-id failures
    still return HTTP 200. The team endpoints (create, rename, members) act on a
    single team or membership and answer with standard status codes instead.


    Restricted and personal agents (`isPrivate`) are listed by
    /workspaceapi/agents but return 403 on every per-agent GET except
    promotion-requests, so enumerate from
    /workspaceapi/agents?includeOverview=true rather than iterating agent ids.
    Write endpoints can target restricted and personal agents.
  version: 1.0.0
servers:
  - url: https://service.abundly.ai
    description: Shared platform
  - url: https://{tenant}.service.abundly.ai
    description: Dedicated deployment
    variables:
      tenant:
        default: your-tenant
security:
  - workspaceApiKey: []
paths:
  /workspaceapi/agents/credit-limits:
    post:
      summary: Set agents' daily and monthly credit limits
      description: >-
        Set (or clear, with null) the daily and/or monthly credit limit on the
        listed agents; an omitted limit is left unchanged. An agent that hits
        its daily limit stops running until the next day, and one that hits its
        monthly limit until the next month. Only admins can change the monthly
        limit, and resetting today's usage doesn't affect it. Batch write: each
        id gets its own result and per-id failures still return HTTP 200 — check
        `results[].success` and `summary`.
      operationId: post-agents-credit-limits
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  description: Agent IDs to update.
                  minItems: 1
                  type: array
                  items:
                    type: string
                dailyCreditLimit:
                  description: >-
                    Daily credit limit for each agent, or null to fall back to
                    the workspace default.
                  anyOf:
                    - type: number
                      minimum: 0
                    - type: 'null'
                monthlyCreditLimit:
                  description: >-
                    Monthly credit limit for each agent, or null to remove it.
                    Unlike the daily one, it can't be reset.
                  anyOf:
                    - type: number
                      minimum: 0
                    - type: 'null'
              required:
                - ids
      responses:
        '200':
          description: Success. Empty result sets are also 200.
          content:
            application/json:
              schema:
                description: >-
                  Batch outcome. The request is 200 as long as it was
                  well-formed; check per-id `success` for failures.
                type: object
                properties:
                  results:
                    type: array
                    items:
                      description: Outcome for one id in the batch.
                      type: object
                      properties:
                        id:
                          description: The target entity id from the request.
                          type: string
                        name:
                          description: The target's name, when it could be resolved.
                          type: string
                        success:
                          type: boolean
                        unchanged:
                          description: >-
                            True when the write would not have changed anything
                            (or dryRun).
                          type: boolean
                        applied:
                          description: The stored values after the write.
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                        tags:
                          description: 'Tag endpoints: the final tag list.'
                          type: array
                          items:
                            type: string
                        impact:
                          description: >-
                            Team moves: who gains/loses access and which
                            capabilities flip.
                        error:
                          description: >-
                            Why this id failed. Per-id failures still return
                            HTTP 200.
                          type: string
                      required:
                        - id
                        - success
                      additionalProperties: {}
                  summary:
                    type: object
                    properties:
                      total:
                        type: number
                      succeeded:
                        type: number
                      failed:
                        type: number
                      unchanged:
                        type: number
                    required:
                      - total
                      - succeeded
                      - failed
                      - unchanged
                    additionalProperties: false
                required:
                  - results
                  - summary
                additionalProperties: false
        '400':
          $ref: '#/components/responses/Error'
        '401':
          $ref: '#/components/responses/Error'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
components:
  responses:
    Error:
      description: >-
        Error. Every failure on this API returns JSON with a single `error`
        field.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                description: >-
                  Human-readable message. Every error on this API uses this
                  shape.
                type: string
            required:
              - error
            additionalProperties: false
  securitySchemes:
    workspaceApiKey:
      type: http
      scheme: bearer
      description: >-
        Workspace API key (wk_). GET endpoints require the Workspace read API
        scope, POST, PUT, PATCH and DELETE endpoints the Workspace write API
        scope.

````

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