CoinGate Send Requests API

Send cryptocurrency payouts to beneficiaries

OpenAPI Specification

coingate-send-requests-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: CoinGate Payment Gateway Conversions Send Requests API
  description: REST API for accepting cryptocurrency payments, managing orders, processing refunds, handling payouts, performing currency conversions, and accessing merchant ledger and billing data. Supports both production and sandbox environments.
  version: '2'
  contact:
    name: CoinGate Support
    url: https://coingate.com/contact
    email: support@coingate.com
  termsOfService: https://coingate.com/terms
  x-logo:
    url: https://coingate.com/images/coingate-logo.png
servers:
- url: https://api.coingate.com/api/v2
  description: Production
- url: https://api-sandbox.coingate.com/api/v2
  description: Sandbox
security:
- bearerAuth: []
tags:
- name: Send Requests
  description: Send cryptocurrency payouts to beneficiaries
paths:
  /send_requests:
    post:
      summary: Create Send Request
      description: Create a payout send request to transfer crypto to a beneficiary.
      operationId: create-send
      tags:
      - Send Requests
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - ledger_account_id
              - beneficiary_payout_setting_id
              - amount
              - amount_currency_id
              - purpose
              properties:
                ledger_account_id:
                  type: string
                  description: Ledger account ID (see /ledger/accounts)
                beneficiary_payout_setting_id:
                  type: integer
                  format: int32
                  description: Beneficiary payout setting ID (see /beneficiaries)
                amount:
                  type: string
                  description: Amount to send
                amount_currency_id:
                  type: integer
                  format: int32
                  description: Currency ID for the amount (see /currencies)
                purpose:
                  type: string
                  description: Purpose of the send request
                callback_url:
                  type: string
                  description: URL for automated send request status change notifications
                external_id:
                  type: string
                  description: Merchant internal reference ID (must be unique, max 50 chars)
      responses:
        '200':
          description: Send request created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendRequest'
        '422':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    get:
      summary: List Send Requests
      description: Retrieve a paginated list of all send requests.
      operationId: list-send
      tags:
      - Send Requests
      parameters:
      - name: per_page
        in: query
        description: Records per page
        schema:
          type: integer
          format: int32
          default: 100
      - name: page
        in: query
        description: Current page number
        schema:
          type: integer
          format: int32
          default: 1
      responses:
        '200':
          description: List of send requests
          content:
            application/json:
              schema:
                type: object
                properties:
                  current_page:
                    type: integer
                  per_page:
                    type: integer
                  total_records:
                    type: integer
                  total_pages:
                    type: integer
                  send_requests:
                    type: array
                    items:
                      $ref: '#/components/schemas/SendRequest'
  /send_requests/{id}:
    get:
      summary: Get Send Request
      description: Retrieve details of a specific send request.
      operationId: get-send
      tags:
      - Send Requests
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Send request details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendRequest'
        '404':
          description: Send request not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    LedgerAccount:
      type: object
      properties:
        id:
          type: string
        balance:
          type: string
        status:
          type: string
          enum:
          - active
          - inactive
        currency:
          $ref: '#/components/schemas/Currency'
    Error:
      type: object
      properties:
        message:
          type: string
          description: Human-readable error message
        reason:
          type: string
          description: Machine-readable error reason code
        errors:
          type: array
          items:
            type: string
          description: List of validation errors
    Currency:
      type: object
      properties:
        id:
          type: integer
        title:
          type: string
        kind:
          type: string
          enum:
          - crypto
          - fiat
        symbol:
          type: string
    SendRequest:
      type: object
      properties:
        id:
          type: integer
        status:
          type: string
        purpose:
          type: string
        callback_url:
          type: string
        created_at:
          type: string
          format: date-time
        external_id:
          type: string
        ledger_account:
          $ref: '#/components/schemas/LedgerAccount'
        input_amount:
          type: string
        input_currency:
          $ref: '#/components/schemas/Currency'
        sending_amount:
          type: string
        sending_currency:
          $ref: '#/components/schemas/Currency'
        input_to_sending_rate:
          type: string
        sending_to_balance_debit_rate:
          type: string
        balance_debit_amount:
          type: string
        balance_debit_currency:
          $ref: '#/components/schemas/Currency'
        fees:
          type: object
        blockchain_transactions:
          type: array
          items: {}
        actions_required:
          type: object
          properties:
            confirm:
              type: string
            cancel:
              type: string
        requires_2fa_confirmation:
          type: boolean
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API Token authentication. Obtain your API token from the CoinGate merchant dashboard.
externalDocs:
  description: CoinGate Developer Documentation
  url: https://developer.coingate.com/docs/api-overview