API Reference
BotShield provides a REST API for integrating human presence verification into your platform. All SDK operations are server-to-server — there is no client-side library to install.API access is provisioned through a developer application process. Request developer access to receive your API credentials.
Base URL
All SDK operations are served from:Authentication
All SDK operations require a Bearer token in theAuthorization header. The token you use depends on the operation:
| Operation | Token Type | Prefix |
|---|---|---|
POST /sdk/create-session | API Key (partner credential) | bs_live_sk_ or bsk_test_ |
POST /sdk/create-verification-link | Session Token (from create-session) | bss_ |
GET /verification/status | API Key (partner credential) | bs_live_sk_ or bsk_test_ |
POST /sdk/logout | API Key (partner credential) | bs_live_sk_ or bsk_test_ |
Example Header
Environments
| Environment | API Key Prefix | Purpose |
|---|---|---|
| Production | bs_live_sk_ | Live verification with real users |
| Test | bsk_test_ | Development and integration testing |
SDK A Operations
BotShield SDK A (Signal-Only) exposes four operations:Create Session
Initialize an anchor grant window. Returns a session token for subsequent operations.
Create Verification Link
Generate a verification request with deep link, web URL, and QR code for the user.
Verification Status
Poll for verification result. Returns the Human Presence Signal (HPS) when complete.
Logout Session
Revoke an active session token. Use for cleanup after verification completes.
Typical Integration Flow
Error Handling
All endpoints return standard HTTP status codes:| Code | Meaning |
|---|---|
200 | Success |
400 | Bad Request — invalid or missing parameters |
401 | Unauthorized — invalid or expired token |
500 | Internal Server Error |
Error Response Format
Validation Error Format
When input validation fails, the response includes details about each invalid field:Webhook Delivery
When you provide awebhook_url in the verification link request, BotShield will POST the result to your server when verification completes:
200 status code to acknowledge receipt.
Rate Limits
Rate limits are applied per API key. If you exceed the limit, you will receive a429 Too Many Requests response. Contact your account representative if you need higher limits.
Next Steps
- Quick Start — Step-by-step integration walkthrough
- Developer Application — Apply for API access
- SDK Overview — Architecture and concepts