Augustus Payouts API

The Payouts API from Augustus — 2 operation(s) for payouts.

OpenAPI Specification

augustus-payouts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Augustus Banking Account Programs Payouts API
  description: Augustus Banking API
  version: 0.1.0
  contact:
    name: Augustus
    url: https://docs.augustus.com
    email: developer@augustus.com
servers:
- url: https://api.augustus.com
  description: Production
- url: https://api.sandbox.augustus.com
  description: Sandbox
security:
- BearerAuth: []
tags:
- name: Payouts
paths:
  /v1/payouts:
    get:
      description: Lists payouts for the merchant with cursor-based pagination.
      operationId: PayoutsController_list
      parameters:
      - name: limit
        required: false
        in: query
        description: Number of results per page (1-100). Defaults to 10.
        schema:
          minimum: 1
          maximum: 100
          exclusiveMaximum: false
          exclusiveMinimum: false
          default: 10
          type: integer
      - name: cursor
        required: false
        in: query
        description: Opaque cursor from a previous next_cursor.
        schema:
          type: string
      - name: status
        required: false
        in: query
        description: Filter by payout status.
        schema:
          type: string
          enum:
          - pending
          - paid
          - failed
      - name: created_at.gte
        required: false
        in: query
        description: Include payouts whose created_at is greater than or equal to this ISO 8601 timestamp.
        schema:
          format: date-time
          type: string
      - name: created_at.lte
        required: false
        in: query
        description: Include payouts whose created_at is less than or equal to this ISO 8601 timestamp.
        schema:
          format: date-time
          type: string
      - name: currencies
        required: false
        in: query
        description: Filter to these currency codes. Use a separate `currencies` query parameter for each value (e.g. `?currencies=EUR&currencies=USD`).
        schema:
          minItems: 1
          type: array
          items:
            type: string
            enum:
            - EUR
            - GBP
            - USD
            - USDC
            - BTC
            - ETH
            - SOL
            - POL
      responses:
        '200':
          description: Paginated list of payouts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPayoutsResponseDto'
      summary: List payouts
      tags:
      - Payouts
      x-codeSamples:
      - lang: JavaScript
        source: "import Augustus from '@augustusbank/typescript-sdk';\n\nconst client = new Augustus({\n  apiKey: process.env['AUGUSTUS_API_KEY'], // This is the default and can be omitted\n});\n\n// Automatically fetches more pages as needed.\nfor await (const payoutListResponse of client.payouts.list()) {\n  console.log(payoutListResponse.id);\n}"
    post:
      description: Creates a new payout.
      operationId: PayoutsController_create
      parameters:
      - name: Idempotency-Key
        in: header
        description: Idempotency key for safe retries. Reusing a key with an identical request body returns the cached response. Reusing a key with a different body returns 409.
        required: false
        schema:
          type: string
      requestBody:
        required: true
        description: Payout creation parameters
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePayoutBodyDto'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutResourceDto'
      summary: Create payout
      tags:
      - Payouts
      x-codeSamples:
      - lang: JavaScript
        source: "import Augustus from '@augustusbank/typescript-sdk';\n\nconst client = new Augustus({\n  apiKey: process.env['AUGUSTUS_API_KEY'], // This is the default and can be omitted\n});\n\nconst payout = await client.payouts.create({\n  amount: 'amount',\n  currency: 'EUR',\n  destination: {\n    account_holder_name: 'account_holder_name',\n    iban: 'iban',\n    type: 'iban',\n  },\n  reference: 'reference',\n  source_account_id: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n});\n\nconsole.log(payout.id);"
  /v1/payouts/{id}:
    get:
      description: Retrieves a payout by ID.
      operationId: PayoutsController_retrieve
      parameters:
      - name: id
        required: true
        in: path
        description: Unique identifier of the payout.
        schema:
          format: uuid
          type: string
      responses:
        '200':
          description: The payout resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayoutResourceDto'
      summary: Retrieve payout
      tags:
      - Payouts
      x-codeSamples:
      - lang: JavaScript
        source: "import Augustus from '@augustusbank/typescript-sdk';\n\nconst client = new Augustus({\n  apiKey: process.env['AUGUSTUS_API_KEY'], // This is the default and can be omitted\n});\n\nconst payout = await client.payouts.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e');\n\nconsole.log(payout.id);"
