S
docs.syncra.money
Passes
POST/api/v1/p2p/merchant/passesСтейдж

Creates a new whitelist pass in the ACTIVE status. Passes bypass the standard cascade routing when all non-empty fields match the incoming deal.

Authorization

MerchantToken MerchantSignature MerchantTimestamp
X-Merchant-Token<token>

The merchant's public token (64 hex characters), issued at onboarding.

In: header

X-Signature<token>

HMAC-SHA256 signature (a single scheme for all endpoints). Format: t=<unix_seconds>,v1=<hex_hmac_sha256> where hex_hmac = HMAC-SHA256(webhook_secret, "<unix_seconds>.<raw_body>"). Replay window: 5 minutes (a 60-second drift into the future is allowed).

In: header

X-Timestamp<token>

Unix time of the request in seconds. Signature window: 5 minutes back / 60 seconds forward.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Only amount is required — all other filters are optional (empty = any).

Response Body

application/json

application/problem+json

application/problem+json

curl -X POST "https://example.com/api/v1/p2p/merchant/passes" \  -H "X-Merchant-Token: <MERCHANT_TOKEN>" \  -H "X-Timestamp: <UNIX_TIMESTAMP>" \  -H "X-Signature: t=<UNIX_TIMESTAMP>,v1=<HEX_HMAC_SHA256>" \  -H "Content-Type: application/json" \  -d '{    "amount": 0  }'
{  "pass": {    "pass_id": "c873768a-5954-4f62-8e84-d0c8cc5522b2",    "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0",    "merchant_id": "500924a8-3f5e-4c00-beb8-2efcde988aea",    "provider_id": "fe3d49af-4061-436b-ae60-f7044f252a44",    "amount": 0,    "currency_id": "305e0674-ee79-42b7-bf83-278294a47a7b",    "payment_method_id": "ec18d2d7-d2e0-41e4-98e4-847f14422d8a",    "requisite_type": "BANK_CARD",    "status": "ACTIVE",    "expires_at": "2019-08-24T14:15:22Z",    "used_deal_id": "f21d2188-ade6-4481-9591-e0cf441d91db",    "created_at": "2019-08-24T14:15:22Z"  }}
{  "type": "../dictionary",  "title": "string",  "status": 0,  "detail": "string",  "instance": "../dictionary",  "errors": [    {      "field": "amount",      "message": "must be greater than 0",      "code": "POSITIVE_REQUIRED"    }  ]}
{  "type": "../dictionary",  "title": "string",  "status": 0,  "detail": "string",  "instance": "../dictionary",  "errors": [    {      "field": "amount",      "message": "must be greater than 0",      "code": "POSITIVE_REQUIRED"    }  ]}