Coinme Paymentmethods API

The Paymentmethods API from Coinme — 3 operation(s) for paymentmethods.

OpenAPI Specification

coinme-paymentmethods-api-openapi.yml Raw ↑
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