openapi: 3.1.0
info:
title: Coinme Crypto-as-a-Service AuthLinkResult Order Template API
version: '1.2'
description: 'Coinme Crypto-as-a-Service (CaaS) API. Harvested from provider-published per-endpoint OpenAPI blocks at docs.coinme.com/reference. Modular crypto infrastructure: KYC onboarding, quotes, buy/sell orders, wallets, sends, cash on/off-ramp, payment methods, and webhooks.'
servers:
- url: https://caas.coinme.com/services
description: production
- url: https://caas-staging.coinme.com/services
description: staging
tags:
- name: Order Template
paths:
/order-template:
post:
summary: Generate Order Template
description: Initiates an order template creation (i.e. creates a barcode)
operationId: generate-order-template
parameters:
- name: Authorization
in: header
description: Bearer token {authorize} endpoint
required: true
schema:
type: string
default: Bearer ******
- name: User-Agent
in: header
description: Partner User Agent ID (provided by Coinme)
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
required:
- customerId
- debitCurrencyCode
- creditCurrencyCode
- providerId
- locationReference
properties:
customerId:
type: integer
description: Unique customer identifier
format: int64
debitCurrencyCode:
type: string
description: Debit currency code (i.e. USD)
creditCurrencyCode:
type: string
description: Credit currency code (i.e. DOGE)
amountValue:
type: string
description: Amount to buy
amountCurrencyCode:
type: string
description: Currency code of amount (i.e. USD)
providerId:
type: string
description: ID of payment provider (provided by Coinme)
locationReference:
type: string
description: Encoded reference of the location
externalCustodyCreditInfo:
type: object
required:
- walletAddress
properties:
walletAddress:
type: string
description: Wallet address to send crypto to. Required for external crypto deposit
blockchainMemo:
type: string
description: Blockchain memo for transaction (if applicable)
chain:
type: string
description: Crypto chain the crypto will be sent on. Possible values are "XLM", "ETH", "LINEA" or "SOL". Use only if Coinme supports trading this currency on multiple chains. otherwise unnecessary
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"data\": {\n \"transactionTemplate\": {\n \"transactionSystemRef\": \"1231976224861065216\",\n \"transactionProviderRef\": \"830324007540008113329460093303\",\n \"sealed\": true,\n \"debitCurrencyCode\": \"USD\",\n \"debitCurrencyUnitPrice\": \"90887.64\",\n \"creditCurrencyCode\": \"BTC\",\n \"creditCurrencyAmount\": \"0.00012100\",\n \"amountValue\": \"11\",\n \"amountCurrencyCode\": \"USD\",\n \"feesMap\": {},\n \"providerExclusiveFees\": {\n \"retailerCustomerFee\": {\n \"amount\": \"3.95\",\n \"currency\": \"USD\"\n }\n }\n \"active\": true,\n \"expiryTimestamp\": \"2025-04-22T15:33:48.270Z\"\n }\n },\n \"errorResponse\": null\n"
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
security:
- x-api-key: []
tags:
- Order Template
/order-template/templates/{customerId}:
get:
summary: Get Order Template
description: Returns a list of all order templates for a particular user
operationId: get-order-template
parameters:
- name: customerId
in: path
description: Unique customer identifier
schema:
type: integer
format: int64
required: true
- name: Authorization
in: header
description: Bearer token {authorize} endpoint
required: true
schema:
type: string
default: Bearer ******
- name: User-Agent
in: header
description: Partner User Agent ID (provided by Coinme)
required: true
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"data\": {\n \"transactionTemplate\": [\n {\n \"orderTemplateId\": \"1187389229447122944\",\n \"accountId\": \"1187008833961594880\",\n \"partnerId\": \"829720882820681728\",\n \"transactionSystemRef\": \"1187389229447122944\",\n \"transactionProviderRef\": \"830324007540008113329399514064\",\n \"sealed\": false,\n \"debitCurrencyCode\": \"USD\",\n \"creditCurrencyCode\": \"BTC\",\n \"creditCurrencyAmount\":\"0.00018627\",\n \"amountValue\": \"11\",\n \"amountCurrencyCode\": \"USD\",\n \"feesMap\": {\n \"instantWithdrawalFee\": \"2.50\",\n \"exchangeFee\": \"0.16\"\n },\n \"locationData\":{\n \"country\":\"USA\",\n \"state\":\"CA\",\n \"city\":\"Sacramento\",\n \"zipCode\":\"95822\",\n \"address1\":\"1350 Florin Rd\",\n \"description\":\"CVS\",\n \"coordinates\":{\n \"latitude\":38.495133,\n \"longitude\":-121.505336\n }\n },\n \"active\": false,\n \"status\":\"COMPLETED\",\n \"timestamp\":\"2025-01-02T14:21:20.965Z\"\n },\n {\n \"orderTemplateId\": \"1188417339844071424\",\n \"accountId\": \"1187008833961594880\",\n \"partnerId\": \"829720882820681728\",\n \"transactionSystemRef\": \"1188417339844071424\",\n \"transactionProviderRef\": \"830324007540008113329400042165\",\n \"sealed\": false,\n \"debitCurrencyCode\": \"USD\",\n \"creditCurrencyCode\": \"BTC\",\n \"creditCurrencyAmount\":\"0.00018627\",\n \"amountValue\": \"11\",\n \"amountCurrencyCode\": \"USD\",\n \"feesMap\": {\n \"instantWithdrawalFee\": \"2.50\",\n \"exchangeFee\": \"0.16\"\n },\n \"locationData\":{\n \"country\":\"USA\",\n \"state\":\"CA\",\n \"city\":\"Sacramento\",\n \"zipCode\":\"95822\",\n \"address1\":\"1350 Florin Rd\",\n \"description\":\"CVS\",\n \"coordinates\":{\n \"latitude\":38.495133,\n \"longitude\":-121.505336\n }\n },\n \"active\": false,\n \"status\":\"EXPIRED\",\n \"timestamp\":\"2025-03-06T11:49:28.108Z\"\n }\n ],\n \"errorResponse\": null\n}"
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
security:
- x-api-key: []
tags:
- Order Template
/order-template/templates/count/{customerId}?providerId={providerId}:
get:
summary: Get Order Templates Count
description: Returns the number of active/created order templates and additional details
operationId: get-order-templates-count
parameters:
- name: customerId
in: path
description: Unique customer identifier
schema:
type: integer
format: int64
required: true
- name: providerId
in: path
description: ID of payment provider (provided by Coinme)
schema:
type: string
required: true
- name: Authorization
in: header
description: Bearer token {authorize} endpoint
required: true
schema:
type: string
default: Bearer ******
- name: User-Agent
in: header
description: Partner User Agent ID (provided by Coinme)
required: true
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"data\": {\n \"createdCount\": 1,\n \"maxOrdersSubmitted\": 2,\n \"maximumReached\": false\n }\n \"errorResponse\": null\n}"
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
security:
- x-api-key: []
tags:
- Order Template
/order-template/{transactionSystemRef}:
delete:
summary: Delete Order Template
description: Invalidates an order template. An order template can only be invalidated if it is in the CREATED status
operationId: delete-order-template
parameters:
- name: transactionSystemRef
in: path
description: ID of the order template in Coinme's system
schema:
type: string
required: true
- name: Authorization
in: header
description: Bearer token {authorize} endpoint
required: true
schema:
type: string
default: Bearer ******
- name: User-Agent
in: header
description: Partner User Agent ID (provided by Coinme)
required: true
schema:
type: string
- in: query
name: customerId
schema:
type: integer
format: int64
required: true
description: Unique customer identifier
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
security:
- x-api-key: []
tags:
- Order Template
components:
securitySchemes:
basic:
type: http
scheme: basic
x-api-key:
type: apiKey
in: header
name: x-api-key