Skip to content
Testnet only: a reference implementation, not a production service.Tokens and bank transfers here are simulated and have no value.

Kyb application

4 operations under kyb-application. Examples read $API and $KEY from your shell.

GET /v1/kyb-application

Responses

200 Default Response

object

  • id string required
  • status string required one of draft, submitted, in_review, info_requested, approved, rejected
  • legal_name string required (nullable)
  • registration_number string required (nullable)
  • country string required (nullable)
  • beneficial_owners array required

    Each item:

    • name string required
    • ownership_percent integer required
  • expected_activity string required (nullable)
  • info_request_note string required (nullable)
  • submitted_at string required (nullable)
  • decided_at string required (nullable)
  • created_at string required
  • updated_at string required

Errors are RFC 9457 problem documents (application/problem+json).

curl

curl -s \
  "$API/v1/kyb-application" \
  -H "authorization: Bearer $KEY"
Copied

SDK

import { createScrClient } from "@scr/sdk";

// The client sends the API key for you.
const client = createScrClient({ baseUrl: process.env.API!, apiKey: process.env.KEY! });
const { data, error } = await client.GET("/v1/kyb-application");
Copied

POST /v1/kyb-application

Send an Idempotency-Key header on every POST so a retry never repeats the request.

Request body

application/json, required

object

  • legal_name string optional
  • registration_number string optional
  • country string optional
  • beneficial_owners array optional

    Each item:

    • name string required
    • ownership_percent integer required
  • expected_activity string optional

Responses

201 Default Response

object

  • id string required
  • status string required one of draft, submitted, in_review, info_requested, approved, rejected
  • legal_name string required (nullable)
  • registration_number string required (nullable)
  • country string required (nullable)
  • beneficial_owners array required

    Each item:

    • name string required
    • ownership_percent integer required
  • expected_activity string required (nullable)
  • info_request_note string required (nullable)
  • submitted_at string required (nullable)
  • decided_at string required (nullable)
  • created_at string required
  • updated_at string required

Errors are RFC 9457 problem documents (application/problem+json).

curl

curl -s \
  -X POST \
  "$API/v1/kyb-application" \
  -H "authorization: Bearer $KEY" \
  -H "idempotency-key: $(uuidgen)" \
  -H "content-type: application/json" \
  -d '{}'
Copied

SDK

import { createScrClient } from "@scr/sdk";

// The client sends the API key and an Idempotency-Key for you.
const client = createScrClient({ baseUrl: process.env.API!, apiKey: process.env.KEY! });
const { data, error } = await client.POST("/v1/kyb-application", {
  body: {},
});
Copied

PATCH /v1/kyb-application

Request body

application/json, required

object

  • legal_name string optional
  • registration_number string optional
  • country string optional
  • beneficial_owners array optional

    Each item:

    • name string required
    • ownership_percent integer required
  • expected_activity string optional

Responses

200 Default Response

object

  • id string required
  • status string required one of draft, submitted, in_review, info_requested, approved, rejected
  • legal_name string required (nullable)
  • registration_number string required (nullable)
  • country string required (nullable)
  • beneficial_owners array required

    Each item:

    • name string required
    • ownership_percent integer required
  • expected_activity string required (nullable)
  • info_request_note string required (nullable)
  • submitted_at string required (nullable)
  • decided_at string required (nullable)
  • created_at string required
  • updated_at string required

Errors are RFC 9457 problem documents (application/problem+json).

curl

curl -s \
  -X PATCH \
  "$API/v1/kyb-application" \
  -H "authorization: Bearer $KEY" \
  -H "content-type: application/json" \
  -d '{}'
Copied

SDK

import { createScrClient } from "@scr/sdk";

// The client sends the API key for you.
const client = createScrClient({ baseUrl: process.env.API!, apiKey: process.env.KEY! });
const { data, error } = await client.PATCH("/v1/kyb-application", {
  body: {},
});
Copied

POST /v1/kyb-application/submit

Send an Idempotency-Key header on every POST so a retry never repeats the request.

Request body

application/json, required

object

Responses

200 Default Response

object

  • id string required
  • status string required one of draft, submitted, in_review, info_requested, approved, rejected
  • legal_name string required (nullable)
  • registration_number string required (nullable)
  • country string required (nullable)
  • beneficial_owners array required

    Each item:

    • name string required
    • ownership_percent integer required
  • expected_activity string required (nullable)
  • info_request_note string required (nullable)
  • submitted_at string required (nullable)
  • decided_at string required (nullable)
  • created_at string required
  • updated_at string required

Errors are RFC 9457 problem documents (application/problem+json).

curl

curl -s \
  -X POST \
  "$API/v1/kyb-application/submit" \
  -H "authorization: Bearer $KEY" \
  -H "idempotency-key: $(uuidgen)" \
  -H "content-type: application/json" \
  -d '{}'
Copied

SDK

import { createScrClient } from "@scr/sdk";

// The client sends the API key and an Idempotency-Key for you.
const client = createScrClient({ baseUrl: process.env.API!, apiKey: process.env.KEY! });
const { data, error } = await client.POST("/v1/kyb-application/submit", {
  body: {},
});
Copied

Edit on GitHub