OpenAPI Specification
openapi: 3.1.0
info:
title: Cryptomus Exchange Webhooks API
description: 'Cryptomus is a cryptocurrency payment gateway providing REST APIs for accepting crypto payments, creating invoices, processing payouts, managing recurring billing, and accessing real-time exchange rate and market data across 100+ cryptocurrencies.
'
version: 1.0.0
contact:
name: Cryptomus Support
url: https://cryptomus.com/
termsOfService: https://cryptomus.com/terms
license:
name: Proprietary
url: https://cryptomus.com/privacy
servers:
- url: https://api.cryptomus.com/v1
description: Cryptomus API v1 (Merchant & Payout)
- url: https://api.cryptomus.com/v2
description: Cryptomus API v2 (Exchange & Market Data)
security:
- MerchantAuth: []
tags:
- name: Webhooks
description: Test and manage webhook notifications
paths:
/test-webhook/payment:
post:
operationId: testPaymentWebhook
summary: Test payment webhook
description: Send a test webhook notification to verify your callback endpoint.
tags:
- Webhooks
parameters:
- in: header
name: sign
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- url_callback
- currency
- network
properties:
url_callback:
type: string
minLength: 6
maxLength: 150
description: Webhook destination URL
currency:
type: string
description: Invoice currency code
network:
type: string
description: Invoice network code
uuid:
type: string
format: uuid
description: Invoice identifier (random if omitted)
order_id:
type: string
minLength: 1
maxLength: 32
description: Invoice order ID (random if omitted)
status:
type: string
default: paid
enum:
- process
- check
- paid
- paid_over
- fail
- wrong_amount
- cancel
- system_fail
- refund_process
- refund_fail
- refund_paid
responses:
'200':
description: Test webhook sent
content:
application/json:
schema:
type: object
properties:
state:
type: integer
result:
type: array
/test-webhook/payout:
post:
operationId: testPayoutWebhook
summary: Test payout webhook
description: Send a test payout webhook notification to verify your callback endpoint.
tags:
- Webhooks
parameters:
- in: header
name: sign
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- url_callback
- currency
- network
properties:
url_callback:
type: string
minLength: 6
maxLength: 150
currency:
type: string
network:
type: string
uuid:
type: string
format: uuid
order_id:
type: string
minLength: 1
maxLength: 32
status:
type: string
default: paid
enum:
- process
- check
- paid
- fail
- cancel
- system_fail
responses:
'200':
description: Test webhook sent
content:
application/json:
schema:
type: object
properties:
state:
type: integer
result:
type: array
/test-webhook/wallet:
post:
operationId: testWalletWebhook
summary: Test wallet webhook
description: Send a test wallet top-up webhook notification.
tags:
- Webhooks
parameters:
- in: header
name: sign
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- url_callback
- currency
- network
properties:
url_callback:
type: string
minLength: 6
maxLength: 150
currency:
type: string
network:
type: string
uuid:
type: string
format: uuid
order_id:
type: string
minLength: 1
maxLength: 32
status:
type: string
default: paid
enum:
- process
- check
- paid
- paid_over
- fail
- wrong_amount
- cancel
- system_fail
- refund_process
- refund_fail
- refund_paid
responses:
'200':
description: Test webhook sent
content:
application/json:
schema:
type: object
properties:
state:
type: integer
result:
type: array
components:
securitySchemes:
MerchantAuth:
type: apiKey
in: header
name: merchant
description: 'Merchant UUID from personal account settings. All requests also require a `sign` header computed as MD5(base64_encode(request_body) + API_KEY).
'