OpenAPI Specification
openapi: 3.0.0
info:
title: Palisade Addresses API Credentials 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: API Credentials
description: Used to manage credentials
paths:
/v2/credentials/oauth/token:
post:
summary: Client credentials exchange
description: OAuth client credentials exchange for access token
operationId: CredentialService_ExchangeCredential
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/v2ExchangeCredentialResponse'
'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/v2ExchangeCredentialRequest'
required: true
tags:
- API Credentials
security: []
components:
schemas:
v2ExchangeCredentialRequest:
type: object
properties:
clientId:
type: string
example: jhYMYU4opaGhdsXuebOwQXqV0pZcGuph
description: The client ID
clientSecret:
type: string
example: zjI4XChsnwMh8wvKQG2tVBLUI4k9JittZQGerUfHv0CiqZZ_5MofAfRQ15pnKY-B
description: The client ID
required:
- clientId
- clientSecret
rpcStatus:
type: object
properties:
code:
type: integer
format: int32
message:
type: string
details:
type: array
items:
allOf:
- $ref: '#/components/schemas/protobufAny'
- type: object
protobufAny:
type: object
properties:
'@type':
type: string
additionalProperties: {}
v2ExchangeCredentialResponse:
type: object
properties:
accessToken:
type: string
example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImxBMmpQWDd5NWZTR0tMWDFtMkpucyJ9.eyJodHRwczovL3BhbGlzYWRlLmNvIjp7ImRldmljZUlkIjpudWxsLCJvcmdhbml6YXRpb25JZCI6ImNlNDkxOGJmLWExOTktNGNlMi04NWEzLWQwZDI5Njg1NTM4NCIsInNpZ25hdHVyZVZlcmlmaWNhdGlvbktleSI6bnVsbCwidXNlcklkIjoiYTdkNzI2YTUtZjZlMC00ZmE2LWJiOGUtM2Q5OTNhZjY0MzUxIn0sImlzcyI6Imh0dHBzOi8vcGFsaXNhZGUtZGV2ZWxvcG1lbnQuZXUuYXV0aDAuY29tLyIsInN1YiI6IlVNbWZ5RWNPcnN3Szl4ODJvQWw0ZnpLRjlCTmRheW5KQGNsaWVudHMiLCJhdWQiOiJodHRwczovL2FwaS5wYWxpc2FkZS5jby8iLCJpYXQiOjE3MDQ5ODg0NDQsImV4cCI6MTcwNDk5MjA0NCwiYXpwIjoiVU1tZnlFY09yc3dLOXg4Mm9BbDRmektGOUJOZGF5bkoiLCJzY29wZSI6ImJhbGFuY2VzOnJlYWQ6b3JnOmlkPWNlNDkxOGJmLWExOTktNGNlMi04NWEzLWQwZDI5Njg1NTM4NDoqIiwiZ3R5IjoiY2xpZW50LWNyZWRlbnRpYWxzIiwicGVybWlzc2lvbnMiOlsiYmFsYW5jZXM6cmVhZDpvcmc6aWQ9Y2U0OTE4YmYtYTE5OS00Y2UyLTg1YTMtZDBkMjk2ODU1Mzg0OioiXX0.RdKm2CvCAJYDno4dCdQ-G8k4ia7oHnVFW7O9mrcPhxnBayKPa2kLPcDJbFineU2s_AIlCjp6-1Bx6gOTytNVI4hWpS8ho_QSkQVipDAltq06Lg0N__NYZG11ZaDwlC0MLC2zcTYwIZcHY2_cC5kwOQ5Dc4no_IFCPtU_UbepqXZuj9uJda-9vrLv0zFoKD7bKUQkSaDam7Qvq6J7Q-sKwu_8wZ3tfSLqk53ECLZn4d9sJnsWaXixoQd1s0w5qKDSwjRMLeB8rm2ATAR4r4FayCKrSYgAuaK0heoYS158x69ThtTWZJFi0gPf1yD2DpshiEAFWyv4mMkH7YVs-fi6_x
description: The access token
scope:
type: string
example: balances:read:org:id=ce4918bf-a199-4ce2-85a3-d0d296855384:*
description: The scope
expiresIn:
type: integer
format: int64
example: 3600
description: The expiration time in seconds
tokenType:
type: string
example: Bearer
description: The token type
required:
- accessToken
- scope
- expiresIn
- tokenType
securitySchemes:
TokenAuth:
type: apiKey
name: Authorization
in: header
externalDocs:
description: Click here for the API docs
url: https://palisade.readme.io