Donorbox Agent API

The Agent API from Donorbox — 3 operation(s) for agent.

Operations 4

POST /api/agent/donate Donate to an agentic campaign via MPP #
GET /api/agent/donate Donate to an agentic campaign via MPP (GET) #
GET /api/agent/campaigns List or search agentic-eligible campaigns #
GET /api/agent/campaigns/{id} Show a single agentic-eligible campaign #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/donorbox:donorbox-agent-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

donorbox-agent-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Donorbox Agent API
  version: 1.0.0
  description: Machine Payments Protocol (MPP) donation endpoints for AI agents.
tags:
- name: Agent
paths:
  /api/agent/donate:
    post:
      summary: Donate to an agentic campaign via MPP
      description: 'First request without an Authorization credential returns 402 with a Payment challenge. Retry with Authorization: Payment containing a Stripe Shared Payment Token (SPT). Query amount is in major currency units (e.g. 10.0 for $10); the challenge request.amount is the minor-unit integer string.'
      operationId: agentDonate
      parameters:
      - name: campaignId
        in: query
        required: true
        schema:
          type: integer
        description: Agentic-eligible campaign (form) id
      - name: amount
        in: query
        required: true
        schema:
          type: string
        description: Donation amount in major currency units (e.g. "10.0")
      - name: donorFirstName
        in: query
        required: false
        schema:
          type: string
      - name: donorLastName
        in: query
        required: false
        schema:
          type: string
      - name: donorEmail
        in: query
        required: false
        schema:
          type: string
          format: email
      - name: notes
        in: query
        required: false
        schema:
          type: string
      x-payment-info:
        offers:
        - amount: null
          currency: usd
          description: One-time donation charged via Stripe Shared Payment Token. Amount and networkId come from the 402 challenge.
          intent: charge
          method: stripe
      responses:
        '200':
          description: Donation succeeded
        '402':
          description: Payment Required — WWW-Authenticate Payment challenge
        '400':
          description: Invalid campaign or amount
      tags:
      - Agent
    get:
      summary: Donate to an agentic campaign via MPP (GET)
      description: 'Same MPP handshake as POST. Browsers with Accept: text/html are redirected to the hosted donation form.'
      operationId: agentDonateGet
      parameters:
      - name: campaignId
        in: query
        required: true
        schema:
          type: integer
      - name: amount
        in: query
        required: true
        schema:
          type: string
      x-payment-info:
        offers:
        - amount: null
          currency: usd
          description: One-time donation charged via Stripe Shared Payment Token. Amount and networkId come from the 402 challenge.
          intent: charge
          method: stripe
      responses:
        '200':
          description: Donation succeeded
        '302':
          description: Browser redirect to hosted donation form
        '402':
          description: Payment Required — WWW-Authenticate Payment challenge
        '400':
          description: Invalid campaign or amount
      tags:
      - Agent
  /api/agent/campaigns:
    get:
      summary: List or search agentic-eligible campaigns
      operationId: agentCampaignsIndex
      parameters:
      - name: q
        in: query
        required: false
        schema:
          type: string
        description: Optional free-text search
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
      responses:
        '200':
          description: Paginated campaign list
      tags:
      - Agent
  /api/agent/campaigns/{id}:
    get:
      summary: Show a single agentic-eligible campaign
      operationId: agentCampaignsShow
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Campaign details
        '404':
          description: Campaign not found or not agent-eligible
      tags:
      - Agent
x-service-info:
  categories:
  - donations
  - nonprofit
x-provenance:
  method: harvested
  publisher: Donorbox
  source: https://donorbox.org/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)