Brex · Capability

Brex Budgets API — Spend Limits

Brex Budgets API — Spend Limits. 5 operations. Lead operation: List Spend Limits (v2). Self-contained Naftiko capability covering one Brex business surface.

Run with Naftiko BrexSpend Limits

What You Can Do

GET
Listv2spendlimits — List Spend Limits (v2)
/v1/v2/spend-limits
POST
Createv2spendlimit — Create a Spend Limit (v2)
/v1/v2/spend-limits
GET
Getv2spendlimit — Retrieve a Spend Limit by ID (v2)
/v1/v2/spend-limits/{id}
PUT
Updatev2spendlimit — Update a Spend Limit (v2)
/v1/v2/spend-limits/{id}
POST
Archivev2spendlimit — Archive a Spend Limit (v2)
/v1/v2/spend-limits/{id}/archive

MCP Tools

list-spend-limits-v2

List Spend Limits (v2)

read-only idempotent
create-spend-limit-v2

Create a Spend Limit (v2)

retrieve-spend-limit-id-v2

Retrieve a Spend Limit by ID (v2)

read-only idempotent
update-spend-limit-v2

Update a Spend Limit (v2)

idempotent
archive-spend-limit-v2

Archive a Spend Limit (v2)

Capability Spec

brex-spend-limits.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Brex Budgets API — Spend Limits
  description: 'Brex Budgets API — Spend Limits. 5 operations. Lead operation: List Spend Limits (v2). Self-contained Naftiko
    capability covering one Brex business surface.'
  tags:
  - Brex
  - Spend Limits
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    BREX_API_KEY: BREX_API_KEY
capability:
  consumes:
  - type: http
    namespace: brex-spend-limits
    baseUri: https://platform.brexapis.com
    description: Brex Budgets API — Spend Limits business capability. Self-contained, no shared references.
    resources:
    - name: v2-spend_limits
      path: /v2/spend_limits
      operations:
      - name: listv2spendlimits
        method: GET
        description: List Spend Limits (v2)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createv2spendlimit
        method: POST
        description: Create a Spend Limit (v2)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v2-spend_limits-id
      path: /v2/spend_limits/{id}
      operations:
      - name: getv2spendlimit
        method: GET
        description: Retrieve a Spend Limit by ID (v2)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatev2spendlimit
        method: PUT
        description: Update a Spend Limit (v2)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v2-spend_limits-id-archive
      path: /v2/spend_limits/{id}/archive
      operations:
      - name: archivev2spendlimit
        method: POST
        description: Archive a Spend Limit (v2)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.BREX_API_KEY}}'
  exposes:
  - type: rest
    namespace: brex-spend-limits-rest
    port: 8080
    description: REST adapter for Brex Budgets API — Spend Limits. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/v2/spend-limits
      name: v2-spend-limits
      description: REST surface for v2-spend_limits.
      operations:
      - method: GET
        name: listv2spendlimits
        description: List Spend Limits (v2)
        call: brex-spend-limits.listv2spendlimits
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createv2spendlimit
        description: Create a Spend Limit (v2)
        call: brex-spend-limits.createv2spendlimit
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/spend-limits/{id}
      name: v2-spend-limits-id
      description: REST surface for v2-spend_limits-id.
      operations:
      - method: GET
        name: getv2spendlimit
        description: Retrieve a Spend Limit by ID (v2)
        call: brex-spend-limits.getv2spendlimit
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatev2spendlimit
        description: Update a Spend Limit (v2)
        call: brex-spend-limits.updatev2spendlimit
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/spend-limits/{id}/archive
      name: v2-spend-limits-id-archive
      description: REST surface for v2-spend_limits-id-archive.
      operations:
      - method: POST
        name: archivev2spendlimit
        description: Archive a Spend Limit (v2)
        call: brex-spend-limits.archivev2spendlimit
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: brex-spend-limits-mcp
    port: 9090
    transport: http
    description: MCP adapter for Brex Budgets API — Spend Limits. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: list-spend-limits-v2
      description: List Spend Limits (v2)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: brex-spend-limits.listv2spendlimits
      outputParameters:
      - type: object
        mapping: $.
    - name: create-spend-limit-v2
      description: Create a Spend Limit (v2)
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: brex-spend-limits.createv2spendlimit
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-spend-limit-id-v2
      description: Retrieve a Spend Limit by ID (v2)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: brex-spend-limits.getv2spendlimit
      outputParameters:
      - type: object
        mapping: $.
    - name: update-spend-limit-v2
      description: Update a Spend Limit (v2)
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: brex-spend-limits.updatev2spendlimit
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: archive-spend-limit-v2
      description: Archive a Spend Limit (v2)
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: brex-spend-limits.archivev2spendlimit
      outputParameters:
      - type: object
        mapping: $.