Unstoppable Finance (Iron) Autoramp API

Operations on Autoramp

OpenAPI Specification

unstoppable-finance-autoramp-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  description: The Stablecoin Payment Network
  title: Iron API - Sandbox Addresses Autoramp API
  version: 1.0-16988
servers:
- url: https://api.sandbox.iron.xyz/api
tags:
- description: Operations on Autoramp
  name: Autoramp
paths:
  /autoramp-transactions:
    get:
      description: 'Returns a list of transactions, optionally filtered by autoramp ID or customer ID


        An optional `search_term` parameter can be provided that will search the following fields:


        - Bank Account Name

        - Bank Account Provider Name

        - Wallet Address

        - Transaction ID'
      operationId: getAutorampTransactions
      parameters:
      - deprecated: false
        description: Optional sub-partner UUID, if provided, the autoramps will be filtered for the sub-partner
        explode: true
        in: header
        name: X-SUB-PARTNER-ID
        required: false
        schema:
          type: string
      - deprecated: false
        description: Optional autoramp ID
        explode: false
        in: query
        name: autoramp_id
        required: false
        schema:
          default: null
          format: uuid
          type: string
      - deprecated: false
        description: Optional customer ID
        explode: false
        in: query
        name: customer_id
        required: false
        schema:
          default: null
          format: uuid
          type: string
      - deprecated: false
        description: 'Paging: the cursor field from previous page'
        explode: false
        in: query
        name: cursor
        required: false
        schema:
          default: null
          format: uuid
          type: string
      - deprecated: false
        description: 'Paging: the cursor field for backward pagination'
        explode: false
        in: query
        name: prev_cursor
        required: false
        schema:
          default: null
          format: uuid
          type: string
      - deprecated: false
        description: 'Paging: the requested page size'
        explode: false
        in: query
        name: page_size
        required: false
        schema:
          default: 10
          format: uint32
          maximum: 500.0
          type: integer
      - deprecated: false
        description: A search term to filter the transactions (searches bank account name, provider, wallet address, transaction ID, deposit transaction hash)
        explode: false
        in: query
        name: search_term
        required: false
        schema:
          default: null
          maxLength: 256
          type: string
      - deprecated: false
        description: Type of the autoramp (onramp, offramp or crypto-to-crypto swap)
        explode: false
        in: query
        name: ramp_type
        required: false
        schema:
          allOf:
          - $ref: '#/components/schemas/AutorampType'
          - default: null
          default: null
      - deprecated: false
        description: Filter by start date (inclusive). Only transactions created on or after this date will be returned.
        explode: false
        in: query
        name: from_date
        required: false
        schema:
          default: null
          format: date-time
          type: string
      - deprecated: false
        description: Filter by end date (inclusive). Only transactions created on or before this date will be returned.
        explode: false
        in: query
        name: to_date
        required: false
        schema:
          default: null
          format: date-time
          type: string
      - deprecated: false
        description: Filter by transaction status. Multiple statuses can be provided as comma-separated values.
        explode: false
        in: query
        name: status
        required: false
        schema:
          default: null
          items:
            $ref: '#/components/schemas/AutorampTransactionStatus'
          type: array
      - deprecated: false
        description: Sort order for results. "asc" for oldest first, "desc" for newest first (default).
        explode: false
        in: query
        name: sort_order
        required: false
        schema:
          allOf:
          - $ref: '#/components/schemas/SortOrder'
          - default: null
          default: null
      - deprecated: false
        description: Filter by batch payout flag. If true, only batch payout transactions are returned. If false, only non-batch payout. If omitted, all transactions are returned.
        explode: false
        in: query
        name: is_batch_payout
        required: false
        schema:
          default: null
          type: boolean
      - $ref: '#/components/parameters/XApiVersion'
      responses:
        '200':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/PagedList_AutorampTransaction'
          description: Autoramp Transaction List
        '400':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Bad Request
        '401':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Unauthorized
        '500':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Error
      security:
      - ApiKeyAuth: []
      summary: List autoramp transactions
      tags:
      - Autoramp
  /autoramp-transactions/ids:
    get:
      description: 'Return a subset of transactions by ID.

        This can be used to query multiple transactions for updated states without having to go through all transactions.


        You have to provide at least one transaction ID


        Returns at most 100 transactions'
      operationId: getAutorampTransactionsByIds
      parameters:
      - deprecated: false
        description: Ids of the transactions to get
        explode: false
        in: query
        name: ids
        required: false
        schema:
          default: []
          items:
            format: uuid
            type: string
          type: array
      - $ref: '#/components/parameters/XApiVersion'
      responses:
        '200':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/PagedList_AutorampTransaction'
          description: Autoramp Transaction List
        '400':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Bad Request
        '401':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Unauthorized
        '500':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Error
      security:
      - ApiKeyAuth: []
      summary: Get autoramp transactions by transaction IDs
      tags:
      - Autoramp
  /autoramps:
    get:
      description: 'Returns a paginated list of autoramps for all customers


        If customer ID is provided, returns all autoramps for the specified customer


        If status is provided, returns all autoramps with the specified status'
      operationId: getAutoramps
      parameters:
      - deprecated: false
        description: Optional sub-partner UUID, if provided, the autoramps will be filtered for the sub-partner
        explode: true
        in: header
        name: X-SUB-PARTNER-ID
        required: false
        schema:
          type: string
      - deprecated: false
        description: The optional Customer ID to filter autoramps by. If not provided, returns autoramps for all customers
        explode: false
        in: query
        name: customer_id
        required: false
        schema:
          default: null
          format: uuid
          type: string
      - deprecated: false
        description: Filter by autoramp status. Multiple statuses can be provided as comma-separated values.
        explode: false
        in: query
        name: status
        required: false
        schema:
          default: null
          items:
            $ref: '#/components/schemas/AutorampStatus'
          type: array
      - deprecated: false
        description: autoramp type filter
        explode: true
        in: query
        name: autoramp_type
        required: false
        schema:
          $ref: '#/components/schemas/AutorampType'
      - deprecated: false
        description: 'Paging: the cursor field from previous page'
        explode: false
        in: query
        name: cursor
        required: false
        schema:
          default: null
          format: uuid
          type: string
      - deprecated: false
        description: 'Paging: the cursor field for backward pagination'
        explode: false
        in: query
        name: prev_cursor
        required: false
        schema:
          default: null
          format: uuid
          type: string
      - deprecated: false
        description: 'Paging: the requested page size'
        explode: false
        in: query
        name: page_size
        required: false
        schema:
          default: 10
          format: uint32
          maximum: 100.0
          type: integer
      - deprecated: false
        description: Sort order for results. "asc" for oldest first, "desc" for newest first (default).
        explode: false
        in: query
        name: sort_order
        required: false
        schema:
          allOf:
          - $ref: '#/components/schemas/SortOrder'
          - default: null
          default: null
      - deprecated: false
        description: Filter by batch payout flag. If true, only batch payout autoramps are returned. If false, only non-batch payout. If omitted, all autoramps are returned.
        explode: false
        in: query
        name: is_batch_payout
        required: false
        schema:
          default: null
          type: boolean
      - deprecated: false
        description: Filter by autoramp source. "Standalone" returns only market autoramps (with no attached quotes). "Quote" returns only autoramps with at least one attached quote. If omitted, all sources are returned.
        explode: true
        in: query
        name: source
        required: false
        schema:
          $ref: '#/components/schemas/AutorampSource'
      - $ref: '#/components/parameters/XApiVersion'
      responses:
        '200':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/PagedList_Autoramp'
          description: Get autoramps successful
        '401':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Unauthorized
        '403':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Forbidden
        '404':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Not Found
        '500':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Error
      security:
      - ApiKeyAuth: []
      summary: List Autoramps for a Customer
      tags:
      - Autoramp
    post:
      description: Creates a new autoramp, with a specified recipient account, source and destination currency
      operationId: createAutoramp
      parameters:
      - deprecated: false
        description: a UUID ensuring an Autoramp operation is only processed once
        explode: true
        in: header
        name: IDEMPOTENCY-KEY
        required: true
        schema:
          type: string
      - deprecated: false
        description: Optional sub-partner UUID, if provided, the autoramp will be created for the sub-partner
        explode: true
        in: header
        name: X-SUB-PARTNER-ID
        required: false
        schema:
          type: string
      - $ref: '#/components/parameters/XApiVersion'
      requestBody:
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/CreateAutoramp'
        description: The request parameters for creating an autoramp
        required: true
      responses:
        '201':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Autoramp'
          description: Create autoramp successful
        '400':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Bad Request
        '401':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Unauthorized
        '403':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Forbidden (e.g. customer is suspended)
        '404':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Not Found
        '422':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Unprocessable Content
        '500':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Error
      security:
      - ApiKeyAuth: []
      summary: Create a new Autoramp
      tags:
      - Autoramp
  /autoramps/check-limit:
    get:
      description: Checks if a customer has reached their limit for creating new autoramps based on the deposit account type and whether it's a third-party ramp.
      operationId: checkAutorampLimit
      parameters:
      - deprecated: false
        description: The customer ID
        explode: true
        in: query
        name: customer_id
        required: true
        schema:
          format: uuid
          type: string
      - deprecated: false
        description: The type of deposit account intended (e.g., Iban, Wallet)
        explode: true
        in: query
        name: deposit_account_type
        required: true
        schema:
          $ref: '#/components/schemas/DepositAccountType'
      - deprecated: false
        description: Whether the intended autoramp is for a third party
        explode: true
        in: query
        name: is_third_party
        required: true
        schema:
          type: boolean
      - $ref: '#/components/parameters/XApiVersion'
      responses:
        '200':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiCanCreateAutorampResponse'
          description: Check successful
        '401':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Unauthorized
        '404':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Not Found
        '500':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Error
      security:
      - ApiKeyAuth: []
      summary: Check if a customer can create more autoramps
      tags:
      - Autoramp
  /autoramps/payments/open-banking/{payment_id}:
    get:
      description: 'Get the autoramp open banking payment for a given autoramp

        '
      operationId: getAutorampOpenBankingPayment
      parameters:
      - deprecated: false
        description: The payment ID
        explode: false
        in: path
        name: payment_id
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/XApiVersion'
      responses:
        '201':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiAutorampOpenBankingPayment'
          description: Create autoramp successful
        '400':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Bad Request
        '401':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Unauthorized
        '404':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Not Found
        '500':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Error
      security:
      - ApiKeyAuth: []
      summary: Get the autoramp open banking payment for existing payment
      tags:
      - Autoramp
  /autoramps/quote:
    get:
      description: Get a quote for an autoramp with fixed conversion rate, exact amount out or amount in
      operationId: getAutorampQuote
      parameters:
      - deprecated: false
        description: Optional sub-partner UUID, if provided, the autoramps will be filtered for the sub-partner
        explode: true
        in: header
        name: X-SUB-PARTNER-ID
        required: false
        schema:
          type: string
      - deprecated: false
        description: 'The parameters for the quote

          The customer id'
        explode: true
        in: query
        name: customer_id
        required: true
        schema:
          format: uuid
          type: string
      - deprecated: false
        description: The source currency code
        explode: true
        in: query
        name: source_currency_code
        required: true
        schema:
          maxLength: 32
          type: string
      - deprecated: false
        description: The source currency chain
        explode: true
        in: query
        name: source_currency_chain
        required: false
        schema:
          $ref: '#/components/schemas/Blockchain'
      - deprecated: false
        description: The destination currency code
        explode: true
        in: query
        name: destination_currency_code
        required: true
        schema:
          maxLength: 32
          type: string
      - deprecated: false
        description: The destination currency chain
        explode: true
        in: query
        name: destination_currency_chain
        required: false
        schema:
          $ref: '#/components/schemas/Blockchain'
      - deprecated: false
        description: 'The recipient account ID (fiat_address or verified_crypto_address ID)

          Use this parameter instead of recipient_account. This is the preferred way to provide the recipient account and will be used if both are provided.'
        explode: true
        in: query
        name: recipient_account_id
        required: false
        schema:
          default: null
          format: uuid
          type: string
      - deprecated: true
        description: '**DEPRECATED**: The recipient account, either a fiat iban or a crypto wallet address

          Use recipient_account_id instead'
        explode: true
        in: query
        name: recipient_account
        required: false
        schema:
          default: null
          maxLength: 256
          type: string
      - deprecated: false
        description: The source amount
        explode: true
        in: query
        name: amount_in
        required: false
        schema:
          default: null
          format: decimal
          type: string
      - deprecated: false
        description: The destination amount
        explode: true
        in: query
        name: amount_out
        required: false
        schema:
          default: null
          format: decimal
          type: string
      - deprecated: false
        description: The rate lock duration in minutes
        explode: true
        in: query
        name: rate_lock_duration_minutes
        required: false
        schema:
          default: null
          format: int64
          type: integer
      - deprecated: false
        description: The rate expiry policy
        explode: true
        in: query
        name: rate_expiry_policy
        required: true
        schema:
          $ref: '#/components/schemas/RateExpiryPolicy'
      - deprecated: false
        description: The slippage tolerance in bips
        explode: true
        in: query
        name: slippage_tolerance_in_bips
        required: false
        schema:
          default: null
          format: decimal
          type: string
      - deprecated: false
        description: The autoramp expiry time in hours. Maximum is 24 hours. It is limited to rate lock duration if rate expiry policy is Return
        explode: true
        in: query
        name: expiry_in_hours
        required: true
        schema:
          format: int64
          type: integer
      - deprecated: false
        description: Is this a third party autoramp
        explode: true
        in: query
        name: is_third_party
        required: true
        schema:
          type: boolean
      - deprecated: false
        description: Sender Account Number is required when the source currency is African & payment type is Bank transfer
        explode: true
        in: query
        name: sender_account_number
        required: false
        schema:
          default: null
          maxLength: 256
          type: string
      - deprecated: false
        description: Sender Mobile Number is required when the source currency is African & payment type is Mobile Money
        explode: true
        in: query
        name: sender_mobile_number
        required: false
        schema:
          default: null
          maxLength: 256
          type: string
      - deprecated: false
        description: Sender Account Financial Institution/Bank is required when the source currency is African
        explode: true
        in: query
        name: sender_bank
        required: false
        schema:
          $ref: '#/components/schemas/Bank'
      - deprecated: false
        description: The external id
        explode: true
        in: query
        name: external_id
        required: false
        schema:
          default: null
          type: string
      - deprecated: false
        description: wire_message
        explode: true
        in: query
        name: wire_message
        required: false
        schema:
          default: null
          type: string
      - deprecated: false
        description: swift_payment_reference
        explode: true
        in: query
        name: swift_payment_reference
        required: false
        schema:
          default: null
          type: string
      - deprecated: false
        description: sepa_payment_reference
        explode: true
        in: query
        name: sepa_payment_reference
        required: false
        schema:
          default: null
          type: string
      - deprecated: false
        description: ach_payment_reference
        explode: true
        in: query
        name: ach_payment_reference
        required: false
        schema:
          default: null
          type: string
      - deprecated: false
        description: fps_payment_reference
        explode: true
        in: query
        name: fps_payment_reference
        required: false
        schema:
          default: null
          type: string
      - deprecated: false
        description: The fee profile id to use for the autoramp
        explode: true
        in: query
        name: fee_profile_id
        required: false
        schema:
          default: null
          format: uuid
          type: string
      - deprecated: false
        description: Whether payouts for this autoramp are batched daily
        explode: true
        in: query
        name: batch_payout
        required: false
        schema:
          default: null
          type: boolean
      - deprecated: false
        description: 'Additional input currency codes to allow on the autoramp beyond

          `source_currency_code`. Used to enable later per-currency quotes via

          `POST /autoramps/:id/quotes` on a quote-type autoramp.


          Must have the same length as `additional_in_currency_chains` and be

          index-aligned: the chain at position `i` describes the code at

          position `i`.'
        explode: false
        in: query
        name: additional_in_currency_codes
        required: false
        schema:
          default: []
          items:
            type: string
          maxItems: 16
          type: array
      - deprecated: false
        description: 'Chains for each entry in `additional_in_currency_codes`, index-aligned.

          Must have the same length as `additional_in_currency_codes`.'
        explode: false
        in: query
        name: additional_in_currency_chains
        required: false
        schema:
          default: []
          items:
            $ref: '#/components/schemas/Blockchain'
          maxItems: 16
          type: array
      - deprecated: false
        description: 'If true, a payment reference will be generated for the autoramp on

          inbound matching (pay-by-reference). Defaults to false if not provided.'
        explode: true
        in: query
        name: pay_by_reference
        required: false
        schema:
          default: null
          type: boolean
      - $ref: '#/components/parameters/XApiVersion'
      responses:
        '200':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/SignedAutorampQuote'
          description: Get Quote successful
        '400':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Bad Request
        '401':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Unauthorized
        '403':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Forbidden
        '404':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Not Found
        '500':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Error
      security:
      - ApiKeyAuth: []
      summary: Get a quote for an autoramp
      tags:
      - Autoramp
  /autoramps/quotes-preview:
    get:
      description: 'Price a prospective autoramp knowing only the currencies — before a recipient

        wallet or bank account is selected. Prices identically to `getAutorampQuote`;

        banking fees assume the destination currency''s default payout rail (USD→ACH,

        EUR→SEPA, GBP→FPS; see `assumed_payout_rail` in the response). The result is an

        estimate and cannot be submitted; fetch a signed quote once a recipient is chosen.'
      operationId: getAutorampQuotePreview
      parameters:
      - deprecated: false
        description: Optional sub-partner UUID, if provided, the quote preview is scoped to the sub-partner
        explode: true
        in: header
        name: X-SUB-PARTNER-ID
        required: false
        schema:
          type: string
      - deprecated: false
        description: The customer id
        explode: true
        in: query
        name: customer_id
        required: true
        schema:
          format: uuid
          type: string
      - deprecated: false
        description: The source currency code
        explode: true
        in: query
        name: source_currency_code
        required: true
        schema:
          maxLength: 32
          type: string
      - deprecated: false
        description: The source currency chain
        explode: true
        in: query
        name: source_currency_chain
        required: false
        schema:
          $ref: '#/components/schemas/Blockchain'
      - deprecated: false
        description: The destination currency code
        explode: true
        in: query
        name: destination_currency_code
        required: true
        schema:
          maxLength: 32
          type: string
      - deprecated: false
        description: The destination currency chain
        explode: true
        in: query
        name: destination_currency_chain
        required: false
        schema:
          $ref: '#/components/schemas/Blockchain'
      - deprecated: false
        description: The source amount. Provide exactly one of amount_in / amount_out.
        explode: true
        in: query
        name: amount_in
        required: false
        schema:
          default: null
          format: decimal
          type: string
      - deprecated: false
        description: The destination amount. Provide exactly one of amount_in / amount_out.
        explode: true
        in: query
        name: amount_out
        required: false
        schema:
          default: null
          format: decimal
          type: string
      - deprecated: false
        description: Price against this fee profile; resolved automatically when omitted
        explode: true
        in: query
        name: fee_profile_id
        required: false
        schema:
          default: null
          format: uuid
          type: string
      - deprecated: false
        description: Is this a third party autoramp (defaults to false)
        explode: true
        in: query
        name: is_third_party
        required: false
        schema:
          default: null
          type: boolean
      - $ref: '#/components/parameters/XApiVersion'
      responses:
        '200':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiAutorampQuotePreview'
          description: Preview successful
        '400':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Bad Request
        '401':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Unauthorized
        '403':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Forbidden
        '404':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Not Found
        '500':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Error
      security:
      - ApiKeyAuth: []
      summary: Get autoramp quote preview
      tags:
      - Autoramp
  /autoramps/{autoramp_id}:
    delete:
      description: Cancel the execution of an autoramp. After this, the given autoramp will not perform any transactions anymore.
      operationId: cancelAutoramp
      parameters:
      - deprecated: false
        description: The autoramp ID
        explode: false
        in: path
        name: autoramp_id
        required: true
        schema:
          format: uuid
          type: string
      - $ref: '#/components/parameters/XApiVersion'
      responses:
        '204':
          description: Autoramp cancelled successfully
        '401':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Unauthorized
        '404':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Not Found
        '500':
      

# --- truncated at 32 KB (138 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/unstoppable-finance/refs/heads/main/openapi/unstoppable-finance-autoramp-api-openapi.yml