{"info":{"name":"PulseApi","description":"WhatsApp gateway API. Every call needs an API key in an Authorization header: `Authorization: Bearer sk_live_…`. Create keys in the console at /console.\n\nSet the collection variables `baseUrl` and `apiKey` and every request here works as-is. Requests with a `:id` in the path need that path variable filled in.","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json"},"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{apiKey}}","type":"string"}]},"variable":[{"key":"baseUrl","value":"https://api.massandvoid.in","type":"string"},{"key":"apiKey","value":"sk_live_…","type":"string"}],"item":[{"name":"Account","item":[{"name":"Create an account and its first API key","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/signup","host":["{{baseUrl}}"],"path":["v1","signup"]},"description":"Create an account and its first API key\n\nPublic. Disabled unless the deployment turns it on. Returns the API key exactly once.","body":{"mode":"raw","raw":"{\n  \"name\": \"string\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"Your account and its limits","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/me","host":["{{baseUrl}}"],"path":["v1","me"]},"description":"Your account and its limits"}},{"name":"List your API keys (prefixes only)","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/keys","host":["{{baseUrl}}"],"path":["v1","keys"]},"description":"List your API keys (prefixes only)"}},{"name":"Create another API key (returned once)","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/keys","host":["{{baseUrl}}"],"path":["v1","keys"]},"description":"Create another API key (returned once)","body":{"mode":"raw","raw":"{\n  \"name\": \"string\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"Revoke an API key","request":{"method":"DELETE","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/keys/:id","host":["{{baseUrl}}"],"path":["v1","keys",":id"],"variable":[{"key":"id","value":"","description":""}]},"description":"Revoke an API key"}},{"name":"Show an API key again (dashboard login only)","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/keys/:id/reveal","host":["{{baseUrl}}"],"path":["v1","keys",":id","reveal"],"variable":[{"key":"id","value":"","description":""}]},"description":"Show an API key again (dashboard login only)\n\nReturns the full key. Only a logged-in dashboard session may call this — never another API key — and only for keys created after keys became viewable."}},{"name":"Your support tickets","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/support","host":["{{baseUrl}}"],"path":["v1","support"]},"description":"Your support tickets"}},{"name":"Send a message to PulseApi support, with screenshots","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/support","host":["{{baseUrl}}"],"path":["v1","support"]},"description":"Send a message to PulseApi support, with screenshots","body":{"mode":"raw","raw":"{\n  \"subject\": \"string\",\n  \"message\": \"string\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"Platform-wide live figures shown on the landing page (no auth)","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/stats/public","host":["{{baseUrl}}"],"path":["v1","stats","public"]},"description":"Platform-wide live figures shown on the landing page (no auth)"}},{"name":"Account settings","request":{"method":"PATCH","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/account","host":["{{baseUrl}}"],"path":["v1","account"]},"description":"Account settings","body":{"mode":"raw","raw":"{\n  \"name\": \"string\",\n  \"notifyEmail\": \"string\",\n  \"timezone\": \"Asia/Kolkata\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"Delete the account and everything in it (owner session only)","request":{"method":"DELETE","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/account","host":["{{baseUrl}}"],"path":["v1","account"]},"description":"Delete the account and everything in it (owner session only)","body":{"mode":"raw","raw":"{\n  \"confirm\": \"The account name\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"Team members","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/account/members","host":["{{baseUrl}}"],"path":["v1","account","members"]},"description":"Team members"}},{"name":"Add a team member by email (owner only)","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/account/members","host":["{{baseUrl}}"],"path":["v1","account","members"]},"description":"Add a team member by email (owner only)","body":{"mode":"raw","raw":"{\n  \"email\": \"string\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"Plan, trial state, catalogue and payment history","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/billing","host":["{{baseUrl}}"],"path":["v1","billing"]},"description":"Plan, trial state, catalogue and payment history\n\nEvery account starts with a short full-feature trial and must then subscribe. While expired, the API answers 402 to everything except this, /v1/me, /v1/account and /v1/keys."}}]},{"name":"Phones","item":[{"name":"List connected numbers","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones","host":["{{baseUrl}}"],"path":["v1","phones"]},"description":"List connected numbers"}},{"name":"Provision a number (returns a QR to scan)","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones","host":["{{baseUrl}}"],"path":["v1","phones"]},"description":"Provision a number (returns a QR to scan)","body":{"mode":"raw","raw":"{\n  \"label\": \"string\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"Status and current sending allowance","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id","host":["{{baseUrl}}"],"path":["v1","phones",":id"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"Status and current sending allowance"}},{"name":"Rename, mark established, or change anti-ban settings","request":{"method":"PATCH","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id","host":["{{baseUrl}}"],"path":["v1","phones",":id"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"Rename, mark established, or change anti-ban settings\n\nEvery field is optional. `established` starts the number on the day-7 rung. `safeMode` adds a typing indicator, uneven gaps and occasional breaks. `quietHours` (null to clear) holds sends between two local hours. `pacing` switches between the automatic ladder and your own gap/cap — custom figures are your number’s risk to carry.","body":{"mode":"raw","raw":"{\n  \"label\": \"string\",\n  \"established\": true,\n  \"safeMode\": true,\n  \"timezone\": \"Asia/Kolkata\",\n  \"proxyUrl\": \"socks5://user:pass@1.2.3.4:1080\",\n  \"quietHours\": {\n    \"start\": 22,\n    \"end\": 8,\n    \"timezone\": \"Asia/Kolkata\"\n  },\n  \"pacing\": {\n    \"mode\": \"auto\"\n  }\n}","options":{"raw":{"language":"json"}}}}},{"name":"Log out and remove a number","request":{"method":"DELETE","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id","host":["{{baseUrl}}"],"path":["v1","phones",":id"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"Log out and remove a number"}},{"name":"Anti-ban picture: ladder position, running pace, 7-day history, reply ratio","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/warmup","host":["{{baseUrl}}"],"path":["v1","phones",":id","warmup"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"Anti-ban picture: ladder position, running pace, 7-day history, reply ratio"}},{"name":"Check a proxy: exit IP and latency, without saving","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/proxy-test","host":["{{baseUrl}}"],"path":["v1","phones",":id","proxy-test"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"Check a proxy: exit IP and latency, without saving","body":{"mode":"raw","raw":"{\n  \"url\": \"Omit to test the saved proxy\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"Current pairing QR code","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/qr","host":["{{baseUrl}}"],"path":["v1","phones",":id","qr"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"Current pairing QR code"}},{"name":"Read the pending pairing code","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/pairing-code","host":["{{baseUrl}}"],"path":["v1","phones",":id","pairing-code"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"Read the pending pairing code"}},{"name":"Pair by 8-character code instead of QR","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/pairing-code","host":["{{baseUrl}}"],"path":["v1","phones",":id","pairing-code"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"Pair by 8-character code instead of QR","body":{"mode":"raw","raw":"{\n  \"msisdn\": \"Number with country code\"\n}","options":{"raw":{"language":"json"}}}}}]},{"name":"Maytapi compatible","item":[{"name":"Send a message with Maytapi’s request shape","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/api/:product_id/:phone_id/sendMessage","host":["{{baseUrl}}"],"path":["api",":product_id",":phone_id","sendMessage"],"variable":[{"key":"product_id","value":"","description":"Your account id (ten_…)"},{"key":"phone_id","value":"","description":"Numeric alias such as 10001, or the ph_… id"}]},"description":"Send a message with Maytapi’s request shape\n\nDrop-in for Maytapi’s sendMessage. product_id is your account id, phone_id the number’s numeric alias (or ph_… id), authenticated with x-maytapi-key (Bearer and x-api-key also work). type \"text\" sends message as text; type \"media\" takes an http(s) URL or a data:…;base64 URI in message, with text as caption and filename as the document name. Answers 200 {success:true,data:{chatId,msgId}} when queued and a non-200 {success:false,message} otherwise.","body":{"mode":"raw","raw":"{\n  \"to_number\": \"Bare digits with country code\",\n  \"message\": \"Text\"\n}","options":{"raw":{"language":"json"}}}}}]},{"name":"Messages","item":[{"name":"Message history","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/messages","host":["{{baseUrl}}"],"path":["v1","phones",":id","messages"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}],"query":[{"key":"limit","value":"","disabled":true,"description":""},{"key":"before","value":"","disabled":true,"description":""},{"key":"chat","value":"","disabled":true,"description":""}]},"description":"Message history"}},{"name":"Send a message","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"},{"key":"Idempotency-Key","value":"","disabled":true}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/messages","host":["{{baseUrl}}"],"path":["v1","phones",":id","messages"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"Send a message\n\nAccepts text, image, video, audio, document, sticker, location, contact, reaction and forward. Media can be a URL, inline base64, or a mediaId from POST /v1/media. Send an Idempotency-Key header and a retry returns the original result rather than sending twice.","body":{"mode":"raw","raw":"{\n  \"to\": \"+919876543210\",\n  \"content\": {\n    \"kind\": \"text\",\n    \"text\": \"string\"\n  }\n}","options":{"raw":{"language":"json"}}}}},{"name":"Conversation inbox — one row per chat, newest first","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/chats","host":["{{baseUrl}}"],"path":["v1","phones",":id","chats"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}],"query":[{"key":"limit","value":"","disabled":true,"description":""},{"key":"before","value":"","disabled":true,"description":""}]},"description":"Conversation inbox — one row per chat, newest first\n\nDerived from stored messages, so a chat appears here once a message has flowed through PulseApi. Each row carries the last message and an unread count."}},{"name":"Edit a message you sent","request":{"method":"PATCH","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/messages/:waMessageId","host":["{{baseUrl}}"],"path":["v1","phones",":id","messages",":waMessageId"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"},{"key":"waMessageId","value":"","description":""}]},"description":"Edit a message you sent","body":{"mode":"raw","raw":"{\n  \"text\": \"string\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"Delete a message for everyone","request":{"method":"DELETE","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/messages/:waMessageId","host":["{{baseUrl}}"],"path":["v1","phones",":id","messages",":waMessageId"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"},{"key":"waMessageId","value":"","description":""}]},"description":"Delete a message for everyone"}},{"name":"Mark messages as read","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/chats/:chat/read","host":["{{baseUrl}}"],"path":["v1","phones",":id","chats",":chat","read"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"},{"key":"chat","value":"","description":""}]},"description":"Mark messages as read","body":{"mode":"raw","raw":"{\n  \"waMessageIds\": [\n    \"string\"\n  ]\n}","options":{"raw":{"language":"json"}}}}},{"name":"Show a typing or recording indicator","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/chats/:chat/typing","host":["{{baseUrl}}"],"path":["v1","phones",":id","chats",":chat","typing"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"},{"key":"chat","value":"","description":""}]},"description":"Show a typing or recording indicator","body":{"mode":"raw","raw":"{\n  \"state\": \"composing\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"One message by id","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/messages/:id","host":["{{baseUrl}}"],"path":["v1","messages",":id"],"variable":[{"key":"id","value":"","description":""}]},"description":"One message by id"}}]},{"name":"Media","item":[{"name":"Upload an attachment and get a reusable mediaId","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/media","host":["{{baseUrl}}"],"path":["v1","media"]},"description":"Upload an attachment and get a reusable mediaId","body":{"mode":"raw","raw":"{\n  \"base64\": \"string\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"Download an attachment","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/media/:id","host":["{{baseUrl}}"],"path":["v1","media",":id"],"variable":[{"key":"id","value":"","description":""}]},"description":"Download an attachment"}},{"name":"Metadata for an upload without the bytes","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/media/:id/info","host":["{{baseUrl}}"],"path":["v1","media",":id","info"],"variable":[{"key":"id","value":"","description":""}]},"description":"Metadata for an upload without the bytes"}}]},{"name":"Groups","item":[{"name":"List groups this number is in","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/groups","host":["{{baseUrl}}"],"path":["v1","phones",":id","groups"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"List groups this number is in"}},{"name":"Create a group","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/groups","host":["{{baseUrl}}"],"path":["v1","phones",":id","groups"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"Create a group","body":{"mode":"raw","raw":"{\n  \"subject\": \"string\",\n  \"participants\": [\n    \"string\"\n  ]\n}","options":{"raw":{"language":"json"}}}}},{"name":"Group metadata and participants","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/groups/:groupId","host":["{{baseUrl}}"],"path":["v1","phones",":id","groups",":groupId"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"},{"key":"groupId","value":"","description":""}]},"description":"Group metadata and participants"}},{"name":"Change the group subject","request":{"method":"PATCH","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/groups/:groupId","host":["{{baseUrl}}"],"path":["v1","phones",":id","groups",":groupId"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"},{"key":"groupId","value":"","description":""}]},"description":"Change the group subject","body":{"mode":"raw","raw":"{\n  \"subject\": \"string\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"Leave a group","request":{"method":"DELETE","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/groups/:groupId","host":["{{baseUrl}}"],"path":["v1","phones",":id","groups",":groupId"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"},{"key":"groupId","value":"","description":""}]},"description":"Leave a group"}},{"name":"Add, remove, promote or demote participants","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/groups/:groupId/participants","host":["{{baseUrl}}"],"path":["v1","phones",":id","groups",":groupId","participants"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"},{"key":"groupId","value":"","description":""}]},"description":"Add, remove, promote or demote participants","body":{"mode":"raw","raw":"{\n  \"participants\": [\n    \"string\"\n  ],\n  \"action\": \"add\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"Group invite link","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/groups/:groupId/invite","host":["{{baseUrl}}"],"path":["v1","phones",":id","groups",":groupId","invite"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"},{"key":"groupId","value":"","description":""}]},"description":"Group invite link"}}]},{"name":"Contacts","item":[{"name":"Is this number on WhatsApp?","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/contacts/:number","host":["{{baseUrl}}"],"path":["v1","phones",":id","contacts",":number"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"},{"key":"number","value":"","description":""}]},"description":"Is this number on WhatsApp?"}},{"name":"Block or unblock a contact","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/contacts/:number/block","host":["{{baseUrl}}"],"path":["v1","phones",":id","contacts",":number","block"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"},{"key":"number","value":"","description":""}]},"description":"Block or unblock a contact","body":{"mode":"raw","raw":"{\n  \"action\": \"block\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"Numbers this phone has blocked","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/blocklist","host":["{{baseUrl}}"],"path":["v1","phones",":id","blocklist"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"Numbers this phone has blocked"}}]},{"name":"Profile","item":[{"name":"This number's own profile","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/profile","host":["{{baseUrl}}"],"path":["v1","phones",":id","profile"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"This number's own profile"}},{"name":"Set display name and/or about text","request":{"method":"PATCH","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/profile","host":["{{baseUrl}}"],"path":["v1","phones",":id","profile"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"Set display name and/or about text","body":{"mode":"raw","raw":"{\n  \"name\": \"string\",\n  \"status\": \"The \\\"about\\\" text\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"Set the profile photo","request":{"method":"PUT","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/profile/picture","host":["{{baseUrl}}"],"path":["v1","phones",":id","profile","picture"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"Set the profile photo\n\nBody is a media source: { url }, { base64 } or { mediaId }.","body":{"mode":"raw","raw":"{\n  \"url\": \"https://example.com/file.jpg\"\n}","options":{"raw":{"language":"json"}}}}},{"name":"Remove the profile photo","request":{"method":"DELETE","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/profile/picture","host":["{{baseUrl}}"],"path":["v1","phones",":id","profile","picture"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"Remove the profile photo"}},{"name":"Appear online or offline","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/presence","host":["{{baseUrl}}"],"path":["v1","phones",":id","presence"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"Appear online or offline","body":{"mode":"raw","raw":"{\n  \"state\": \"available\"\n}","options":{"raw":{"language":"json"}}}}}]},{"name":"Logs","item":[{"name":"Message log across all numbers","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/messages","host":["{{baseUrl}}"],"path":["v1","messages"],"query":[{"key":"limit","value":"","disabled":true,"description":""},{"key":"before","value":"","disabled":true,"description":""},{"key":"since","value":"","disabled":true,"description":""},{"key":"until","value":"","disabled":true,"description":""},{"key":"phoneId","value":"","disabled":true,"description":""},{"key":"direction","value":"","disabled":true,"description":""},{"key":"status","value":"","disabled":true,"description":""},{"key":"type","value":"","disabled":true,"description":""},{"key":"chat","value":"","disabled":true,"description":"Phone number or JID"},{"key":"q","value":"","disabled":true,"description":""}]},"description":"Message log across all numbers\n\nNewest first. Filter by number, direction, status, chat, type, a time window, or free text (`q` matches message text, caption and chat number). Page with `before`."}},{"name":"Counts for the last 24 hours","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/messages/stats","host":["{{baseUrl}}"],"path":["v1","messages","stats"]},"description":"Counts for the last 24 hours"}},{"name":"Webhook delivery log across all endpoints","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/webhooks/deliveries","host":["{{baseUrl}}"],"path":["v1","webhooks","deliveries"],"query":[{"key":"limit","value":"","disabled":true,"description":""},{"key":"before","value":"","disabled":true,"description":""},{"key":"endpointId","value":"","disabled":true,"description":""},{"key":"status","value":"","disabled":true,"description":""},{"key":"event","value":"","disabled":true,"description":""}]},"description":"Webhook delivery log across all endpoints"}},{"name":"Send a failed delivery again","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/webhooks/deliveries/:id/retry","host":["{{baseUrl}}"],"path":["v1","webhooks","deliveries",":id","retry"],"variable":[{"key":"id","value":"","description":""}]},"description":"Send a failed delivery again\n\nResets the attempt budget and re-queues the same payload."}}]},{"name":"Queue","item":[{"name":"Cancel a queued message","request":{"method":"DELETE","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/messages/:id","host":["{{baseUrl}}"],"path":["v1","messages",":id"],"variable":[{"key":"id","value":"","description":""}]},"description":"Cancel a queued message\n\nOnly a message that has not left yet can be cancelled; anything else returns 422."}},{"name":"What is waiting to send on this number","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/queue","host":["{{baseUrl}}"],"path":["v1","phones",":id","queue"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}],"query":[{"key":"limit","value":"","disabled":true,"description":""}]},"description":"What is waiting to send on this number\n\nPending messages in send order, with today’s usage against the warm-up cap and an estimate of how long the backlog takes at the current pace."}},{"name":"Cancel everything waiting on this number","request":{"method":"DELETE","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/phones/:id/queue","host":["{{baseUrl}}"],"path":["v1","phones",":id","queue"],"variable":[{"key":"id","value":"","description":"Phone ID, e.g. ph_4w72h0ay7ctghgwz"}]},"description":"Cancel everything waiting on this number"}}]},{"name":"Webhooks","item":[{"name":"Remove a webhook endpoint","request":{"method":"DELETE","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/webhooks/:id","host":["{{baseUrl}}"],"path":["v1","webhooks",":id"],"variable":[{"key":"id","value":"","description":""}]},"description":"Remove a webhook endpoint"}},{"name":"Recent deliveries to one endpoint","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/webhooks/:id/deliveries","host":["{{baseUrl}}"],"path":["v1","webhooks",":id","deliveries"],"variable":[{"key":"id","value":"","description":""}]},"description":"Recent deliveries to one endpoint"}},{"name":"List webhook endpoints","request":{"method":"GET","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/webhooks","host":["{{baseUrl}}"],"path":["v1","webhooks"]},"description":"List webhook endpoints"}},{"name":"Register a webhook (returns the signing secret once)","request":{"method":"POST","header":[{"key":"content-type","value":"application/json"}],"url":{"raw":"{{baseUrl}}/v1/webhooks","host":["{{baseUrl}}"],"path":["v1","webhooks"]},"description":"Register a webhook (returns the signing secret once)","body":{"mode":"raw","raw":"{\n  \"url\": \"https://example.com/file.jpg\",\n  \"events\": [\n    \"message.received\"\n  ]\n}","options":{"raw":{"language":"json"}}}}}]}]}