components:
  schemas:
    CreatePayoutBodyDto:
      type: object
      properties:
        source_account_id:
          description: ID of the account to debit.
          type: string
          format: uuid
        amount:
          description: Amount as a string decimal (e.g. "100.50").
          type: string
        currency:
          description: Currency for the payout.
          type: string
          enum:
          - EUR
          - GBP
          - USD
          - USDC
          - BTC
          - ETH
          - SOL
          - POL
        destination:
          description: Bank account or crypto wallet to send funds to.
          oneOf:
          - type: object
            properties:
              type:
                description: Discriminator for IBAN financial address.
                type: string
                enum:
                - iban
              iban:
                description: International Bank Account Number.
                type: string
              account_holder_name:
                description: Name of the account holder.
                type: string
              bic:
                description: Bank Identifier Code.
                type: string
            required:
            - type
            - iban
            - account_holder_name
          - type: object
            properties:
              type:
                description: Discriminator for UK sort code financial address.
                type: string
                enum:
                - sort_code
              sort_code:
                description: UK sort code (6 digits).
                type: string
              account_number:
                description: UK account number (8 digits).
                type: string
              account_holder_name:
                description: Name of the account holder.
                type: string
            required:
            - type
            - sort_code
            - account_number
            - account_holder_name
          - type: object
            properties:
              type:
                description: Discriminator for ABA wire financial address.
                type: string
                enum:
                - aba
              routing_number:
                description: ABA routing number (9 digits).
                type: string
              account_number:
                description: Bank account number.
                type: string
              account_holder_name:
                description: Name of the account holder.
                type: string
            required:
            - type
            - routing_number
            - account_number
            - account_holder_name
          - type: object
            properties:
              type:
                description: Discriminator for crypto wallet financial address.
                type: string
                enum:
                - crypto_wallet
              address:
                description: Wallet address on the specified blockchain.
                type: string
              blockchain:
                description: Blockchain network for the crypto wallet.
                type: string
                enum:
                - bitcoin
                - ethereum
                - solana
                - polygon
                - bitcoin_testnet4
                - ethereum_sepolia
                - solana_devnet
                - polygon_amoy
            required:
            - type
            - address
            - blockchain
        rail:
          description: Payment rail. It is enforced when provided, otherwise auto-selected.
          type: string
          enum:
          - sepa_instant
          - sepa
          - faster_payments
        reference:
          description: Payment reference.
          type: string
          maxLength: 140
        metadata:
          description: Key-value pairs stored with the payout.
          type: object
          additionalProperties:
            type: string
      required:
      - source_account_id
      - amount
      - currency
      - destination
      - reference
    ListPayoutsResponseDto:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              id:
                description: Unique identifier of the payout.
                type: string
              type:
                description: Resource type discriminator.
                type: string
                enum:
                - payout
              status:
                description: Current status of the payout.
                type: string
                enum:
                - pending
                - paid
                - failed
                - returned
              source_account_id:
                description: ID of the account that was debited.
                type: string
              amount:
                description: Amount as a string decimal (e.g. "100.50").
                type: string
              currency:
                description: Currency code (ISO 4217 currency code or crypto currency code).
                type: string
                enum:
                - EUR
                - GBP
                - USD
                - USDC
                - BTC
                - ETH
                - SOL
                - POL
              destination:
                description: Bank account or crypto wallet the payout was sent to.
                oneOf:
                - type: object
                  properties:
                    type:
                      description: Discriminator for IBAN financial address.
                      type: string
                      enum:
                      - iban
                    iban:
                      description: International Bank Account Number.
                      type: string
                    account_holder_name:
                      description: Name of the account holder.
                      type: string
                    bic:
                      description: Bank Identifier Code, or null if not provided.
                      type: string
                      nullable: true
                  required:
                  - type
                  - iban
                  - account_holder_name
                  - bic
                - type: object
                  properties:
                    type:
                      description: Discriminator for UK sort code financial address.
                      type: string
                      enum:
                      - sort_code
                    sort_code:
                      description: UK sort code (6 digits).
                      type: string
                    account_number:
                      description: UK account number (8 digits).
                      type: string
                    account_holder_name:
                      description: Name of the account holder.
                      type: string
                  required:
                  - type
                  - sort_code
                  - account_number
                  - account_holder_name
                - type: object
                  properties:
                    type:
                      description: Discriminator for ABA wire financial address.
                      type: string
                      enum:
                      - aba
                    routing_number:
                      description: ABA routing number (9 digits).
                      type: string
                    account_number:
                      description: Bank account number.
                      type: string
                    account_holder_name:
                      description: Name of the account holder.
                      type: string
                  required:
                  - type
                  - routing_number
                  - account_number
                  - account_holder_name
                - type: object
                  properties:
                    type:
                      description: Discriminator for crypto wallet financial address.
                      type: string
                      enum:
                      - crypto_wallet
                    address:
                      description: Wallet address on the specified blockchain.
                      type: string
                    blockchain:
                      description: Blockchain network for the crypto wallet.
                      type: string
                      enum:
                      - bitcoin
                      - ethereum
                      - solana
                      - polygon
                      - bitcoin_testnet4
                      - ethereum_sepolia
                      - solana_devnet
                      - polygon_amoy
                  required:
                  - type
                  - address
                  - blockchain
              reference:
                description: Payment reference.
                type: string
              failure:
                description: Failure details when status is failed, otherwise null.
                type: object
                properties:
                  code:
                    description: Failure code.
                    type: string
                    enum:
                    - account_closed
                    - account_blocked
                    - insufficient_funds
                    - invalid_account_format
                    - invalid_instruction
                    - invalid_amount
                    - invalid_time
                    - duplicate_transaction
                    - payee_verification_failed
                    - system_error
                    - provider_system_error
                    - rejected_by_correspondent_bank
                    - blocked_by_review
                    - unknown
                    x-enumNames:
                    - ACCOUNT_CLOSED
                    - ACCOUNT_BLOCKED
                    - INSUFFICIENT_FUNDS
                    - INVALID_ACCOUNT_FORMAT
                    - INVALID_INSTRUCTION
                    - INVALID_AMOUNT
                    - INVALID_TIME
                    - DUPLICATE_TRANSACTION
                    - PAYEE_VERIFICATION_FAILED
                    - SYSTEM_ERROR
                    - PROVIDER_SYSTEM_ERROR
                    - REJECTED_BY_CORRESPONDENT_BANK
                    - BLOCKED_BY_REVIEW
                    - UNKNOWN
                  message:
                    description: Human-readable description of the failure.
                    type: string
                  retry:
                    description: Whether the payout can be retried.
                    type: boolean
                required:
                - code
                - message
                - retry
                nullable: true
              metadata:
                description: Key-value pairs stored with the payout.
                type: object
                additionalProperties:
                  type: string
              created_at:
                description: ISO 8601 UTC timestamp when the payout was created.
                type: string
                format: date-time
              updated_at:
                description: ISO 8601 UTC timestamp when the payout was last updated.
                type: string
                format: date-time
            required:
            - id
            - type
            - status
            - source_account_id
            - amount
            - currency
            - destination
            - reference
            - failure
            - metadata
            - created_at
            - updated_at
        has_more:
          type: boolean
        next_cursor:
          type: string
          nullable: true
      required:
      - data
      - has_more
      - next_cursor
    PayoutResourceDto:
      type: object
      properties:
        id:
          description: Unique identifier of the payout.
          type: string
        type:
          description: Resource type discriminator.
          type: string
          enum:
          - payout
        status:
          description: Current status of the payout.
          type: string
          enum:
          - pending
          - paid
          - failed
          - returned
        source_account_id:
          description: ID of the account that was debited.
          type: string
        amount:
          description: Amount as a string decimal (e.g. "100.50").
          type: string
        currency:
          description: Currency code (ISO 4217 currency code or crypto currency code).
          type: string
          enum:
          - EUR
          - GBP
          - USD
          - USDC
          - BTC
          - ETH
          - SOL
          - POL
        destination:
          description: Bank account or crypto wallet the payout was sent to.
          oneOf:
          - type: object
            properties:
              type:
                description: Discriminator for IBAN financial address.
                type: string
                enum:
                - iban
              iban:
                description: International Bank Account Number.
                type: string
              account_holder_name:
                description: Name of the account holder.
                type: string
              bic:
                description: Bank Identifier Code, or null if not provided.
                type: string
                nullable: true
            required:
            - type
            - iban
            - account_holder_name
            - bic
          - type: object
            properties:
              type:
                description: Discriminator for UK sort code financial address.
                type: string
                enum:
                - sort_code
              sort_code:
                description: UK sort code (6 digits).
                type: string
              account_number:
                description: UK account number (8 digits).
                type: string
              account_holder_name:
                description: Name of the account holder.
                type: string
            required:
            - type
            - sort_code
            - account_number
            - account_holder_name
          - type: object
            properties:
              type:
                description: Discriminator for ABA wire financial address.
                type: string
                enum:
                - aba
              routing_number:
                description: ABA routing number (9 digits).
                type: string
              account_number:
                description: Bank account number.
                type: string
              account_holder_name:
                description: Name of the account holder.
                type: string
            required:
            - type
            - routing_number
            - account_number
            - account_holder_name
          - type: object
            properties:
              type:
                description: Discriminator for crypto wallet financial address.
                type: string
                enum:
                - crypto_wallet
              address:
                description: Wallet address on the specified blockchain.
                type: string
              blockchain:
                description: Blockchain network for the crypto wallet.
                type: string
                enum:
                - bitcoin
                - ethereum
                - solana
                - polygon
                - bitcoin_testnet4
                - ethereum_sepolia
                - solana_devnet
                - polygon_amoy
            required:
            - type
            - address
            - blockchain
        reference:
          description: Payment reference.
          type: string
        failure:
          description: Failure details when status is failed, otherwise null.
          type: object
          properties:
            code:
              description: Failure code.
              type: string
              enum:
              - account_closed
              - account_blocked
              - insufficient_funds
              - invalid_account_format
              - invalid_instruction
              - invalid_amount
              - invalid_time
              - duplicate_transaction
              - payee_verification_failed
              - system_error
              - provider_system_error
              - rejected_by_correspondent_bank
              - blocked_by_review
              - unknown
              x-enumNames:
              - ACCOUNT_CLOSED
              - ACCOUNT_BLOCKED
              - INSUFFICIENT_FUNDS
              - INVALID_ACCOUNT_FORMAT
              - INVALID_INSTRUCTION
              - INVALID_AMOUNT
              - INVALID_TIME
              - DUPLICATE_TRANSACTION
              - PAYEE_VERIFICATION_FAILED
              - SYSTEM_ERROR
              - PROVIDER_SYSTEM_ERROR
              - REJECTED_BY_CORRESPONDENT_BANK
              - BLOCKED_BY_REVIEW
              - UNKNOWN
            message:
              description: Human-readable description of the failure.
              type: string
            retry:
              description: Whether the payout can be retried.
              type: boolean
          required:
          - code
          - message
          - retry
          nullable: true
        metadata:
          description: Key-value pairs stored with the payout.
          type: object
          additionalProperties:
            type: string
        created_at:
          description: ISO 8601 UTC timestamp when the payout was created.
          type: string
          format: date-time
        updated_at:
          description: ISO 8601 UTC timestamp when the payout was last updated.
          type: string
          format: date-time
      required:
      - id
      - type
      - status
      - source_account_id
      - amount
      - currency
      - destination
      - reference
      - failure
      - metadata
      - created_at
      - updated_at
  securitySchemes:
    BearerAuth:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: Bearer token for authentication with Augustus Banking API