openapi: 3.1.0
info:
title: Coinme Crypto-as-a-Service AuthLinkResult Paymentmethods 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: Paymentmethods
paths:
/paymentmethods:
post:
summary: Add Card Payment Method
description: Method for adding new card for customer
operationId: add-new-payment-method
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
- providerId
- card
- billingAddress
- paymentProcessAssociation
properties:
customerId:
type: integer
description: Unique customer identifier
format: int64
providerId:
type: string
description: ID of payment provider (provided by Coinme)
card:
type: object
description: Debit card details
required:
- cardNumber
- month
- year
- cvv
properties:
cardNumber:
type: string
description: 16-digit debit card number (i.e. 12345343242)
month:
type: string
description: Debit card expiration date month (i.e. 02)
year:
type: string
description: Debit card expiration date month (i.e. 2026)
cvv:
type: string
description: Debit card CVV / security code
billingAddress:
type: object
description: Billing address for customer
required:
- country
- addressLine1
- zipCode
- city
- state
properties:
firstName:
type: string
description: First name of customer
lastName:
type: string
description: Last name of customer
country:
type: string
description: 2 character abbreviation of country for customer's billing address (i.e. US)
addressLine1:
type: string
description: Line 1 of customer billing address
addressLine2:
type: string
description: Line 2 of customer billing address
zipCode:
type: string
description: ZIP code of customer billing address
city:
type: string
description: City of customer billing address
state:
type: string
description: 2 character abbreviation of state for customer billing address (i.e. FL)
paymentProcessAssociation:
type: string
description: Identifier if payment method is for buy or sell
enum:
- BUY
- SELL
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"data\": \n {\n \"customerId\":\"34567890\",\n \"partnerId\":\"30157493212106\",\n \"paymentMethod\": {\n \"paymentMethodId\": \"123456\",\n \"providerId\": \"654987321\",\n \"providerName\": \"Provider Name\",\n \"type\": \"DEBIT\", // could be DEBIT, CREDIT or PREPAID\n \"cardProvider\": \"Visa\",\n \"card\": {\n \"cardNumber\": \"123412321\",\n \"month\": \"03\",\n \"year\": \"2024\"\n },\n \"billingAddress\": {\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"country\": \"US\",\n \"addressLine1\": \"11 Creekside St.\",\n \"addressLine2\": \"Additional line\",\n \"zipCode\": \"33414\",\n \"city\": \"West Palm Beach\",\n \"state\": \"FL\"\n },\n \"status\": \"VERIFIED\", //enum, could be [CREATED, VERIFIED, DECLINED, STAGED, DELETED]\n \"buySupported\": false, \n \"sellSupported\": true,\n \"createdAt\": 1714560970 //timestamp in millis\n }\n },\n \"errorResponse\": null\n}"
schema:
type: object
properties:
data:
type: object
properties:
customerId:
type: string
example: '34567890'
partnerId:
type: string
example: '30157493212106'
paymentMethod:
type: object
properties:
paymentMethodId:
type: string
example: '123456'
stagingProviderId:
type: string
example: '654987321'
stagingProviderName:
type: string
example: Provider Name
type:
type: string
example: DEBIT
enum:
- CREDIT
- DEBIT
- PREPAID
cardProvider:
type: string
example: Visa
card:
type: object
properties:
cardNumber:
type: string
example: '123412321'
month:
type: string
example: '03'
year:
type: string
example: '2024'
billingAddress:
type: object
properties:
firstName:
type: string
example: John
lastName:
type: string
example: Doe
country:
type: string
example: US
addressLine1:
type: string
example: 11 Creekside St.
addressLine2:
type: string
example: Additional line
zipCode:
type: string
example: '33414'
city:
type: string
example: West Palm Beach
state:
type: string
example: FL
status:
type: string
example: VERIFIED
enum:
- CREATED
- VERIFIED
- DECLINED
- STAGED
- DELETED
buySupported:
type: boolean
example: false
default: true
sellSupported:
type: boolean
example: true
default: true
createdAt:
type: integer
example: 1714560970
default: 0
description: If there are no client errors this field will be filled out and errorResponse will be null
errorResponse:
description: If there are client errors, this field will be filled out and data will be null
type: object
properties:
timestamp:
type: string
httpStatus:
type: string
errorData:
type: array
items:
properties:
errorCode:
type: string
message:
type: string
type: object
path:
type: string
retry:
type: string
'400':
description: '400'
content:
application/json:
examples:
Result:
value: "{\n \"data\": null,\n \"errorResponse\": {\n \"httpStatus\":\"200\",\n \"timestamp\":\"2022-02-01T18:59:28.297Z\",//UTC\n \"path\":\"/external/partners/v1/payment-method\",\n \"errorData\": [\n {\n \"errorCode\":\"123-123-123-123\", //The error code is just a sample showing the structure of the error code.\n \"message\":\"Invalid customer id\"\n }\n ]\n}"
security:
- {}
tags:
- Paymentmethods
get:
summary: Get All Payment Methods
description: Method for fetching all payment methods for a specific customer
operationId: get-all-payment-methods
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
- name: customerId
in: query
description: Unique customer identifier
required: true
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"data\": {\n \"paymentMethods\": [\n {\n \"paymentMethodId\": \"123456\",\n \"providerId\": \"654987321\",\n \"providerName\": \"Provider Name\",\n \"type\": \"DEBIT\", // could be DEBIT, CREDIT or PREPAID\n \"cardProvider\": \"Visa\",\n \"card\": {\n \"cardNumber\": \"123412321\",\n \"month\": \"03\",\n \"year\": \"2024\"\n },\n \"billingAddress\": {\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"country\": \"US\",\n \"addressLine1\": \"11 Creekside St.\",\n \"addressLine2\": \"Additional line\",\n \"zipCode\": \"33414\",\n \"city\": \"West Palm Beach\",\n \"state\": \"FL\"\n },\n \"status\": \"VERIFIED\", //enum, could be [CREATED, VERIFIED, DECLINED, STAGED, DELETED]\n \"buySupported\": false,\n \"sellSupported\": true,\n \"createdAt\": 1714560970, //timestamp in millis\n \"verifiedAt\": 1714560970 //timestamp in millis\n }\n .....\n ]\n },\n \"errorResponse\": null\n}"
schema:
type: object
properties:
data:
type: object
properties:
paymentMethods:
type: array
items:
properties:
paymentMethodId:
type: string
providerId:
type: string
providerName:
type: string
type:
type: string
enum:
- CREDIT
- DEBIT
- PREPAID
cardProvider:
type: string
card:
type: object
properties:
cardNumber:
type: string
month:
type: string
year:
type: string
billingAddress:
type: object
properties:
firstName:
type: string
lastName:
type: string
country:
type: string
addressLine1:
type: string
addressLine2:
type: string
zipCode:
type: string
city:
type: string
state:
type: string
status:
type: string
enum:
- CREATED
- VERIFIED
- DECLINED
- STAGED
- DELETED
buySupported:
type: boolean
sellSupported:
type: boolean
createdAt:
type: string
verifiedAt:
type: string
declinedAt:
type: string
deletedAt:
type: string
type: object
description: If there are no client errors this field will be filled out and errorResponse will be null
errorResponse:
type: object
properties:
timestamp:
type: string
httpStatus:
type: string
errorData:
type: array
items:
properties:
errorCode:
type: string
message:
type: string
type: object
path:
type: string
retry:
type: string
description: If there are client errors, this field will be filled out and data will be null
'400':
description: '400'
content:
application/json:
examples:
Result:
value: "{\n \"data\": null,\n \"errorResponse\": {\n \"httpStatus\":\"200\",\n \"timestamp\":\"2022-02-01T18:59:28.297Z\",//UTC\n \"path\":\"/external/v1/payment-method\",//The error code is just a sample showing the structure of the error code.\n \"errorData\": [\n {\n \"errorCode\":\"123-123-123-123\",\n \"message\":\"Invalid account id\"\n }\n ]\n}"
security:
- x-api-key: []
tags:
- Paymentmethods
/paymentmethods/{paymentMethodId}:
get:
summary: Get Payment Method
description: Method for fetching a payment method by id
operationId: get-payment-method
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
- name: paymentMethodId
in: path
description: ID of payment method to get details of
schema:
type: string
required: true
- name: customerId
in: query
description: Unique customer identifier
required: true
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"data\": \n {\n \"paymentMethodId\": \"123456\",\n \"providerId\": \"654987321\",\n \"providerName\": \"Provider Name\",\n \"type\": \"DEBIT\", // could be DEBIT, CREDIT or PREPAID\n \"cardProvider\": \"Visa\",\n \"card\": {\n \"cardNumber\": \"123412321\",\n \"month\": \"03\",\n \"year\": \"2024\"\n },\n \"billingAddress\": {\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"country\": \"US\",\n \"addressLine1\": \"11 Creekside St.\",\n \"addressLine2\": \"Additional line\",\n \"zipCode\": \"33414\",\n \"city\": \"West Palm Beach\",\n \"state\": \"FL\"\n },\n \"status\": \"VERIFIED\", //enum, could be [CREATED, VERIFIED, DECLINED, STAGED, DELETED]\n \"buySupported\": false,\n \"sellSupported\": true,\n \"createdAt\": 1714560970, //timestamp in millis\n \"verifiedAt\": 1714560970 //timestamp in millis\n },\n \"errorResponse\": null\n}"
schema:
type: object
properties:
data:
type: object
properties:
paymentMethodId:
type: string
example: '123456'
providerId:
type: string
example: '654987321'
providerName:
type: string
example: Provider Name
type:
type: string
example: DEBIT
enum:
- CREDIT
- DEBIT
- PREPAID
cardProvider:
type: string
example: Visa
card:
type: object
properties:
cardNumber:
type: string
example: '123412321'
month:
type: string
example: '03'
year:
type: string
example: '2024'
billingAddress:
type: object
properties:
firstName:
type: string
example: John
lastName:
type: string
example: Doe
country:
type: string
example: US
addressLine1:
type: string
example: 11 Creekside St.
addressLine2:
type: string
example: Additional line
zipCode:
type: string
example: '33414'
city:
type: string
example: West Palm Beach
state:
type: string
example: FL
status:
type: string
example: VERIFIED
enum:
- CREATED
- VERIFIED
- DECLINED
- STAGED
- DELETED
buySupported:
type: boolean
example: false
default: true
sellSupported:
type: boolean
example: true
default: true
createdAt:
type: string
example: 1714560970
default: 0
verifiedAt:
type: string
example: 1714560970
default: 0
description: If there are no client errors this field will be filled out and errorResponse will be null
errorResponse:
description: If there are client errors, this field will be filled out and data will be null
type: object
properties:
timestamp:
type: string
httpStatus:
type: string
errorData:
type: array
items:
properties:
errorCode:
type: string
message:
type: string
type: object
path:
type: string
retry:
type: string
'400':
description: '400'
content:
application/json:
examples:
Result:
value: "{\n \"data\": null,\n \"errorResponse\": {\n \"httpStatus\":\"200\",\n \"timestamp\":\"2022-02-01T18:59:28.297Z\",//UTC\n \"path\":\"/external/partners/v1/payment-method\",//The error code is just a sample showing the structure of the error code.\n \"errorData\": [\n {\n \"errorCode\":\"123-123-123-123\", //The error code is just a sample showing the structure of the error code.\n \"message\":\"Invalid account id\"\n }\n ]\n}"
security:
- x-api-key: []
tags:
- Paymentmethods
delete:
summary: Delete Payment Method
description: Method for deleting a payment method
operationId: delete-payment-method
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
- name: paymentMethodId
in: path
description: ID of payment method to delete
schema:
type: string
required: true
- name: customerId
in: query
description: Unique customer identifier
required: true
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"data\": \n {\n \"paymentMethodId\": \"123456\",\n \"providerId\": \"654987321\",\n \"providerName\": \"Provider Name\",\n \"type\": \"DEBIT\", // could be DEBIT, CREDIT or PREPAID\n \"cardProvider\": \"Visa\",\n \"card\": {\n \"cardNumber\": \"123412321\",\n \"month\": \"03\",\n \"year\": \"2024\"\n },\n \"billingAddress\": {\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"country\": \"US\",\n \"addressLine1\": \"11 Creekside St.\",\n \"addressLine2\": \"Additional line\",\n \"zipCode\": \"33414\",\n \"city\": \"West Palm Beach\",\n \"state\": \"FL\"\n },\n \"status\": \"DELETED\", //enum, could be [CREATED, VERIFIED, DECLINED, STAGED, DELETED]\n \"buySupported\": false,\n \"sellSupported\": true,\n \"createdAt\": 1714560970, //timestamp in millis\n \"deletedAt\": 1714560970 //timestamp in millis\n },\n \"errorResponse\": null\n}"
schema:
type: object
properties:
data:
type: object
properties:
paymentMethodId:
type: string
example: '123456'
providerId:
type: string
example: '654987321'
providerName:
type: string
example: Provider Name
type:
type: string
example: DEBIT
enum:
- CREDIT
- DEBIT
- PREPAID
cardProvider:
type: string
example: Visa
card:
type: object
properties:
cardNumber:
type: string
example: '123412321'
month:
type: string
example: '03'
year:
type: string
example: '2024'
billingAddress:
type: object
properties:
firstName:
type: string
example: John
lastName:
type: string
example: Doe
country:
type: string
example: US
addressLine1:
type: string
example: 11 Creekside St.
addressLine2:
type: string
example: Additional line
zipCode:
type: string
example: '33414'
city:
type: string
example: West Palm Beach
state:
type: string
example: FL
status:
type: string
example: DELETED
enum:
- CREATED
- VERIFIED
- DECLINED
- STAGED
- DELETED
buySupported:
type: boolean
example: false
default: true
sellSupported:
type: boolean
example: true
default: true
createdAt:
type: string
example: 1714560970
default: 0
deletedAt:
type: string
example: 1714560970
default: 0
description: If there are no client errors this field will be filled out and errorResponse will be null
errorResponse:
description: If there are client errors, this field will be filled out and data will be null
type: object
properties:
timestamp:
type: string
httpStatus:
type: string
errorData:
type: array
items:
properties:
errorCode:
type: string
message:
type: string
type: object
path:
type: string
retry:
type: string
'400':
description: '400'
content:
application/json:
examples:
Result:
value: "{\n \"data\": null,\n \"errorResponse\": {\n \"httpStatus\":\"200\",\n \"timestamp\":\"2022-02-01T18:59:28.297Z\",//UTC\n\t\t\"path\":\"/external/partners/v1/payment-method\", \n \"errorData\": [\n {\n \"errorCode\":\"123-123-123-123\", //The error code is just a sample showing the structure of the error code.\n \"message\":\"Invalid account id\"\n }\n ]\n}"
security:
- x-api-key: []
tags:
- Paymentmethods
/paymentmethods/status:
get:
description: Check if a customer has reached their payment method limits. Returns the status of various payment method thresholds to determine if the customer can add additional payment methods.
responses:
'200':
description: ''
content:
application/json:
examples:
OK:
summary: OK
value: "{\n \"data\": {\n \"maxReached\": 3, // indicates if an account has reached the maximum number of payment methods they can add (verified or unverified, the default is 5)\n \"maxTotalReached\": 5, // indicates if the account has reached the maximum number of verified payment methods they can have (default 3)\n \"maxVerifiedReached\": 10 // inidicates whether the account can add any more payment methods\n },\n \"errorResponse\": null\n}"
schema:
type: object
properties:
data:
type: object
description: If there are no client errors this field will be filled out and errorResponse will be null
properties:
maxReached:
type
# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/coinme/refs/heads/main/openapi/coinme-paymentmethods-api-openapi.yml