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