Mesh Ramp Kyc API
The RampKyc API from Mesh — 1 operation(s) for rampkyc.
The RampKyc API from Mesh — 1 operation(s) for rampkyc.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/mesh:mesh-rampkyc-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Mesh Connect Integration Ramp Kyc API
description: 'Mesh allows users to connect accounts of financial institutions,
crypto exchanges, and self-custody wallets. Mesh handles credential
validation, MFA, and error handling for each integration. After
an account is connected, Mesh allows client applications to read holdings,
transaction history and balances and execute crypto transfers (with user approval).'
version: '1.0'
servers:
- url: https://integration-api.meshconnect.com
- url: https://sandbox-integration-api.meshconnect.com
security:
- Client-Secret: []
Client-Id: []
tags:
- name: RampKyc
paths:
/api/v1/onramp/sessions/{sessionId}/initiate_kyc:
post:
tags:
- RampKyc
parameters:
- name: sessionId
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/InitiateKycRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/InitiateKycResponseApiResult'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResult'
example:
status: ok
message: ''
errorHash: 1cbbee0c
teamCode: P4
errorType: ''
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResult'
example:
status: ok
message: ''
errorHash: 1cbbee0c
teamCode: P4
errorType: ''
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResult'
example:
status: ok
message: ''
errorHash: 1cbbee0c
teamCode: P4
errorType: ''
summary: Create api onramp sessions by session id initiate kyc
x-summary-source: derived
operationId: postApiV1OnrampSessionsBySessionIdInitiateKyc
x-operation-id-source: derived
components:
schemas:
InitiateKycResponseApiResult:
type: object
properties:
status:
enum:
- ok
- serverFailure
- permissionDenied
- badRequest
- notFound
- conflict
- tooManyRequest
- locked
- unavailableForLegalReasons
allOf:
- $ref: '#/components/schemas/ApiResultStatus'
readOnly: true
message:
type:
- string
- 'null'
description: A message generated by the API
displayMessage:
type:
- string
- 'null'
description: User-friendly display message that can be presented to the end user
errorHash:
type:
- string
- 'null'
description: An error grouping hash from string components and caller information. Used by bugsnag on FE for correct error grouping
readOnly: true
teamCode:
type:
- string
- 'null'
description: 'Opaque team code for error routing. Resolved from exception origin or caller file path via CODEOWNERS.
Format: 2-character code (e.g., "7K", "M2"). Use for alerting/routing, not display.'
readOnly: true
errorType:
type:
- string
- 'null'
description: 'Strictly-typed error type that is explaining the reason of an unsuccessful status of the operation.
All possible error types are available in the documentation.'
errorData:
readOnly: true
content:
allOf:
- $ref: '#/components/schemas/InitiateKycResponse'
additionalProperties: false
ApiResultStatus:
enum:
- ok
- serverFailure
- permissionDenied
- badRequest
- notFound
- conflict
- tooManyRequest
- locked
- unavailableForLegalReasons
type: string
ApiResult:
type: object
properties:
status:
enum:
- ok
- serverFailure
- permissionDenied
- badRequest
- notFound
- conflict
- tooManyRequest
- locked
- unavailableForLegalReasons
allOf:
- $ref: '#/components/schemas/ApiResultStatus'
readOnly: true
message:
type:
- string
- 'null'
description: A message generated by the API
displayMessage:
type:
- string
- 'null'
description: User-friendly display message that can be presented to the end user
errorHash:
type:
- string
- 'null'
description: An error grouping hash from string components and caller information. Used by bugsnag on FE for correct error grouping
readOnly: true
teamCode:
type:
- string
- 'null'
description: 'Opaque team code for error routing. Resolved from exception origin or caller file path via CODEOWNERS.
Format: 2-character code (e.g., "7K", "M2"). Use for alerting/routing, not display.'
readOnly: true
errorType:
type:
- string
- 'null'
description: 'Strictly-typed error type that is explaining the reason of an unsuccessful status of the operation.
All possible error types are available in the documentation.'
errorData:
readOnly: true
additionalProperties: false
InitiateKycResponse:
type: object
properties:
status:
enum:
- unknown
- created
- awaitingOtpVerification
- emailVerified
- kycPending
- kycVerified
- kycFailed
- paymentPending
- fiatReceived
- settled
- paymentFailed
- refundPending
- expired
- cancelled
- refunded
allOf:
- $ref: '#/components/schemas/RampSessionStatus'
description: 'FSM states for Org.Front.Core.Contracts.Adapters.Persistence.Entities.Ramp.RampSession. Persisted as a string column so
the DB stays human-readable and new values can be added without column
migrations.'
sdkToken:
type:
- string
- 'null'
webSdkUrl:
type:
- string
- 'null'
sdkTokenExpiresAt:
type:
- string
- 'null'
format: date-time
additionalProperties: false
RampSessionStatus:
enum:
- unknown
- created
- awaitingOtpVerification
- emailVerified
- kycPending
- kycVerified
- kycFailed
- paymentPending
- fiatReceived
- settled
- paymentFailed
- refundPending
- expired
- cancelled
- refunded
type: string
description: 'FSM states for Org.Front.Core.Contracts.Adapters.Persistence.Entities.Ramp.RampSession. Persisted as a string column so
the DB stays human-readable and new values can be added without column
migrations.'
InitiateKycRequest:
type: object
properties:
email:
type:
- string
- 'null'
phoneNumber:
type:
- string
- 'null'
countryCode:
type:
- string
- 'null'
additionalProperties: false
securitySchemes:
Client-Secret:
type: apiKey
description: Contact Mesh to get client Secret
name: X-Client-Secret
in: header
Client-Id:
type: apiKey
description: Contact Mesh to get client Id
name: X-Client-Id
in: header