StoneX Payments API

Payment execution and management.

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/stonex-payments-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 email required.

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

OpenAPI Specification

stonex-payments-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: StoneX Clearing Accounts Payments API
  description: The StoneX Clearing REST API provides programmatic access to accounts, trading, and document management for institutional clearing clients. Uses OAuth 2.0 authentication with JWT tokens (10-hour lifetime). Available in UAT and production environments.
  version: '1.0'
  contact:
    url: https://docs.clearing.stonex.com/
servers:
- url: https://api.clearing.stonex.com
  description: StoneX Clearing Production
- url: https://api.clearing.uat.stonex.com
  description: StoneX Clearing UAT (Test)
security:
- BearerAuth: []
tags:
- name: Payments
  description: Payment execution and management.
paths:
  /payments:
    post:
      operationId: createPayment
      summary: Create Payment
      description: Initiate a cross-border payment in local currency. Supports 140+ currencies and local settlement options globally.
      tags:
      - Payments
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePaymentRequest'
      responses:
        '201':
          description: Payment created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
        '400':
          description: Invalid payment request.
        '401':
          description: Unauthorized.
        '429':
          description: Rate limit exceeded.
    get:
      operationId: listPayments
      summary: List Payments
      description: Retrieve a list of payments with optional filtering.
      tags:
      - Payments
      parameters:
      - name: status
        in: query
        required: false
        schema:
          type: string
          enum:
          - pending
          - processing
          - completed
          - failed
          - cancelled
        description: Filter payments by status.
      - name: currency
        in: query
        required: false
        schema:
          type: string
        description: Filter by payment currency (ISO 4217).
      - name: from_date
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Start of date range filter (ISO 8601).
      - name: to_date
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: End of date range filter (ISO 8601).
      - name: page
        in: query
        required: false
        schema:
          type: integer
        description: Page number for pagination.
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
        description: Number of results per page.
      responses:
        '200':
          description: Payments list returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentList'
        '401':
          description: Unauthorized.
  /payments/{paymentId}:
    get:
      operationId: getPayment
      summary: Get Payment
      description: Retrieve details of a specific payment by ID.
      tags:
      - Payments
      parameters:
      - name: paymentId
        in: path
        required: true
        schema:
          type: string
        description: Unique payment identifier.
      responses:
        '200':
          description: Payment details returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
        '401':
          description: Unauthorized.
        '404':
          description: Payment not found.
components:
  schemas:
    Payment:
      type: object
      properties:
        id:
          type: string
          description: Unique payment identifier.
        status:
          type: string
          enum:
          - pending
          - processing
          - completed
          - failed
          - cancelled
          description: Payment status.
        amount:
          type: number
          description: Payment amount.
        sell_currency:
          type: string
          description: Source currency (ISO 4217).
        buy_currency:
          type: string
          description: Destination currency (ISO 4217).
        exchange_rate:
          type: number
          description: Applied exchange rate.
        buy_amount:
          type: number
          description: Amount received in the destination currency.
        payment_reference:
          type: string
          description: Payment reference.
        created_at:
          type: string
          format: date-time
          description: Payment creation timestamp.
        value_date:
          type: string
          format: date
          description: Settlement value date.
        beneficiary:
          $ref: '#/components/schemas/Beneficiary'
    Beneficiary:
      type: object
      required:
      - name
      - country
      - account_number
      - bank_code
      properties:
        name:
          type: string
          description: Beneficiary name.
        country:
          type: string
          description: Beneficiary country (ISO 3166-1 alpha-2).
        account_number:
          type: string
          description: Beneficiary bank account number or IBAN.
        bank_code:
          type: string
          description: Bank routing code (BIC/SWIFT, ABA, sort code, etc.).
        address:
          type: string
          description: Beneficiary address.
    CreatePaymentRequest:
      type: object
      required:
      - amount
      - sell_currency
      - buy_currency
      - beneficiary
      properties:
        amount:
          type: number
          description: Payment amount.
        sell_currency:
          type: string
          description: Source currency code (ISO 4217).
        buy_currency:
          type: string
          description: Destination currency code (ISO 4217).
        beneficiary:
          $ref: '#/components/schemas/Beneficiary'
        payment_reference:
          type: string
          description: Reference for the payment.
        value_date:
          type: string
          format: date
          description: Desired value date for the payment.
    PaymentList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Payment'
        total:
          type: integer
          description: Total number of payments matching the filter.
        page:
          type: integer
          description: Current page number.
        page_size:
          type: integer
          description: Number of results per page.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: JWT token from /auth/token endpoint. Valid for 10 hours.