Phound API v4
Every conversation.
One API.
Phound already puts calling, messaging, meetings and AI in a single app. The API gives your product the same thing: real phone numbers, live call and meeting data, recordings and team management, behind one OAuth2 token instead of five vendors.
# exchange an authorization code for an access token curl -X POST \ -d 'client_id=foo' \ -d 'client_secret=bar' \ -d 'grant_type=authorization_code' \ -d 'redirect_uri=https://yourapp.com/callback' \ -d 'code=quux' \ https://web.phound.app/api/v4/token #=> {"access_token":"baz", "refresh_token":"bat", "token_type":"bearer", "expires_in":2678397}
Why build on it
Three things the API hands your product
Every endpoint traces back to one of these. They are the same three ideas Phound is built on, exposed as data you can call.
01
Unified conversation data
Calls, meetings, recordings and files all live under one subscription. Pull conference history and recording details from one place instead of reconciling logs across tools.
02
Real phone number, real business
Phound numbers are real numbers your customers already dial and text. Business numbers, SMS and Phound Wave broadcasts are enabled per account by our team, and this page is where you ask.
03
Account and team control
Create subscriptions, promote admins, manage access controls and billing for a whole team from one privileged client. Onboarding and offboarding become an API call.
How access works
From request to first call
Every request runs against a subscription, which is a Phound account. Your client gets an access_token for that subscription, then calls the API with it.
Request credentials
Tell us what you are building with the form below. Our team reviews every request and issues a client_id and client_secret for your app.
Pick an authorization scheme
Send users to /api/v4/authorize for the Authorization Code or Implicit flows. Privileged clients can also trade a login for a token directly.
Exchange for a token
POST /api/v4/token returns an access_token, a refresh_token and expires_in in seconds. Send the token as a bearer credential on every request.
Call, then refresh
When the token expires, post to /api/v4/token again with grant_type=refresh_token for a new pair. No need to send the user back through authorization.
| Scheme | Who can use it | Works on | Gets you |
|---|---|---|---|
| Authorization Code | All clients with a server | Existing subscription | access_token + refresh_token |
| Implicit | All clients, no server needed | Existing subscription | access_token only |
| Resource Owner Password | Privileged clients only | Existing subscription | access_token + refresh_token in one request |
| Signup Implicit | Privileged clients only | Creates a new subscription | A new account and its access_token in one request |
Some privileged-client requests are also signed: send your client_id, a Unix timestamp _t and sig = SHA-256("{client_id}{_t}{secret_key}"). The full reference has the details.
Required before you text
Sending SMS from a U.S. number needs TCR registration first.
Any text sent from a U.S. phone number, whether one message or a Phound Wave campaign, has to run on a number registered with The Campaign Registry (TCR) under the carriers' 10DLC rules. Unregistered traffic gets filtered or blocked, and there is no API flag that skips it.
Phound handles the registration with you. Tell us on the request form that you plan to text from U.S. numbers and our team will walk you through the brand and campaign forms before your credentials go live. Business admins can also submit the 10DLC registration form through the API once they have access.
Have ready
- Your legal company name, address and EIN or tax ID
- The Phound number(s) you will send from
- What the messages are for and roughly how many you expect to send
- Sample message text and how people opt in and out
What's in the API
Resources you can call today
The full reference documents every field and filter. Here is the shape of it, grouped by what each resource manages.
Subscription (current)
accountRead and update the authenticated account: profile, avatar, time zone and settings.
- GET/subscription
- PATCH/subscription
- POST/subscriptions/avatars
Subscriptions (team)
adminList, create, update, suspend or cancel the subscriptions under an admin account, and manage each one's access controls.
- GET/subscriptions
- PATCH/subscriptions/{id}
- DEL/subscriptions/{id}
Conferences
calls & meetingsEvery call and meeting on a subscription, for the current account or any team member you administer.
- GET/conferences
- GET/subscriptions/{id}/conferences
- DEL/conferences/{id}
Recordings & Files
storageUpload, fetch and manage recordings and other subscription files, including quota, restore and Dropbox hand-off.
- POST/storage/upload
- GET/storage/files/{id}
- GET/recordings/files
Contacts
address bookRead, add, update and remove a subscription's contacts, including the blocked list.
- GET/contacts
- POST/contacts
- PATCH/contacts/{id}
Billing & TCR
Phound BusinessAttach a payment method, pull invoice history and submit the 10DLC business registration form.
- GET/credit_card
- GET/phound_admin/invoices
- POST/phound_admin/tcr/business
Also in the reference: countries and time zones, phone number verification, sessions, flows and external sign-in with Apple or Google. Browse every endpoint →
Free to use
The API is provided at no cost, under Phound's Terms of Service and Privacy Policy.
Still in alpha
You are looking at v4.0.0α. Endpoints and fields can shift before a stable release, so check the reference before you ship.
Every response has a retcode
0 means success. Anything else comes with an error status such as invalid_token or too_many_requests, and usually a description.
Help is a person
Questions about your integration go to support@phound.app. There is also a Postman collection linked from the reference.
Request API access
Tell us what you're building.
API credentials are issued by our team, not self-serve. That keeps the phone network clean and means a real person looks at your use case before you start. Most requests hear back within two business days.
- You will need a Phound account. Create one free if you have not yet.
- We reply from support@phound.app with your
client_idandclient_secret. - Texting from U.S. numbers? Say so below and we will start TCR registration alongside your credentials.
Ready to wire it in?
The full reference documents every field, filter and response shape for every endpoint above.