# PAM Outbound API ## Docs - [Create an API key](https://docs.pam.ai/api-reference/api-keys/create-an-api-key.md): Creates a new API key for the authenticated organization. The raw key is returned only once in the create response. Store it immediately because later reads only return key metadata. - [Get an API key](https://docs.pam.ai/api-reference/api-keys/get-an-api-key.md): Returns metadata for a single API key. The raw key value is not returned. Requests can only inspect keys that belong to the authenticated organization. - [List API keys](https://docs.pam.ai/api-reference/api-keys/list-api-keys.md): Lists API key metadata for the authenticated organization. Raw key values are never returned by this endpoint. Use this list to audit active, expired, and revoked keys. - [Revoke an API key](https://docs.pam.ai/api-reference/api-keys/revoke-an-api-key.md): Immediately invalidates an API key. Revoking an already revoked key is idempotent. Existing requests with that key receive 401 unauthorized after revocation. - [Close a voice conversation](https://docs.pam.ai/api-reference/calls/close-a-voice-conversation.md): Closes an open voice conversation. If reason is omitted, PAM records admin_closed. Closing an already closed or inaccessible conversation returns the appropriate validation, conflict, or not found response. - [Create a voice call](https://docs.pam.ai/api-reference/calls/create-a-voice-call.md): Starts an outbound voice call using either an agent slug or an agent id. PAM accepts the request asynchronously and returns a conversation id. Use call webhooks to follow connection, end, and analysis events. The authenticated API key controls attribution and billing. - [Bulk enroll contacts](https://docs.pam.ai/api-reference/campaigns/bulk-enroll-contacts.md): Enrolls contacts in a campaign from a JSON request body. Use this for direct server-to-server enrollment when you already have the contact list. The response reports accepted and rejected contacts so you can reconcile imports. - [Create a campaign](https://docs.pam.ai/api-reference/campaigns/create-a-campaign.md): Creates a draft outbound campaign. Enroll contacts before the scheduled launch time. - [Create a CSV upload URL](https://docs.pam.ai/api-reference/campaigns/create-a-csv-upload-url.md): Creates a temporary upload URL for CSV enrollment. Use it when you want to upload contacts as a file instead of sending JSON. The URL is scoped to this campaign and should be used only for the CSV upload. - [Get a campaign](https://docs.pam.ai/api-reference/campaigns/get-a-campaign.md): Returns a campaign by id. The response includes launch timing, steps, enrollment counts, and current lifecycle status. Requests can only access campaigns that belong to the authenticated organization. - [Get campaign results](https://docs.pam.ai/api-reference/campaigns/get-campaign-results.md): Returns aggregate campaign results. Use this endpoint for dashboards, reconciliation, and post-campaign reporting. For per-contact progress, list the campaign journeys instead. - [List campaign journeys](https://docs.pam.ai/api-reference/campaigns/list-campaign-journeys.md): Returns contact-level journeys for a campaign. Filter by journey status or outcome to sync only the records your system needs. Results are cursor-paginated for reliable exports. - [List campaigns](https://docs.pam.ai/api-reference/campaigns/list-campaigns.md): Returns campaigns for the authenticated organization. Filter by status, type, and creation time to find the campaigns your integration owns. Results are cursor-paginated for stable sync jobs. - [Pause a campaign](https://docs.pam.ai/api-reference/campaigns/pause-a-campaign.md): Pauses an active campaign. PAM stops launching new outbound steps while preserving campaign state and results. Resume the campaign when you are ready to continue outreach. - [Resume a campaign](https://docs.pam.ai/api-reference/campaigns/resume-a-campaign.md): Resumes a paused campaign. PAM continues eligible outbound steps from the campaign state that was preserved during pause. Completed or cancelled campaigns return a conflict response. - [Update a campaign](https://docs.pam.ai/api-reference/campaigns/update-a-campaign.md): Partially updates a draft campaign. - [Close an SMS conversation](https://docs.pam.ai/api-reference/sms-conversations/close-an-sms-conversation.md): Closes an open SMS conversation. If reason is omitted, PAM records admin_closed. PAM may also close inactive conversations automatically with inactivity_timeout. - [Create an SMS conversation](https://docs.pam.ai/api-reference/sms-conversations/create-an-sms-conversation.md): Creates an SMS conversation and sends the opening outbound SMS. Creating a new conversation for the same from/to pair closes prior open SMS conversations for that pair. - [Delete a webhook](https://docs.pam.ai/api-reference/webhooks/delete-a-webhook.md): Deletes a webhook endpoint. PAM stops sending new deliveries to the endpoint after deletion. Historical delivery records may still appear in logs or reporting. - [Get a webhook](https://docs.pam.ai/api-reference/webhooks/get-a-webhook.md): Returns a webhook endpoint by id. The response includes destination URL, subscribed events, and endpoint metadata. The signing secret is not returned after creation. - [List webhooks](https://docs.pam.ai/api-reference/webhooks/list-webhooks.md): Lists webhook endpoints for the authenticated organization. Use this to audit destinations, subscribed events, and endpoint status. Results are cursor-paginated. - [Register a webhook](https://docs.pam.ai/api-reference/webhooks/register-a-webhook.md): Creates a webhook endpoint and subscribes it to event types. The signing secret is returned only once in the create response. Store the secret and use it to verify every future delivery. - [Update a webhook](https://docs.pam.ai/api-reference/webhooks/update-a-webhook.md): Updates a webhook endpoint. Use this to change the destination URL or subscribed event list. Existing deliveries may still retry against the endpoint configuration that was active when they were queued. - [PAM Agents](https://docs.pam.ai/guides/agents.md): Choose a PAM-managed agent for calls, SMS conversations, and campaign workflows. - [Authentication](https://docs.pam.ai/guides/authentication.md): Authenticate to the PAM Outbound API with bearer API keys. - [Calls](https://docs.pam.ai/guides/calls.md): Start an outbound voice call with a PAM-managed or custom agent. - [SMS Conversations](https://docs.pam.ai/guides/sms-conversations.md): Start and manage outbound SMS conversations. - [Webhooks](https://docs.pam.ai/guides/webhooks.md): Receive real-time call, SMS, and contact preference events. - [PAM Outbound API](https://docs.pam.ai/index.md): Create outbound campaigns, make calls, start SMS conversations, manage API keys, and receive webhook events. ## OpenAPI Specs - [v1](https://docs.pam.ai/openapi/v1.json) - [openapi](https://docs.pam.ai/api-reference/openapi.json)