Currencycloud Authenticate API
Authenticate to gain access to the API. Log in to your Currencycloud account using your API Key and log out to terminate your session.
Authenticate to gain access to the API. Log in to your Currencycloud account using your API Key and log out to terminate your session.
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/currencycloud-authenticate-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: The Currencycloud API is a robust, predictable, easy-to-use API for converting money between currencies and making payments around the world. Dynamically register sub-accounts to provide white labeled money transfer services to your own customers.
version: 2.43.0
title: Currencycloud Authenticate API
termsOfService: https://www.currencycloud.com/terms-and-conditions/
contact:
name: support
email: support@currencycloud.com
servers:
- url: https://devapi.currencycloud.com/v2
tags:
- name: Authenticate
description: Authenticate to gain access to the API. Log in to your Currencycloud account using your API Key and log out to terminate your session.
paths:
/authenticate/api:
post:
tags:
- Authenticate
x-api-group: manage
summary: Login
description: 'Authenticates and authorizes a user to the Currencycloud API.
Submit a login ID and API key for a Currencycloud account, you can register for and API key here. A temporary authentication token is returned following a succesful login.
The authentication token is required to make requests to all other endpoints in the Currencycloud API. Tokens expire after 30 minutes of inactivity.
Token requests are limited to 60 calls per minute.
For security, Currencycloud accounts are disabled when four unsuccessful login attempts are made within a short period. In these circumstances, account holders must contact support to reactivate their account.'
operationId: Login
responses:
'200':
description: Success.
headers:
X-Request-Id:
description: A unique reference for the request.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationToken'
'400':
description: Client error.
x-errors:
- code: login_id_is_required
category: login_id
message: login_id is required
params: ''
- code: login_id_is_too_short
category: login_id
message: login_id can not be shorter than 1 character(s)
params: '{ "minlength" => 1 }'
- code: login_id_is_too_long
category: login_id
message: login_id can not be longer than 255 character(s)
params: '{ "maxlength" => 255 }'
- code: api_key_is_required
category: api_key
message: api_key is required
params: ''
- code: api_key_length_is_invalid
category: api_key
message: api_key should be 64 character(s) long
params: '{ "length" => 64 }'
headers:
X-Request-Id:
description: A unique reference for the request.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/LoginError'
'404':
description: Resource not found.
headers:
X-Request-Id:
description: A unique reference for the request.
schema:
type: string
'429':
description: Too many requests.
x-errors:
- code: too_many_requests
category: base
message: Too many requests have been made to the api. Please refer to the Developer Center for more information
params: ''
headers:
X-Request-Id:
description: A unique reference for the request.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/RateLimitError'
'500':
description: Internal server error
x-errors:
- code: internal_server_error
category: base
message: Internal server error
params: ''
headers:
X-Request-Id:
description: A unique reference for the request.
schema:
type: string
'503':
description: Service is temporarily unavailable
x-errors:
- code: service_unavailable
category: base
message: Service is temporarily unavailable
params: ''
headers:
X-Request-Id:
description: A unique reference for the request.
schema:
type: string
default:
description: Unexpected error.
headers:
X-Request-Id:
description: A unique reference for the request.
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
login_id:
type: string
maxLength: 50
minLength: 1
description: The login ID for a Currencycloud account, this is usually an email address.
api_key:
type: string
pattern: ^[a-f0-9]{64}$
description: The unique API key for the Currencycloud account.
required:
- login_id
- api_key
/authenticate/close_session:
post:
tags:
- Authenticate
x-api-group: manage
summary: Logout
description: Authentication tokens expire automatically after 30 minutes of inactivity. If a session is no longer required, it is good security practice to retire its authentication token early rather than leave it to time out.
operationId: Logout
parameters:
- name: X-Auth-Token
in: header
required: true
description: Authentication token
schema:
type: string
minLength: 32
responses:
'200':
description: Success. A 200 response with an empty payload signifies that the authentication token is successfully retired.
headers:
X-Request-Id:
description: A unique reference for the request.
schema:
type: string
'401':
description: Unauthorized.
x-errors:
- code: invalid_supplied_credentials
category: username
message: Authentication failed with the supplied credentials
params: ''
headers:
X-Request-Id:
description: A unique reference for the request.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedError'
'404':
description: Resource not found.
headers:
X-Request-Id:
description: A unique reference for the request.
schema:
type: string
'429':
description: Too many requests.
x-errors:
- code: too_many_requests
category: base
message: Too many requests have been made to the api. Please refer to the Developer Center for more information
params: ''
headers:
X-Request-Id:
description: A unique reference for the request.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/RateLimitError'
'500':
description: Internal server error
x-errors:
- code: internal_server_error
category: base
message: Internal server error
params: ''
headers:
X-Request-Id:
description: A unique reference for the request.
schema:
type: string
'503':
description: Service is temporary unavailable
x-errors:
- code: service_unavailable
category: base
message: Service is temporarily unavailable
params: ''
headers:
X-Request-Id:
description: A unique reference for the request.
schema:
type: string
default:
description: Unexpected error.
headers:
X-Request-Id:
description: A unique reference for the request.
schema:
type: string
components:
schemas:
UnauthorizedError:
type: object
description: Authorization error.
required:
- error_code
- error_messages
properties:
error_code:
type: string
description: A high-level error code for the whole request.
enum:
- auth_failed
error_messages:
type: object
description: Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed.
additionalProperties:
type: array
items:
type: object
description: An object that represents one of the reasons why the input parameter failed.
required:
- code
- message
properties:
code:
type: string
description: A unique code that identifies this error. It can be used for translations.
message:
type: string
description: An explanation of the error in English.
params:
type: object
default: {}
description: Relevant validation rules that failed. This can be used for translations.
example:
minlength: 1
maxlength: 255
example:
error_code: auth_failed
error_messages:
api_key:
- code: invalid_supplied_credentials
message: Authentication failed with the supplied credentials
params: {}
LoginError:
type: object
description: 'Login error.
'
required:
- error_code
- error_messages
properties:
error_code:
type: string
description: A high-level error code for the whole request.
error_messages:
type: object
description: Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed.
additionalProperties:
type: array
items:
type: object
description: An object that represents one of the reasons why the input parameter failed.
required:
- code
- message
properties:
code:
type: string
description: A unique code that identifies this error. It can be used for translations.
message:
type: string
description: An explanation of the error in English.
params:
type: object
default: {}
description: Relevant validation rules that failed. This can be used for translations.
example:
minlength: 1
maxlength: 255
example:
error_code: auth_invalid_user_login_details
error_messages:
api_key:
- code: api_key_length_is_invalid
message: api_key should be 64 character(s) long
params:
length: 64
RateLimitError:
type: object
description: Too many requests.
required:
- error_code
- error_messages
properties:
error_code:
type: string
description: A high-level error code for the whole request.
error_messages:
type: object
description: Detailed error information for individual input parameters that failed validation. Object keys are the names of the invalid input parameters. Each parameter may have one or more reasons why it failed.
additionalProperties:
type: array
items:
type: object
description: An object that represents one of the reasons why the input parameter failed.
required:
- code
- message
properties:
code:
type: string
description: A unique code that identifies this validation/error.
message:
type: string
description: An explanation of the error in English.
params:
type: object
default: {}
description: Relevant validation rules that failed. This can be used for translations.
example:
minlength: 1
maxlength: 255
AuthenticationToken:
type: object
description: Authentication token
properties:
auth_token:
type: string
description: Currently a randomly-generated 32-digit authentication token. Clients must store this securely and destroy it when it is no longer needed.
example:
auth_token: 043cc6069f5e32757647641460d1d5ed
externalDocs:
description: API overview
url: https://www.currencycloud.com/developers/