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.
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