Skip to content

Developer Tools ​

Endpoints for your own development and testing, under /developer/*. They need both headers:

X-Client-Key: ck_…
X-Client-Secret: cs_…

Never ship the client secret

The clientSecret gives full control over your workspace. Use it only from your machine or CI. If it appears in your app binary, it is a red flag in our evaluation.

Echo bot ​

Every workspace has a built-in user:

FieldValue
usernameecho
displayNameEcho Bot

Behaviour:

  • Always online.
  • Accepts every friend request within 1 second.
  • For every message it receives: sends receipt.delivered immediately, receipt.read after 0.5 seconds, shows typing for 1 second, then replies Echo: <your text>. Media messages get the reply Echo: received <type>.
  • Never sends messages on its own.

Use it to develop alone, and give it to Apple's reviewer (see TestFlight).

Create test users ​

POST /developer/users ​

Creates a user with a complete profile and returns tokens. Useful for scripts and UI tests.

json
{ "phone": "+6580000099", "displayName": "Test User", "username": "test_user" }

Response 201: the same shape as POST /auth/verify.

Make two users friends ​

POST /developer/friendships ​

json
{ "userIds": ["01JB…", "01JC…"] }

204. Skips the request/accept flow.

Send a message as any user ​

POST /developer/messages ​

json
{ "senderId": "01JC…", "conversationId": "01JE…", "type": "text", "body": "Message from a script" }

201 with Message. Use it to test incoming messages, push notifications, and long chats (send many in a loop).

APNs configuration ​

MethodPathDescription
PUT/developer/apns{ teamId, keyId, bundleId, privateKey } — the .p8 file content.
GET/developer/apnsCurrent configuration, without the private key.
DELETE/developer/apnsRemove the configuration.
POST/developer/test-push{ userId } — send a test notification to all that user's devices.

Details in Push Notifications.

Reset the workspace ​

POST /developer/reset ​

json
{ "confirm": "DELETE ALL DATA" }

Deletes every user, friendship, conversation, message, and media file in your workspace. The echo bot is recreated. APNs configuration is kept. 204.

WARNING

Do not reset after you submit. We create our test users in your workspace.

Workspace info ​

GET /developer/workspace ​

json
{
  "workspaceId": "ws_01JA…",
  "name": "Candidate workspace",
  "createdAt": "2026-10-22T09:00:00.000Z",
  "expiresAt": "2026-12-01T00:00:00.000Z",
  "counts": { "users": 4, "conversations": 3, "messages": 128 },
  "apnsConfigured": true
}

Questions? Reply to your invitation email.