Copper.co Trades API

The trades API from Copper.co — 19 operation(s) for trades.

OpenAPI Specification

copper-co-trades-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'Copper API is based on the REST API interface provided for data exchange between a client and a server with the use of HTTPS requests and responses.

    By default, the request should include a Content-Type header set as application/json. Some requests require different header fields, as well as other Content-Type values. In this case, a proper header will be stated in an example.

    When interacting with the API, please note that all numerical values, such as order amounts or timestamps, should be transmitted as strings. This ensures consistent data representation and prevents potential issues with floating-point precision'
  title: Copper Platform Trades API
  version: latest
servers:
- description: platform.copper.co
  url: https://api.copper.co/platform
- description: demo.copper.co
  url: https://api.stage.copper.co/platform
- description: testnet.copper.co
  url: https://api.testnet.copper.co/platform
tags:
- name: trades
paths:
  /trades:
    get:
      description: Retrieve a list of trades for the given organization.
      parameters:
      - description: Organization ID to scope the search
        in: query
        name: organizationId
        required: true
        schema:
          type: string
      - description: Filter by trade ID
        in: query
        name: tradeId
        required: false
        schema:
          type: string
      - description: Filter by external trade reference ID
        in: query
        name: tradeReferenceId
        required: false
        schema:
          type: string
      - description: Filter trades with effective date on or after this. Format is unix timestamp (ms)
        in: query
        name: effectiveDateFrom
        required: false
        schema:
          type: string
      - description: Filter trades with effective date on or before this. Format is unix timestamp (ms)
        in: query
        name: effectiveDateTo
        required: false
        schema:
          type: string
      - description: Filter trades with maturity date on or after this. Format is unix timestamp (ms)
        in: query
        name: maturityDateFrom
        required: false
        schema:
          type: string
      - description: Filter trades with maturity date on or before this. Format is unix timestamp (ms)
        in: query
        name: maturityDateTo
        required: false
        schema:
          type: string
      - description: Filter by trade side (buy, sell, not-applicable)
        in: query
        name: tradeSide
        required: false
        schema:
          $ref: '#/components/schemas/TradeSide'
          type: string
      - description: Filter by trade status
        example:
        - active
        in: query
        name: tradeStatus
        required: false
        schema:
          $ref: '#/components/schemas/TradeStatus'
          type: string
      - description: Filter by trade type (forward, option, swap, other, not-applicable)
        example:
        - forward
        in: query
        name: tradeType
        required: false
        schema:
          $ref: '#/components/schemas/TradeType'
          type: string
      - description: Filter by counterparty ID (creator or acceptor)
        in: query
        name: counterpartyId
        required: false
        schema:
          type: string
      - description: When true, includes collateral details in the response
        in: query
        name: includeCollateral
        required: false
        schema:
          type: boolean
      - description: When true, includes counterparty details in the response
        in: query
        name: includeCounterparties
        required: false
        schema:
          type: boolean
      - description: When true, includes trade actions in the response
        in: query
        name: includeTradeActions
        required: false
        schema:
          type: boolean
      - description: When true, includes collateral transactions in the response
        in: query
        name: includeCollateralTransactions
        required: false
        schema:
          type: boolean
      - description: Maximum number of results to return.
        in: query
        name: limit
        required: false
        schema:
          default: '100'
          type: string
      - description: Number of results to skip for pagination
        in: query
        name: offset
        required: false
        schema:
          default: '0'
          type: string
      - description: When true, returns only open trades; when false, returns only closed trades
        in: query
        name: isOpen
        required: false
        schema:
          type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trades'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Get Trades
      tags:
      - trades
    post:
      description: Initiate a new trade. The counterparty will need to accept the trade.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTrade'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Trade'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Create Trade
      tags:
      - trades
  /trades/{acceptClosureTradeId}:
    patch:
      description: Accept a pending trade closure initiated by the counterparty.
      parameters:
      - description: application/vnd.accept-close-trade+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: acceptClosureTradeId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.accept-close-trade+json:
            schema:
              $ref: '#/components/schemas/ActionTrade'
      responses:
        '200':
          content:
            application/vnd.accept-close-trade+json:
              schema:
                $ref: '#/components/schemas/Trade'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Accept Trade Close
      tags:
      - trades
  /trades/{acceptDefaultTradeId}:
    patch:
      description: Accept a pending trade default initiated by the counterparty.
      parameters:
      - description: application/vnd.accept-trade-default+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: acceptDefaultTradeId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.accept-trade-default+json:
            schema:
              $ref: '#/components/schemas/ActionTrade'
      responses:
        '200':
          content:
            application/vnd.accept-trade-default+json:
              schema:
                $ref: '#/components/schemas/Trade'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Accept Trade Default
      tags:
      - trades
  /trades/{acceptTradeId}:
    patch:
      description: Accept a trade. This action can only be carried out by the counterparty.
      parameters:
      - description: application/vnd.accept-trade+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: acceptTradeId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.accept-trade+json:
            schema:
              $ref: '#/components/schemas/AcceptTrade'
      responses:
        '200':
          content:
            application/vnd.accept-trade+json:
              schema:
                $ref: '#/components/schemas/Trade'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Accept Trade
      tags:
      - trades
  /trades/{cancelClosureTradeId}:
    patch:
      description: Cancel a pending trade closure before it has been accepted.
      parameters:
      - description: application/vnd.cancel-close-trade+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: cancelClosureTradeId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.cancel-close-trade+json:
            schema:
              $ref: '#/components/schemas/ActionTrade'
      responses:
        '200':
          content:
            application/vnd.cancel-close-trade+json:
              schema:
                $ref: '#/components/schemas/Trade'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Cancel Trade Close
      tags:
      - trades
  /trades/{cancelCollateralTopUpTradeId}:
    patch:
      description: Cancel a pending collateral top-up request before it has been reviewed.
      parameters:
      - description: application/vnd.cancel-collateral-top-up-request+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: cancelCollateralTopUpTradeId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.cancel-collateral-top-up-request+json:
            schema:
              $ref: '#/components/schemas/CancelTopUpRequest'
      responses:
        '200':
          content:
            application/vnd.cancel-collateral-top-up-request+json:
              schema:
                $ref: '#/components/schemas/Trade'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Cancel Collateral Top-Up Request
      tags:
      - trades
  /trades/{cancelCollateralTradeId}:
    patch:
      description: Cancel a pending collateral release request before it has been reviewed.
      parameters:
      - description: application/vnd.cancel-collateral-release-request+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: cancelCollateralTradeId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.cancel-collateral-release-request+json:
            schema:
              $ref: '#/components/schemas/CancelCollateralReleaseRequest'
      responses:
        '200':
          content:
            application/vnd.cancel-collateral-release-request+json:
              schema:
                $ref: '#/components/schemas/Trade'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Cancel Collateral Release Request
      tags:
      - trades
  /trades/{cancelDefaultTradeId}:
    patch:
      description: Cancel a pending trade default before it has been accepted.
      parameters:
      - description: application/vnd.cancel-trade-default+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: cancelDefaultTradeId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.cancel-trade-default+json:
            schema:
              $ref: '#/components/schemas/ActionTrade'
      responses:
        '200':
          content:
            application/vnd.cancel-trade-default+json:
              schema:
                $ref: '#/components/schemas/Trade'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Cancel Trade Default
      tags:
      - trades
  /trades/{cancelTradeId}:
    patch:
      description: Cancel a trade. Can be initiated by either party before the trade is active.
      parameters:
      - description: application/vnd.cancel-trade+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: cancelTradeId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.cancel-trade+json:
            schema:
              $ref: '#/components/schemas/CancelTrade'
      responses:
        '200':
          content:
            application/vnd.cancel-trade+json:
              schema:
                $ref: '#/components/schemas/Trade'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Cancel Trade
      tags:
      - trades
  /trades/{closeTradeId}:
    patch:
      description: Initiate the closure of an active trade and release collateral.
      parameters:
      - description: application/vnd.close-trade+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: closeTradeId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.close-trade+json:
            schema:
              $ref: '#/components/schemas/CloseTrade'
      responses:
        '200':
          content:
            application/vnd.close-trade+json:
              schema:
                $ref: '#/components/schemas/Trade'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Close Trade
      tags:
      - trades
  /trades/{collateralTopUpTradeId}:
    patch:
      description: Add additional collateral to an active trade.
      parameters:
      - description: application/vnd.top-up-collateral+json
        in: header
        name: Content-Type
        required: false
        schema:
          type: string
      - in: path
        name: collateralTopUpTradeId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/vnd.top-up-collateral+json:
            schema:
              $ref: '#/components/schemas/TopUpTradeCollateral'
      responses:
        '200':
          content:
            application/vnd.top-up-collateral+json:
              schema:
                $ref: '#/components/schemas/Trade'
          description: OK
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - bad-request
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - forbidden
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Forbidden
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: The machine-readable error code
                    examples:
                    - conflict
                    type: string
                  message:
                    description: A human-readable message providing more details about the error
                    type: string
                type: object
          description: Conflict
      summary: Top Up Trade Collateral
      tags:
      - trades
  /trades/{declineTradeId}:
    patch:
 

# --- truncated at 32 KB (78 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/copper-co/refs/heads/main/openapi/copper-co-trades-api-openapi.yml