Appearance
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:
| Field | Value |
|---|---|
username | echo |
displayName | Echo Bot |
Behaviour:
- Always online.
- Accepts every friend request within 1 second.
- For every message it receives: sends
receipt.deliveredimmediately,receipt.readafter 0.5 seconds, shows typing for 1 second, then repliesEcho: <your text>. Media messages get the replyEcho: 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
| Method | Path | Description |
|---|---|---|
PUT | /developer/apns | { teamId, keyId, bundleId, privateKey } — the .p8 file content. |
GET | /developer/apns | Current configuration, without the private key. |
DELETE | /developer/apns | Remove 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
}