---
title: "Create verification session"
method: POST
path: "/api/v1/verify/session"
---

# Create verification session

`POST /api/v1/verify/session`

Creates a PID-scoped verification session and returns a verification URL containing pid + sid.

## Request body

- VerifySessionCreateRequest
  - `pid` string, required — PID owned by the authenticated API key.
  - `clientId` string, required — Developer-defined client identifier used to map completion back to your user.
  - `guildId` string, nullable

## Response `200`

Verification session created or existing pending session reused.

- VerifySessionCreateResponse
  - `status` 200
  - `data` object
    - `sid` string
    - `pid` string
    - `clientId` string
    - `expiresAt` string, date-time
    - `reusedExisting` boolean
    - `verifyUrl` string
  - `timestamp` string, date-time
  - `version` string
  - `verifyRequestsRemaining` integer, nullable
  - `verifyIpRequestsRemaining` integer, nullable

## Other responses

- `400` — Missing required body fields.
- `401` — Unauthorized.
- `403` — PID does not belong to the API key.
- `429` — Verify request quota exceeded.
- `500` — Internal server error.

---

[API](https://skmtc.dev/docksys/apis/dock-api.md) · [All operations](https://skmtc.dev/docksys/apis/dock-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/docksys/dock-api/revisions/e6943210dda3/schema)
