Postscript
Connect Postscript to manage SMS subscribers, send text messages, trigger Flows with custom events, run compliance opt-outs, and manage webhooks.
You end up with the Private Key half of a Postscript API security key pair, an sk_ string that you paste into PopMCP's API key field.
- Setup time
- 3 min
- Auth
- API credentials
- API base URL
- https://api.postscript.io/api/v2
- Rate limits
- Up to 15 requests per second per token. Beyond that the API returns 429 "Rate limit exceeded".
Before you begin
- A Postscript account with the shop you want to connect already selected.
- A role that can open the shop menu and reach API, such as shop owner or admin.
- Partners only: a Partner API key issued by Postscript to approved Integration Partners. There is no self-serve way to create one, so request it from your Postscript contact.
Get your credentials
Open the API page for your shop
Sign in at app.postscript.io and select your Shop Name in the side menu, then select API. If you manage several shops, switch to the right one first with Select Shop.
API Keys
Security key pairs that authenticate API requests for this shop.
| Label | Public Key | Private Key | Enabled | Created On |
|---|---|---|---|---|
| ZapierUsed by the ops team | pk_****9c31 | Show | Enabled | Mar 4, 2026 |
| Old export scriptRetired | pk_****41a7 | Show | Disabled | Nov 18, 2025 |
No key pairs yet
Create one to start calling the Postscript API.
Create a security key pair
Select Create Security Key Pair on the right of the page, then confirm with Yes.
API Keys
Security key pairs that authenticate API requests for this shop.
Label the pair and reveal the private key
Type a label such as PopMCP in the Label column so you can track where the key is used. Select Show in the Private Key column and copy the sk_ value.
API Keys
Security key pairs that authenticate API requests for this shop.
| Label | Public Key | Private Key | Enabled | Created On |
|---|---|---|---|---|
| PopMCPNew | pk_****9c31 | sk_****************4a2f | Enabled | Mar 4, 2026 |
Take the Private Key. The API rejects the Public Key.
Paste it into PopMCP
Put the private key in PopMCP's API key field and leave Shop token blank.
Connect in PopMCP
Open your workspace, choose Postscript in the marketplace, and fill in the connect dialog:
| Field | What to enter |
|---|---|
| API keysecret | Postscript dashboard (app.postscript.io) → Account → API → copy your PRIVATE API key (not the Public key). If none is shown, click Create Security Key Pair first. Stored encrypted; used server-side only (sent as Authorization: Bearer). The connection is locked to this key's shop.Encrypted with AES-256-GCM on save and never shown again. |
| Shop token (partners only, optional)secret | Only for Postscript technical partners: put your PARTNER key in the API key field above and the target shop's Private API Key here. It is sent as X-Postscript-Shop-Token. Shops connecting their own account should leave this blank.Encrypted with AES-256-GCM on save and never shown again. |
PopMCP verifies the credential against Postscript immediately. On success the connection flips to Verified and its MCP tools are provisioned.
Verify it worked
The Postscript connector in PopMCP shows Connected and a read call such as listing subscribers returns rows from the shop whose key you pasted.
Troubleshooting
401 Unauthorized on every call
Why: The Public Key was pasted instead of the Private Key, or the pair was disabled or deleted.
Fix: Open the shop menu, select API, check the row shows Enabled, and use Show in the Private Key column to copy the correct value.
Calls return data for the wrong store
Why: A different shop was active when the key pair was created. Keys are bound to one shop.
Fix: Use Select Shop to switch to the right shop, create a key pair there, and reconnect PopMCP with it.
429 with "Rate limit exceeded"
Why: More than 15 requests per second on that token.
Fix: Space the calls out and retry. The limit is per token, so a partner key paired with a shop token shares one bucket.
Partner key returns 403 for a shop
Why: The shop token header is missing or holds the shop's public key.
Fix: Put the partner key in API key and the shop's private key in Shop token.