Cowdidocs

List the caller’s applications

GET
/v1/kyc/history

Returns a page of the caller’s own KYC applications, newest first. Supports keyset pagination with size (default 20, maximum 100) and the opaque after / before cursors taken from a previous response’s links. Returns 400 when both after and before are set, or when size is out of range.

AuthorizationBearer <token>

Create a client with POST /v1/oauth/clients, then exchange its credentials for an access token. AUTHORIZATION_CODE clients act on behalf of a signed-in user and always use PKCE; CLIENT_CREDENTIALS clients act as themselves. A client may only be granted scopes its creator already holds — read the grantable list from GET /v1/oauth/clients/scopes.

In: header

Query Parameters

size?string

Page size (default 20, max 100).

after?string

Opaque forward cursor, taken from links.next. Mutually exclusive with before.

before?string

Opaque backward cursor, taken from links.prev. Mutually exclusive with after.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/kyc/history"
{  "data": [    {      "id": "550e8400-e29b-41d4-a716-446655440000",      "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",      "organization_id": "cowdi",      "user_type": "INDIVIDUAL",      "merchant_type": "SOLE_PROPRIETOR",      "status": "DRAFT",      "source": "USER",      "documents": [        {          "id": "3fa2c1d4-8b8e-4c9a-9c9e-1f2e3a4b5c6d",          "document_type": "NATIONAL_ID",          "document_sub_type": "string",          "document_number": "string",          "expiry_date": "string",          "presigned_url": "string",          "uploaded_at": "2026-06-04T10:20:00.000Z"        }      ],      "verification": {        "provider": "SMILE_ID",        "provider_job_id": "string",        "result": "PASSED",        "confidence_score": 0,        "completed_at": "2026-06-04T10:20:00.000Z"      },      "verification_reason_code": "string",      "external_reason_code": "DOCUMENT_IMAGE_UNUSABLE",      "external_reason": "Part of your ID document was cut off. Retake the photo with all four corners of the document inside the frame.",      "resubmission_count": 0,      "force_new_enroll": true,      "reapply_blocked_until": "2026-06-04T10:20:00.000Z",      "submitted_at": "2026-06-04T10:20:00.000Z",      "created_at": "2026-06-04T10:20:00.000Z",      "updated_at": "2026-06-04T10:20:00.000Z"    }  ],  "links": {    "next": "string",    "prev": "string"  }}
{  "code": "INVALID_PARAMS",  "description": "user_id must be a UUID",  "identifier": "string",  "invalid_params": [    {      "path": "user_id",      "reason": "must be a UUID",      "sub_code": "string"    }  ]}
{  "code": "INVALID_PARAMS",  "description": "user_id must be a UUID",  "identifier": "string",  "invalid_params": [    {      "path": "user_id",      "reason": "must be a UUID",      "sub_code": "string"    }  ]}
{  "code": "INVALID_PARAMS",  "description": "user_id must be a UUID",  "identifier": "string",  "invalid_params": [    {      "path": "user_id",      "reason": "must be a UUID",      "sub_code": "string"    }  ]}
{  "code": "INVALID_PARAMS",  "description": "user_id must be a UUID",  "identifier": "string",  "invalid_params": [    {      "path": "user_id",      "reason": "must be a UUID",      "sub_code": "string"    }  ]}