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.

REST + JSON OAuth2 access tokens No cost to use
POST /api/v4/token
# 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.

ConferencesRecordingsFiles

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.

Phone numbersTCR / 10DLCWave

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.

Subscriptions (team)Access controlsCredit cards & invoices

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.

SchemeWho can use itWorks onGets you
Authorization CodeAll clients with a serverExisting subscriptionaccess_token + refresh_token
ImplicitAll clients, no server neededExisting subscriptionaccess_token only
Resource Owner PasswordPrivileged clients onlyExisting subscriptionaccess_token + refresh_token in one request
Signup ImplicitPrivileged clients onlyCreates a new subscriptionA 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)

account

Read and update the authenticated account: profile, avatar, time zone and settings.

  • GET/subscription
  • PATCH/subscription
  • POST/subscriptions/avatars

Subscriptions (team)

admin

List, 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 & meetings

Every 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

storage

Upload, 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 book

Read, add, update and remove a subscription's contacts, including the blocked list.

  • GET/contacts
  • POST/contacts
  • PATCH/contacts/{id}

Billing & TCR

Phound Business

Attach 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_id and client_secret.
  • Texting from U.S. numbers? Say so below and we will start TCR registration alongside your credentials.
Which parts of the API do you need?
Will you send SMS from U.S. phone numbers?

Good to know now: U.S. texting needs TCR (10DLC) registration before it goes live. We will send the brand and campaign forms with your credentials so nothing waits on it later.

Thanks. Our team will review your request and reply from support@phound.app with your credentials and next steps.

That didn't go through. Check the highlighted fields and try again, or email support@phound.app.

Prefer email? Send the same details to support@phound.app.

Ready to wire it in?

The full reference documents every field, filter and response shape for every endpoint above.