Ripple Labs Counterparties API
Used to manage counterparties
Used to manage counterparties
openapi: 3.0.0
info:
title: Palisade Addresses Counterparties API
description: The Palisade API enables programmatic interaction with the various features of the Palisade platform
version: '2.0'
servers:
- url: https://api.sandbox.palisade.co
description: Sandbox server (uses TESTNET data, private keys and accounts)
- url: https://api.palisade.co
description: Palisade server (uses MAINNET data, private keys and accounts)
security:
- TokenAuth: []
tags:
- name: Counterparties
description: Used to manage counterparties
paths:
/v2/counterparties:
get:
summary: List counterparties
description: List counterparties
operationId: CounterpartyService_ListCounterparties
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/v2ListCounterpartiesResponse'
'400':
description: Returned when the request is malformed or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: 'validation error: - name: value length must be at least 1 characters [string.min_len].'
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'401':
description: Returned when the request was unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authorization requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'403':
description: Returned when the request was forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authentication requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'404':
description: Returned when the resource does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The resource does not exist.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: pageSize
description: The number of results to return per page (default 50, max 1000)
in: query
required: false
schema:
type: integer
format: int32
- name: pageToken
description: The token to retrieve the next page of results
in: query
required: false
schema:
type: string
- name: pagination.pageSize
description: Number of results per page (default 50, max 1000)
in: query
required: false
schema:
type: integer
format: int32
- name: pagination.pageToken
description: Token for pagination from previous response
in: query
required: false
schema:
type: string
- name: pagination.orderBy
description: Field to order results by
in: query
required: false
schema:
type: string
- name: pagination.order
description: Sort order (ASC or DESC)
in: query
required: false
schema:
type: string
enum:
- SORT_ORDER_ASC
- SORT_ORDER_DESC
- name: filter.id.eq
description: Exact match
in: query
required: false
schema:
type: string
- name: filter.id.notEq
description: Not equal to
in: query
required: false
schema:
type: string
- name: filter.id.contains
description: Contains substring (case-insensitive)
in: query
required: false
schema:
type: string
- name: filter.id.startsWith
description: Starts with prefix (case-insensitive)
in: query
required: false
schema:
type: string
- name: filter.id.endsWith
description: Ends with suffix (case-insensitive)
in: query
required: false
schema:
type: string
- name: filter.id.in
description: Value is in the list
in: query
required: false
explode: true
schema:
type: array
items:
type: string
- name: filter.id.notIn
description: Value is not in the list
in: query
required: false
explode: true
schema:
type: array
items:
type: string
- name: filter.id.isNull
description: Check if field is null
in: query
required: false
schema:
type: boolean
- name: filter.name.eq
description: Exact match
in: query
required: false
schema:
type: string
- name: filter.name.notEq
description: Not equal to
in: query
required: false
schema:
type: string
- name: filter.name.contains
description: Contains substring (case-insensitive)
in: query
required: false
schema:
type: string
- name: filter.name.startsWith
description: Starts with prefix (case-insensitive)
in: query
required: false
schema:
type: string
- name: filter.name.endsWith
description: Ends with suffix (case-insensitive)
in: query
required: false
schema:
type: string
- name: filter.name.in
description: Value is in the list
in: query
required: false
explode: true
schema:
type: array
items:
type: string
- name: filter.name.notIn
description: Value is not in the list
in: query
required: false
explode: true
schema:
type: array
items:
type: string
- name: filter.name.isNull
description: Check if field is null
in: query
required: false
schema:
type: boolean
- name: filter.description.eq
description: Exact match
in: query
required: false
schema:
type: string
- name: filter.description.notEq
description: Not equal to
in: query
required: false
schema:
type: string
- name: filter.description.contains
description: Contains substring (case-insensitive)
in: query
required: false
schema:
type: string
- name: filter.description.startsWith
description: Starts with prefix (case-insensitive)
in: query
required: false
schema:
type: string
- name: filter.description.endsWith
description: Ends with suffix (case-insensitive)
in: query
required: false
schema:
type: string
- name: filter.description.in
description: Value is in the list
in: query
required: false
explode: true
schema:
type: array
items:
type: string
- name: filter.description.notIn
description: Value is not in the list
in: query
required: false
explode: true
schema:
type: array
items:
type: string
- name: filter.description.isNull
description: Check if field is null
in: query
required: false
schema:
type: boolean
- name: filter.type
description: Filter by counterparty type
in: query
required: false
schema:
type: string
enum:
- ORGANIZATION
- INDIVIDUAL
- DAPP
- name: filter.createdAt.eq
description: Exact timestamp match
in: query
required: false
schema:
type: string
format: date-time
- name: filter.createdAt.notEq
description: Not equal to timestamp
in: query
required: false
schema:
type: string
format: date-time
- name: filter.createdAt.before
description: Before this timestamp
in: query
required: false
schema:
type: string
format: date-time
- name: filter.createdAt.after
description: After this timestamp
in: query
required: false
schema:
type: string
format: date-time
- name: filter.createdAt.gte
description: Greater than or equal to timestamp
in: query
required: false
schema:
type: string
format: date-time
- name: filter.createdAt.lte
description: Less than or equal to timestamp
in: query
required: false
schema:
type: string
format: date-time
- name: filter.createdAt.between.start
description: Start of time range (inclusive)
in: query
required: false
schema:
type: string
format: date-time
- name: filter.createdAt.between.end
description: End of time range (inclusive)
in: query
required: false
schema:
type: string
format: date-time
- name: filter.createdAt.isNull
description: Check if field is null
in: query
required: false
schema:
type: boolean
- name: filter.createdAt.relativeDays
description: Relative days from now (negative for past, positive for future)
in: query
required: false
schema:
type: integer
format: int32
- name: filter.updatedAt.eq
description: Exact timestamp match
in: query
required: false
schema:
type: string
format: date-time
- name: filter.updatedAt.notEq
description: Not equal to timestamp
in: query
required: false
schema:
type: string
format: date-time
- name: filter.updatedAt.before
description: Before this timestamp
in: query
required: false
schema:
type: string
format: date-time
- name: filter.updatedAt.after
description: After this timestamp
in: query
required: false
schema:
type: string
format: date-time
- name: filter.updatedAt.gte
description: Greater than or equal to timestamp
in: query
required: false
schema:
type: string
format: date-time
- name: filter.updatedAt.lte
description: Less than or equal to timestamp
in: query
required: false
schema:
type: string
format: date-time
- name: filter.updatedAt.between.start
description: Start of time range (inclusive)
in: query
required: false
schema:
type: string
format: date-time
- name: filter.updatedAt.between.end
description: End of time range (inclusive)
in: query
required: false
schema:
type: string
format: date-time
- name: filter.updatedAt.isNull
description: Check if field is null
in: query
required: false
schema:
type: boolean
- name: filter.updatedAt.relativeDays
description: Relative days from now (negative for past, positive for future)
in: query
required: false
schema:
type: integer
format: int32
- name: search
description: Case-insensitive search over counterparty ID, name, description, and counterparty details.
in: query
required: false
schema:
type: string
tags:
- Counterparties
post:
summary: Create counterparties
description: Create a new counterparty
operationId: CounterpartyService_CreateCounterparty
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/v2Counterparty'
'400':
description: Returned when the request is malformed or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: 'validation error: - name: value length must be at least 1 characters [string.min_len].'
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'401':
description: Returned when the request was unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authorization requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'403':
description: Returned when the request was forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authentication requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'404':
description: Returned when the resource does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The resource does not exist.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/v2CreateCounterpartyRequest'
required: true
tags:
- Counterparties
/v2/counterparties/{id}:
get:
summary: Get counterparties
description: Get a counterparty
operationId: CounterpartyService_GetCounterparty
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/v2Counterparty'
'400':
description: Returned when the request is malformed or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: 'validation error: - name: value length must be at least 1 characters [string.min_len].'
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'401':
description: Returned when the request was unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authorization requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'403':
description: Returned when the request was forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authentication requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'404':
description: Returned when the resource does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The resource does not exist.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: id
description: The counterparty ID
in: path
required: true
schema:
type: string
tags:
- Counterparties
delete:
summary: Delete counterparties
description: Delete a counterparty
operationId: CounterpartyService_DeleteCounterparty
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/v2DeleteCounterpartyResponse'
'400':
description: Returned when the request is malformed or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: 'validation error: - name: value length must be at least 1 characters [string.min_len].'
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'401':
description: Returned when the request was unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authorization requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'403':
description: Returned when the request was forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authentication requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'404':
description: Returned when the resource does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The resource does not exist.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: id
description: The counterparty ID
in: path
required: true
schema:
type: string
tags:
- Counterparties
put:
summary: Update counterparties
description: Update a counterparty
operationId: CounterpartyService_UpdateCounterparty
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/v2Counterparty'
'400':
description: Returned when the request is malformed or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: 'validation error: - name: value length must be at least 1 characters [string.min_len].'
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'401':
description: Returned when the request was unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authorization requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'403':
description: Returned when the request was forbidden.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authentication requirements.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'404':
description: Returned when the resource does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The resource does not exist.
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: id
description: The counterparty ID
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
example: Palisade
description: The counterparty name
description:
type: string
example: A counterparty used by the treasury department
description: The counterparty description
required:
- name
required: true
tags:
- Counterparties
/v2/counterparties:list:
post:
summary: List counterparties
description: List counterparties
operationId: CounterpartyService_ListCounterparties2
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/v2ListCounterpartiesResponse'
'400':
description: Returned when the request is malformed or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: 'validation error: - name: value length must be at least 1 characters [string.min_len].'
details:
- '@type': type.googleapis.com/google.rpc.ErrorInfo
reason: PAL000.000
domain: app.development.palisade.co/api
metadata: {}
- '@type': type.googleapis.com/google.rpc.RequestInfo
requestId: c817569e-b765-4e6e-a3af-bdb1d07e7517
servingData: ''
'401':
description: Returned when the request was unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
examples:
response:
value:
code: 123
message: The access token provided does not meet the authorization requirements.
# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ripple-labs/refs/heads/main/openapi/ripple-labs-counterparties-api-openapi.yml