Copper.co Trades API
The trades API from Copper.co — 19 operation(s) for trades.
The trades API from Copper.co — 19 operation(s) for trades.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/copper-co-trades-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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