openapi: 3.1.0 info: title: Coinme Crypto-as-a-Service AuthLinkResult MobileAuth 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: MobileAuth paths: /mobileAuth: post: summary: Initiate Mobile Auth description: '' operationId: mobile-auth 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: - deviceIp - consentTransactionId - consentDescription - consentCollectedTimestamp properties: deviceIp: type: string description: IP of mobile device. Can be IPv4 or IPv6 consentTransactionId: type: string description: Unique id of the consent collected by the client consentDescription: type: string description: The client describes the type of consent (electronic/paper), use case and reference to the version of Terms and Conditions (T&Cs), if applicable consentCollectedTimestamp: type: string description: 'Date/Time field when the original consent was collected by the client (format: YYYY-MM-DD)' format: date requestId: type: string description: Optional requestId that can be used to track the requests through the entire Mobile Auth flow. If not sent, it will be generated automatically responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"data\": \n {\n \"redirectTargetUrl\": \"http://www.example.com?vfp=abc123...\"\n },\n \"errorResponse\": null\n}" schema: type: object properties: data: type: object properties: redirectTargetUrl: type: string example: http://www.example.com?vfp=abc123... requestId: type: string 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\":\"POST /services/mobileAuth\",\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\":\"Required field missing or blank\"\n }\n ],\n \"retry\":\"N\"\n }\n}" schema: type: object properties: {} '401': description: '401' content: text/plain: examples: Result: value: '' '500': description: '500' content: text/plain: examples: Result: value: '' deprecated: false security: - x-api-key: [] tags: - MobileAuth components: securitySchemes: basic: type: http scheme: basic x-api-key: type: apiKey in: header name: x-api-key