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

# List available direct deposit chains for a campaign



## OpenAPI

````yaml https://api.donate.gg/api/openapi get /v1/campaigns/{campaignId}/donation-echo/chains
openapi: 3.1.1
info:
  title: Donate Developer API
  version: 1.0.0
  description: >-
    Public JSON API for charities, configs, campaigns, tokens, and related
    catalog reads. Operations are grouped by version (`/v1`, and later `/v2`).
    GET/HEAD catalog routes may omit `donate-api-key` and are IP rate-limited
    for anonymous callers (~20 req/min). Authenticated keys share one
    organization rate-tier bucket. Create/list configs and project analytics
    require an API key. Configs are permanent; the retained authenticated DELETE
    endpoint rejects deletion. Unpublished internal routes are omitted. Spec
    routes (`/api/openapi`, `/api/postman`) are unauthenticated and unmetered.
servers:
  - url: /api
    description: API origin. Version prefixes live on each operation path.
security:
  - {}
  - ApiKeyAuth: []
paths:
  /v1/campaigns/{campaignId}/donation-echo/chains:
    get:
      summary: List available direct deposit chains for a campaign
      operationId: v1.campaigns.donationEcho.chains
      parameters:
        - name: campaignId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  chainIds:
                    type: array
                    items:
                      type: number
                required:
                  - chainIds
                additionalProperties: false
        '400':
          description: '400'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: BAD_REQUEST
                      status:
                        const: 400
                      message:
                        type: string
                        default: Invalid request
                      data:
                        type: object
                        properties:
                          error:
                            type: string
                        required:
                          - error
                        additionalProperties: false
                    required:
                      - defined
                      - code
                      - status
                      - message
                      - data
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
        '404':
          description: '404'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: NOT_FOUND
                      status:
                        const: 404
                      message:
                        type: string
                        default: This campaign isn't accepting direct deposits
                      data:
                        type: object
                        properties:
                          error:
                            type: string
                        required:
                          - error
                        additionalProperties: false
                    required:
                      - defined
                      - code
                      - status
                      - message
                      - data
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
        '409':
          description: '409'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: CONFLICT
                      status:
                        const: 409
                      message:
                        type: string
                        default: This campaign isn't accepting direct deposits
                      data:
                        type: object
                        properties:
                          error:
                            type: string
                        required:
                          - error
                        additionalProperties: false
                    required:
                      - defined
                      - code
                      - status
                      - message
                      - data
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
        '429':
          description: '429'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: TOO_MANY_REQUESTS
                      status:
                        const: 429
                      message:
                        type: string
                        default: Rate limit exceeded
                      data:
                        type: object
                        properties:
                          error:
                            type: string
                        required:
                          - error
                        additionalProperties: false
                    required:
                      - defined
                      - code
                      - status
                      - message
                      - data
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
        '503':
          description: '503'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: SERVICE_UNAVAILABLE
                      status:
                        const: 503
                      message:
                        type: string
                        default: Deposit address is not available yet
                      data:
                        type: object
                        properties:
                          error:
                            type: string
                        required:
                          - error
                        additionalProperties: false
                    required:
                      - defined
                      - code
                      - status
                      - message
                      - data
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: donate-api-key
      description: >-
        Developer API key. Required for config create/list and project
        analytics. The disabled config DELETE endpoint also requires
        authentication. Optional on public GET reads (anonymous callers are IP
        rate-limited). Obtain from the Developer dashboard.

````

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