Java SDK
Setup & Initialization
Add the Pingram dependency (Maven). Use the latest version on Maven Central :
< groupId > io.pingram </ groupId >
< artifactId > pingram </ artifactId >
Or with Gradle:
implementation ' io.pingram:pingram:1.0.0 '
Create the Pingram client with your API key:
import io.pingram.Pingram ;
Pingram client = new Pingram ( " YOUR_API_KEY " ) ;
Name
Type
Description
apiKey*
string
Your Pingram API key. You can get it from your dashboard under Environments.
baseUrl
string
Optional. Use new Pingram(apiKey, "https://api.eu.pingram.io") or new Pingram(apiKey, Pingram.Region.EU) for EU/CA.
* required
Region example:
Pingram client = new Pingram ( " YOUR_API_KEY " , Pingram . Region . EU ) ;
Send
send()
Send a notification (email, SMS, etc.) to one user. Requires a notification `type` which categorizes this messages for future reporting, and channel-specific payloads such as `email` or `sms`. Recipient is specified with the `to` parameter. Returns a `trackingId` for error or delivery lookup through our Logs.
SenderPostBody senderPostBody = new SenderPostBody () ; // SenderPostBody |
SenderPostResponse result = client . send ( senderPostBody ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling DefaultApi#send: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
type
string
ID of the notification type (e.g. “welcome_email”). Creates a new notification if it does not exist.
to
object
Recipient user. Provide id, email, or number to identify the user.
to.id
string
Unique user identifier. Required.
to.email
string
User’s email address for email notifications.
to.number
string
User’s phone number for SMS/call notifications.
to.pushTokens
object[]
Mobile push tokens (FCM, APN) for push notifications.
to.pushTokens[].type
“FCM” | “APN”
(required)
to.pushTokens[].token
string
(required)
to.pushTokens[].device
object
(required)
to.pushTokens[].device.app_id
string
to.pushTokens[].device.ad_id
string
to.pushTokens[].device.device_id
string
(required)
to.pushTokens[].device.platform
string
to.pushTokens[].device.manufacturer
string
to.pushTokens[].device.model
string
to.pushTokens[].environment
string
used by APN to differentiate between sandbox and production builds (sandbox/undefined or production)
to.webPushTokens
object[]
Web push subscription config from the browser.
to.webPushTokens[].sub
object
(required) Configuration for a Push Subscription. This can be obtained on the frontend by calling serviceWorkerRegistration.pushManager.subscribe(). The expected format is the same output as JSON.stringify’ing a PushSubscription in the browser.
to.webPushTokens[].sub.endpoint
string
(required)
to.webPushTokens[].sub.keys
object
(required)
to.webPushTokens[].sub.keys.p256dh
string
(required)
to.webPushTokens[].sub.keys.auth
string
(required)
to.timezone
string
User’s timezone (e.g. “America/New_York”) for scheduling.
to.slackChannel
string
The destination channel of slack notifications sent to this user. Can be either of the following: - Channel name, e.g. “test” - Channel name with # prefix, e.g. “#test” - Channel ID, e.g. “C1234567890” - User ID for DM, e.g. “U1234567890” - Username with @ prefix, e.g. “@test”
to.slackToken
object
to.slackToken.access_token
string
to.slackToken.app_id
string
to.slackToken.authed_user
object
to.slackToken.authed_user.access_token
string
to.slackToken.authed_user.expires_in
number
to.slackToken.authed_user.id
string
to.slackToken.authed_user.refresh_token
string
to.slackToken.authed_user.scope
string
to.slackToken.authed_user.token_type
string
to.slackToken.bot_user_id
string
to.slackToken.enterprise
object
to.slackToken.enterprise.id
string
to.slackToken.enterprise.name
string
to.slackToken.error
string
to.slackToken.expires_in
number
to.slackToken.incoming_webhook
object
to.slackToken.incoming_webhook.channel
string
to.slackToken.incoming_webhook.channel_id
string
to.slackToken.incoming_webhook.configuration_url
string
to.slackToken.incoming_webhook.url
string
to.slackToken.is_enterprise_install
boolean
to.slackToken.needed
string
to.slackToken.ok
boolean
(required)
to.slackToken.provided
string
to.slackToken.refresh_token
string
to.slackToken.scope
string
to.slackToken.team
object
to.slackToken.team.id
string
to.slackToken.team.name
string
to.slackToken.token_type
string
to.slackToken.warning
string
to.slackToken.response_metadata
object
to.slackToken.response_metadata.warnings
string[]
to.slackToken.response_metadata.next_cursor
string
to.slackToken.response_metadata.scopes
string[]
to.slackToken.response_metadata.acceptedScopes
string[]
to.slackToken.response_metadata.retryAfter
number
to.slackToken.response_metadata.messages
string[]
to.lastSeenTime
string
Last activity timestamp. Updated automatically. Read-only.
to.updatedAt
string
Last update timestamp. Read-only.
to.createdAt
string
Creation timestamp. Read-only.
to.emailSuppressionStatus
object
Bounce or complaint status if email was suppressed. Read-only.
to.emailSuppressionStatus.reason
“Bounce” | “Complaint”
(required)
to.emailSuppressionStatus.details
object
(required)
forceChannels
(“EMAIL” | “INAPP_WEB” | “SMS” | “CALL” | “VOICE” | “PUSH” | “WEB_PUSH” | “SLACK”)[]
Override which channels to send to (e.g. [“EMAIL”, “SMS”]). Bypasses notification channel config.
parameters
Record<string, any>
Key-value pairs for template merge tags. Replaces placeholders like {{firstName}} in templates.
templateId
string
Specific template ID to use. If omitted, uses the default template for each channel.
subNotificationId
string
Sub-notification identifier (e.g. for grouping related notifications).
options
object
Per-channel overrides for send options (email, APN, FCM).
options.email
object
Email-specific overrides.
options.email.replyToAddresses
string[]
Reply-to addresses for the email.
options.email.ccAddresses
string[]
CC recipients.
options.email.bccAddresses
string[]
BCC recipients.
options.email.fromAddress
string
Override sender email address.
options.email.fromName
string
Override sender display name.
options.email.attachments
(object | object)[]
File attachments (by URL or inline base64 content). Inline content: ~4 MB raw per file (413 if exceeded). URL url: up to 20 MB per file.
options.apn
object
Apple Push Notification (APN) overrides.
options.apn.expiry
number
Seconds until the notification expires.
options.apn.priority
number
Delivery priority (10 = immediate, 5 = power-saving).
options.apn.collapseId
string
Group notifications with the same ID (replaces previous).
options.apn.threadId
string
Thread identifier for grouping notifications.
options.apn.badge
number
Badge count on app icon.
options.apn.sound
string
Sound file name.
options.apn.contentAvailable
boolean
Silent background notification (no alert).
options.fcm
object
Firebase Cloud Messaging (FCM) overrides.
options.fcm.android
object
Android-specific FCM options.
options.fcm.android.collapseKey
string
Collapse key for grouping messages.
options.fcm.android.priority
“high” | “normal”
Delivery priority.
options.fcm.android.ttl
number
Time to live in seconds.
options.fcm.android.restrictedPackageName
string
Restrict delivery to a specific package.
options.push
object
Cross-platform mobile push options (applied to both APN and FCM).
options.push.customData
Record<string, string>
Up to 3 custom string key-value pairs for deep linking. Included in both APN and FCM payloads.
schedule
string
email
object
Inline email content (subject, html). Use when not using templates.
email.subject
string
(required) Email subject line.
email.html
string
(required) HTML body content.
email.previewText
string
Preview/snippet text shown in inbox.
email.senderName
string
Display name of sender.
email.senderEmail
string
Sender email address.
inapp
object
Inline in-app content (title, url, image).
inapp.title
string
(required) Notification title.
inapp.url
string
URL to open when clicked.
inapp.image
string
Image URL.
sms
object
Inline SMS content (message, autoReply, from, mediaUrls).
sms.message
string
SMS/MMS body text.
sms.mediaUrls
string[]
Public HTTPS URLs of media to attach (MMS). Carriers fetch these via GET. Total size limits apply per provider.
sms.autoReply
object
sms.autoReply.message
string
(required) Auto-reply message to send when user texts in.
sms.from
string
Override the sender phone number. Must be a verified number on your account.
call
object
Inline call content (message).
call.message
string
(required) Text to speak (TTS).
web_push
object
Inline web push content (title, message, icon, url).
web_push.title
string
(required) Notification title.
web_push.message
string
(required) Body text.
web_push.icon
string
Icon URL.
web_push.url
string
URL to open when clicked.
mobile_push
object
Inline mobile push content (title, message).
mobile_push.title
string
(required) Notification title.
mobile_push.message
string
(required) Body text.
slack
object
Inline Slack content (text, blocks, etc.).
slack.text
string
(required) Fallback plain text (required when using blocks).
slack.blocks
Record<string, any>[]
Slack Block Kit blocks.
slack.username
string
Override bot username.
slack.icon
string
Icon: emoji (e.g. “:smile:”) or URL. Default: bot’s icon.
slack.thread_ts
string
Parent message ts to post in a thread.
slack.reply_broadcast
boolean
When true with thread_ts, broadcasts reply to channel. Default: false.
slack.parse
“full” | “none”
URL parsing: “full” (clickable links) or “none”. Default: “none”.
slack.link_names
boolean
Convert channel and username refs to Slack links. Default: false.
slack.mrkdwn
boolean
Enable Slack markup (bold , italic , code). Default: true.
slack.unfurl_links
boolean
Unfurl link previews. Default: true.
slack.unfurl_media
boolean
Unfurl media previews. Default: true.
slack.metadata
object
Slack message metadata with optional work object entities. Combines standard Slack message metadata fields with an array of entity objects.
slack.metadata.entities
object[]
An array of work object entities.
slack.metadata.entities[].entity_type
string
(required) Entity type (e.g., ‘slack#/entities/task’, ‘slack#/entities/file’).
slack.metadata.entities[].entity_payload
Record<string, any>
(required) Schema for the given entity type.
slack.metadata.entities[].external_ref
object
(required) Reference used to identify an entity within the developer’s system.
slack.metadata.entities[].external_ref.id
string
(required)
slack.metadata.entities[].external_ref.type
string
slack.metadata.entities[].url
string
(required) URL used to identify an entity within the developer’s system.
slack.metadata.entities[].app_unfurl_url
string
The exact URL posted in the source message. Required in metadata passed to chat.unfurl.
slack.metadata.event_type
string
A human readable alphanumeric string representing your application’s metadata event.
slack.metadata.event_payload
Record<string, any>
A free-form object containing whatever data your application wishes to attach to messages.
Webhooks
webhooksCreateWebhook()
Create a webhook.
WebhookEndpointUpsertRequest webhookEndpointUpsertRequest = new WebhookEndpointUpsertRequest () ; // WebhookEndpointUpsertRequest |
WebhookEndpoint result = client . getWebhooks () . webhooksCreateWebhook ( webhookEndpointUpsertRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling WebhooksApi#webhooksCreateWebhook: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
webhook
string
(required) Destination URL that receives webhook event payloads. Must be a valid http(s) URL.
events
(“EMAIL_OPEN” | “EMAIL_CLICK” | “EMAIL_FAILED” | “EMAIL_DELIVERED” | “EMAIL_UNSUBSCRIBE” | “EMAIL_INBOUND” | “INAPP_WEB_FAILED” | “INAPP_WEB_UNSUBSCRIBE” | “SMS_DELIVERED” | “SMS_FAILED” | “SMS_UNSUBSCRIBE” | “SMS_SUBSCRIBE” | “SMS_INBOUND” | “PUSH_FAILED” | “PUSH_UNSUBSCRIBE” | “CALL_FAILED” | “CALL_UNSUBSCRIBE” | “WEB_PUSH_FAILED” | “WEB_PUSH_UNSUBSCRIBE” | “SLACK_FAILED” | “SLACK_UNSUBSCRIBE”)[]
(required) List of event types that should be forwarded to the webhook URL.
webhooksDeleteWebhook()
Delete a webhook.
String endpointId = " endpointId_example " ; // String | Webhook endpoint id
client . getWebhooks () . webhooksDeleteWebhook ( endpointId ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling WebhooksApi#webhooksDeleteWebhook: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
endpointId
String
Webhook endpoint id
webhooksListWebhooks()
List webhooks for the current account.
WebhookEndpointsResponse result = client . getWebhooks () . webhooksListWebhooks () ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling WebhooksApi#webhooksListWebhooks: " + e . getMessage ()) ;
Parameters
This endpoint does not need any parameter.
webhooksUpdateWebhook()
Update a webhook. The signing secret is preserved.
String endpointId = " endpointId_example " ; // String | Webhook endpoint id
WebhookEndpointUpsertRequest webhookEndpointUpsertRequest = new WebhookEndpointUpsertRequest () ; // WebhookEndpointUpsertRequest |
WebhookEndpoint result = client . getWebhooks () . webhooksUpdateWebhook ( endpointId, webhookEndpointUpsertRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling WebhooksApi#webhooksUpdateWebhook: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
endpointId
String
Webhook endpoint id
webhookEndpointUpsertRequest
WebhookEndpointUpsertRequest
Request Body Properties
Name
Type
Description
webhook
string
(required) Destination URL that receives webhook event payloads. Must be a valid http(s) URL.
events
(“EMAIL_OPEN” | “EMAIL_CLICK” | “EMAIL_FAILED” | “EMAIL_DELIVERED” | “EMAIL_UNSUBSCRIBE” | “EMAIL_INBOUND” | “INAPP_WEB_FAILED” | “INAPP_WEB_UNSUBSCRIBE” | “SMS_DELIVERED” | “SMS_FAILED” | “SMS_UNSUBSCRIBE” | “SMS_SUBSCRIBE” | “SMS_INBOUND” | “PUSH_FAILED” | “PUSH_UNSUBSCRIBE” | “CALL_FAILED” | “CALL_UNSUBSCRIBE” | “WEB_PUSH_FAILED” | “WEB_PUSH_UNSUBSCRIBE” | “SLACK_FAILED” | “SLACK_UNSUBSCRIBE”)[]
(required) List of event types that should be forwarded to the webhook URL.
Accounts
accountsCreateAccount()
Create an additional account for the authenticated user
CreateAccountRequest createAccountRequest = new CreateAccountRequest () ; // CreateAccountRequest |
CreateAccountResponse result = client . getAccounts () . accountsCreateAccount ( createAccountRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling AccountsApi#accountsCreateAccount: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
name
string
(required)
plan
object
Billing to copy onto a new additional account.
plan.tier
“budget_20” | “budget_50” | “budget_100” | “budget_250” | “budget_500” | “budget_1000” | “budget_2000” | “budget_5000”
(required)
plan.sourceBillingAccountId
string
(required) Account whose saved payment method is copied onto the new account. The caller must be an owner of this account.
memberEmails
string[]
Emails to add or invite to the new account. Existing members of any account the caller belongs to are added directly; everyone else is invited.
accountsListAccounts()
List accounts the authenticated user can access
ListAccountsResponse result = client . getAccounts () . accountsListAccounts () ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling AccountsApi#accountsListAccounts: " + e . getMessage ()) ;
Parameters
This endpoint does not need any parameter.
Addresses
addressesCreateAddress()
Create a new email inbox. Omit `domain` for a built-in `@mail.pingram.io` address; set `domain` and `displayName` for a custom address on a verified domain.
CreateAddressRequest createAddressRequest = new CreateAddressRequest () ; // CreateAddressRequest |
AddressResponse result = client . getAddresses () . addressesCreateAddress ( createAddressRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling AddressesApi#addressesCreateAddress: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
prefix
string
(required)
domain
string
displayName
string
addressesDeleteAddress()
Delete a custom inbound address. Builtin addresses cannot be deleted.
String fullAddress = " fullAddress_example " ; // String | Full address to delete (e.g. hello@example.com)
SuccessResponse result = client . getAddresses () . addressesDeleteAddress ( fullAddress ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling AddressesApi#addressesDeleteAddress: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
fullAddress
String
Full address to delete (e.g. hello@example.com )
addressesListAddresses()
List email inboxes (addresses) configured for receiving. Custom addresses must use a verified domain.
AccountAddressesResponse result = client . getAddresses () . addressesListAddresses () ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling AddressesApi#addressesListAddresses: " + e . getMessage ()) ;
Parameters
This endpoint does not need any parameter.
addressesUpdateAddress()
Update an inbox prefix or display name.
UpdateAddressRequest updateAddressRequest = new UpdateAddressRequest () ; // UpdateAddressRequest |
AddressResponse result = client . getAddresses () . addressesUpdateAddress ( updateAddressRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling AddressesApi#addressesUpdateAddress: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
fullAddress
string
(required)
prefix
string
displayName
string
Domains
domainsAddDomain()
Add and start verification for a new sender domain. Pass the domain only (not a full email address).
PostSendersRequestBody postSendersRequestBody = new PostSendersRequestBody () ; // PostSendersRequestBody |
List < GetSendersResponseInner > result = client . getDomains () . domainsAddDomain ( postSendersRequestBody ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling DomainsApi#domainsAddDomain: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
sender
string
(required)
domainsDeleteDomain()
Remove a sender domain from the account.
String sender = " sender_example " ; // String | Sender domain (URL encoded)
SuccessResponse result = client . getDomains () . domainsDeleteDomain ( sender ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling DomainsApi#domainsDeleteDomain: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
sender
String
Sender domain (URL encoded)
domainsListDomains()
List sender domains configured for the account (for outbound email).
List < GetSendersResponseInner > result = client . getDomains () . domainsListDomains () ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling DomainsApi#domainsListDomains: " + e . getMessage ()) ;
Parameters
This endpoint does not need any parameter.
domainsStartDomainVerification()
Start SES domain verification (DNS readiness is checked client-side via checkDomainDns)
String sender = " sender_example " ; // String | Sender domain (URL encoded)
List < GetSendersResponseInner > result = client . getDomains () . domainsStartDomainVerification ( sender ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling DomainsApi#domainsStartDomainVerification: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
sender
String
Sender domain (URL encoded)
Email
emailDeleteSuppressions()
Start removing all email suppressions of the given reason (`retryable` or `bounces`) for users in the environment. Returns immediately after the job is queued — suppressions are not yet cleared when this response is received. Large removals are processed in the background in batches.
String reason = " reason_example " ; // String | Suppression reason to clear (retryable | bounces)
MessageResponse result = client . getEmail () . emailDeleteSuppressions ( reason ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling EmailApi#emailDeleteSuppressions: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
reason
String
Suppression reason to clear (retryable
bounces)
emailSend()
Send an email. Requires `type`, `to`, `subject`, and `html`. Optional: `fromAddress`, `fromName`, `schedule`, attachments. The fromAddress must be a verified domain; otherwise our built-in address will be used which is fine for testing purposes.
SendEmailRequest sendEmailRequest = new SendEmailRequest () ; // SendEmailRequest |
SendEmailApiResponse result = client . getEmail () . emailSend ( sendEmailRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling EmailApi#emailSend: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
type
string
(required) The notification type to send.
to
string
(required) The email address of the recipient.
subject
string
(required) The subject of the email.
html
string
(required) The HTML body of the email.
fromName
string
The display name of the sender.
fromAddress
string
The email address of the sender.
previewText
string
The preview text of the email.
replyToAddresses
string[]
The reply-to addresses of the email.
ccAddresses
string[]
The CC addresses of the email.
bccAddresses
string[]
The BCC addresses of the email.
attachments
object[]
URL-based file attachments. Up to 20 MB per file.
attachments[].filename
string
(required)
attachments[].url
string
(required)
schedule
string
The ISO 8601 datetime to schedule the email.
Environments
environmentsListEnvironments()
Get all environments for the authenticated account
List < GetEnvironmentsResponseInner > result = client . getEnvironments () . environmentsListEnvironments () ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling EnvironmentsApi#environmentsListEnvironments: " + e . getMessage ()) ;
Parameters
This endpoint does not need any parameter.
environmentsUpdateEnvironment()
Update environment settings (title, secret, disable sending, secure mode)
String clientId = " clientId_example " ; // String | Environment client ID
EnvironmentPatchRequest environmentPatchRequest = new EnvironmentPatchRequest () ; // EnvironmentPatchRequest |
Environment result = client . getEnvironments () . environmentsUpdateEnvironment ( clientId, environmentPatchRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling EnvironmentsApi#environmentsUpdateEnvironment: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
clientId
String
Environment client ID
environmentPatchRequest
EnvironmentPatchRequest
Request Body Properties
Name
Type
Description
resetSecret
boolean
disableSending
(“EMAIL” | “INAPP_WEB” | “SMS” | “CALL” | “VOICE” | “PUSH” | “WEB_PUSH” | “SLACK”)[]
title
string
secureMode
boolean
Logs
logsGetLogRetention()
Get log retention period in days for the account
LogsRetentionResponse result = client . getLogs () . logsGetLogRetention () ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling LogsApi#logsGetLogRetention: " + e . getMessage ()) ;
Parameters
This endpoint does not need any parameter.
logsGetLogs()
List recent notification logs for the authenticated account, newest first.
BigDecimal limit = new BigDecimal ( 78 ) ; // BigDecimal | Maximum number of logs to return (default
String cursor = " cursor_example " ; // String | Pagination cursor for next page
GetLogsResponse result = client . getLogs () . logsGetLogs ( limit, cursor ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling LogsApi#logsGetLogs: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
limit
BigDecimal
Maximum number of logs to return (default
[optional]
cursor
String
Pagination cursor for next page
[optional]
logsGetLogsByTrackingIds()
Get logs by tracking IDs (comma-separated, max 25 IDs). Use after sending email or SMS to look up delivery status.
String trackingIds = " trackingIds_example " ; // String | Comma-separated tracking IDs (URL encoded)
LogsGetResponse result = client . getLogs () . logsGetLogsByTrackingIds ( trackingIds ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling LogsApi#logsGetLogsByTrackingIds: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
trackingIds
String
Comma-separated tracking IDs (URL encoded)
logsGetLogsQueryResult()
Get results from a log query started with Start Log Query. Poll until status is Complete.
String queryId = " queryId_example " ; // String | Query ID returned by Start Log Query
LogsQueryResultResponse result = client . getLogs () . logsGetLogsQueryResult ( queryId ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling LogsApi#logsGetLogsQueryResult: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
queryId
String
Query ID returned by Start Log Query
logsStartLogsQuery()
Start an asynchronous log search over a date range. Returns a `queryId`; poll with Get Log Query Results until status is Complete.
LogQueryPostBody logQueryPostBody = new LogQueryPostBody () ; // LogQueryPostBody |
LogsQueryResponse result = client . getLogs () . logsStartLogsQuery ( logQueryPostBody ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling LogsApi#logsStartLogsQuery: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
dateRangeFilter
number[]
A tuple of [startTime, endTime] for the date range filter, each representing a unix timestamp.
userFilter
string
envIdFilter
string[]
statusFilter
string
channelFilter
(“email” | “inapp” | “sms” | “call” | “voice” | “web_push” | “mobile_push” | “slack”)[]
notificationFilter
string[]
logsTailLogs()
Get last 100 logs from the stream
LogsTailResponse result = client . getLogs () . logsTailLogs () ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling LogsApi#logsTailLogs: " + e . getMessage ()) ;
Parameters
This endpoint does not need any parameter.
Numbers
numbersList()
List active phone numbers registered for the account, including voice agent binding state.
ListPhoneNumbersResponse result = client . getNumbers () . numbersList () ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling NumbersApi#numbersList: " + e . getMessage ()) ;
Parameters
This endpoint does not need any parameter.
numbersListReleased()
List released phone numbers. Released numbers may be purchased again with 2 weeks of being released. Released numbers may be removed from released list after 2 weeks.
ListReleasedPhoneNumbersResponse result = client . getNumbers () . numbersListReleased () ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling NumbersApi#numbersListReleased: " + e . getMessage ()) ;
Parameters
This endpoint does not need any parameter.
numbersOrderNumber()
Purchase a phone number for the authenticated account, or reactivate a released number owned by the account (preserves original createdAt). Pass `phoneNumber` in E.164 format (e.g. +15551234567).
OrderPhoneNumberRequest orderPhoneNumberRequest = new OrderPhoneNumberRequest () ; // OrderPhoneNumberRequest |
OrderPhoneNumberResponse result = client . getNumbers () . numbersOrderNumber ( orderPhoneNumberRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling NumbersApi#numbersOrderNumber: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
phoneNumber
string
(required) E.164 from search results
numbersReleaseNumber()
Release a phone number from the account. No refund for the current billing month.
String phoneNumber = " phoneNumber_example " ; // String | E.164 phone number to release
ReleasePhoneNumberResponse result = client . getNumbers () . numbersReleaseNumber ( phoneNumber ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling NumbersApi#numbersReleaseNumber: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
phoneNumber
String
E.164 phone number to release
Search for available phone numbers to purchase. Requires `countryCode` (e.g. US, CA). Use before ordering a number.
String countryCode = " countryCode_example " ; // String | ISO 3166-1 alpha-2 country code (e.g., US, CA)
String features = " features_example " ; // String | Comma-separated
String areaCode = " areaCode_example " ; // String | National destination / area code filter
BigDecimal limit = new BigDecimal ( 78 ) ; // BigDecimal | Max results (default 10, max 50)
SearchAvailablePhoneNumbersResponse result = client . getNumbers () . numbersSearchAvailable ( countryCode, features, areaCode, limit ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling NumbersApi#numbersSearchAvailable: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
countryCode
String
ISO 3166-1 alpha-2 country code (e.g., US, CA)
features
String
Comma-separated
[optional]
areaCode
String
National destination / area code filter
[optional]
limit
BigDecimal
Max results (default 10, max 50)
[optional]
Profile
profileAcceptInvite()
Accept a team invitation using a token
AcceptInviteRequest acceptInviteRequest = new AcceptInviteRequest () ; // AcceptInviteRequest |
AcceptInviteResponse result = client . getProfile () . profileAcceptInvite ( acceptInviteRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling ProfileApi#profileAcceptInvite: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
token
string
(required)
profileChangeEmail()
Change the email address of the authenticated user
ChangeEmailRequest changeEmailRequest = new ChangeEmailRequest () ; // ChangeEmailRequest |
SuccessResponse result = client . getProfile () . profileChangeEmail ( changeEmailRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling ProfileApi#profileChangeEmail: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
newEmail
string
(required)
profileDeleteAccount()
Permanently delete the authenticated user's account
DeleteAccountRequest deleteAccountRequest = new DeleteAccountRequest () ; // DeleteAccountRequest |
SuccessResponse result = client . getProfile () . profileDeleteAccount ( deleteAccountRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling ProfileApi#profileDeleteAccount: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
reason
string
profileDisableMfa()
Disable MFA for the authenticated user
String type = " type_example " ; // String | MFA type (e.g. SOFTWARE_TOKEN_MFA)
SuccessResponse result = client . getProfile () . profileDisableMfa ( type ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling ProfileApi#profileDisableMfa: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
type
String
MFA type (e.g. SOFTWARE_TOKEN_MFA)
profileGetMfaStatus()
Get MFA status for the authenticated user
MFAStatusResponse result = client . getProfile () . profileGetMfaStatus () ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling ProfileApi#profileGetMfaStatus: " + e . getMessage ()) ;
Parameters
This endpoint does not need any parameter.
profileSetupMfa()
Start TOTP MFA setup and return QR code data
MFASetupRequest mfASetupRequest = new MFASetupRequest () ; // MFASetupRequest |
MFASetupResponse result = client . getProfile () . profileSetupMfa ( mfASetupRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling ProfileApi#profileSetupMfa: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
type
“SOFTWARE_TOKEN_MFA”
(required) MFA methods supported by the profile MFA API.
profileVerifyMfa()
Verify TOTP code and enable MFA
MFAVerifyRequest mfAVerifyRequest = new MFAVerifyRequest () ; // MFAVerifyRequest |
SuccessResponse result = client . getProfile () . profileVerifyMfa ( mfAVerifyRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling ProfileApi#profileVerifyMfa: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
type
“SOFTWARE_TOKEN_MFA”
(required) MFA methods supported by the profile MFA API.
code
string
(required)
session
string
(required)
Registrations
registrationsCreateUs10dlcBrand()
Create a new 10DLC brand registration. Sets brandStatus to pending_review; Pingram handles carrier submission after review.
TenDlcBrandCreateRequest tenDlcBrandCreateRequest = new TenDlcBrandCreateRequest () ; // TenDlcBrandCreateRequest |
TenDlcBrandRegistration result = client . getRegistrations () . registrationsCreateUs10dlcBrand ( tenDlcBrandCreateRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling RegistrationsApi#registrationsCreateUs10dlcBrand: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
scenarioId
“own_brand” | “client_brand”
(required) Who the 10DLC brand is registered for. - own_brand: personal or company project - client_brand: agency or contractor
businessType
“PRIVATE_PROFIT” | “SOLE_PROPRIETOR” | “PUBLIC_PROFIT” | “NON_PROFIT” | “GOVERNMENT”
(required) Legal entity type for a 10DLC brand. - PRIVATE_PROFIT: private for-profit (LLC, corp, etc.) - SOLE_PROPRIETOR: sole proprietorship - PUBLIC_PROFIT: publicly traded for-profit - NON_PROFIT: non-profit - GOVERNMENT: government
legalName
string
Official registered legal business name. For SOLE_PROPRIETOR, optional DBA or trade name (defaults to firstName and lastName).
displayName
string
(required) Public brand name shown to recipients and carriers. Use the name customers recognize (your DBA or trade name). For companies with no DBA, use the same value as legalName. For SOLE_PROPRIETOR, this is the brand you send as — not the individual’s legal name (set firstName and lastName for that). If the sole proprietor has no DBA, use first and last name.
firstName
string
Legal first name of the sole proprietor. Required when businessType is SOLE_PROPRIETOR.
lastName
string
Legal last name of the sole proprietor. Required when businessType is SOLE_PROPRIETOR.
taxId
string
For US companies (country US): 9-digit EIN (Employer Identification Number). For Canada (country CA): 9-digit BN (Business Number). For other countries: national business tax identifier. Required except when businessType is SOLE_PROPRIETOR.
website
string
(required) Public website for the brand. Include a scheme (https://) or a domain; https:// is prepended when omitted. Carriers expect a working site with privacy policy and terms.
country
string
(required) ISO 3166-1 alpha-2 country of incorporation (for example US or CA).
street
string
(required) Street address that matches official tax registration.
city
string
(required) City that matches official tax registration.
state
string
(required) State (US) or province (CA) that matches official tax registration.
postalCode
string
(required) ZIP code (US) or postal code (CA) that matches official tax registration.
complianceContactEmail
string
(required) Email for the 10DLC compliance contact. Used for carrier and registration follow-up.
complianceContactPhone
string
(required) Phone number for the 10DLC compliance contact. E.164 preferred; national numbers are normalized using country.
registrationsGetUs10dlcBrand()
Get the 10DLC brand registration for the authenticated account. Returns null when no registration exists yet.
TenDlcBrandRegistration result = client . getRegistrations () . registrationsGetUs10dlcBrand () ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling RegistrationsApi#registrationsGetUs10dlcBrand: " + e . getMessage ()) ;
Parameters
This endpoint does not need any parameter.
registrationsGetUs10dlcCampaign()
Get the 10DLC campaign registration for the authenticated account. Returns null when no brand registration exists yet.
TenDlcCampaignRegistration result = client . getRegistrations () . registrationsGetUs10dlcCampaign () ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling RegistrationsApi#registrationsGetUs10dlcCampaign: " + e . getMessage ()) ;
Parameters
This endpoint does not need any parameter.
registrationsUpdateUs10dlcBrand()
Update an existing 10DLC brand registration. Business fields are editable before carrier submission; workflow status is managed by Pingram.
TenDlcBrandUpdateRequest tenDlcBrandUpdateRequest = new TenDlcBrandUpdateRequest () ; // TenDlcBrandUpdateRequest |
TenDlcBrandRegistration result = client . getRegistrations () . registrationsUpdateUs10dlcBrand ( tenDlcBrandUpdateRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling RegistrationsApi#registrationsUpdateUs10dlcBrand: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
scenarioId
“own_brand” | “client_brand”
Who the 10DLC brand is registered for. - own_brand: personal or company project - client_brand: agency or contractor
businessType
“PRIVATE_PROFIT” | “SOLE_PROPRIETOR” | “PUBLIC_PROFIT” | “NON_PROFIT” | “GOVERNMENT”
Legal entity type for a 10DLC brand. - PRIVATE_PROFIT: private for-profit (LLC, corp, etc.) - SOLE_PROPRIETOR: sole proprietorship - PUBLIC_PROFIT: publicly traded for-profit - NON_PROFIT: non-profit - GOVERNMENT: government
legalName
string
Official registered legal business name. For SOLE_PROPRIETOR, optional DBA or trade name (defaults to firstName and lastName).
displayName
string
Public brand name shown to recipients and carriers. Use the name customers recognize (your DBA or trade name). For SOLE_PROPRIETOR, this is the brand you send as — not the individual’s legal name. Omit to keep the existing value. If you change legalName and omit displayName, displayName is reset to the new legalName.
firstName
string
Legal first name of the sole proprietor. Required when businessType is SOLE_PROPRIETOR.
lastName
string
Legal last name of the sole proprietor. Required when businessType is SOLE_PROPRIETOR.
taxId
string
For US companies (country US): 9-digit EIN (Employer Identification Number). For Canada (country CA): 9-digit BN (Business Number). For other countries: national business tax identifier. Required except when businessType is SOLE_PROPRIETOR.
website
string
Public website for the brand. Include a scheme (https://) or a domain; https:// is prepended when omitted. Carriers expect a working site with privacy policy and terms.
country
string
ISO 3166-1 alpha-2 country of incorporation (for example US or CA).
street
string
Street address that matches official tax registration.
city
string
City that matches official tax registration.
state
string
State (US) or province (CA) that matches official tax registration.
postalCode
string
ZIP code (US) or postal code (CA) that matches official tax registration.
complianceContactEmail
string
Email for the 10DLC compliance contact. Used for carrier and registration follow-up.
complianceContactPhone
string
Phone number for the 10DLC compliance contact. E.164 preferred; national numbers are normalized using country.
registrationsUpdateUs10dlcCampaign()
Update an existing 10DLC campaign registration. Campaign fields are editable before carrier submission; workflow status is managed by Pingram.
TenDlcCampaignUpdateRequest tenDlcCampaignUpdateRequest = new TenDlcCampaignUpdateRequest () ; // TenDlcCampaignUpdateRequest |
TenDlcCampaignRegistration result = client . getRegistrations () . registrationsUpdateUs10dlcCampaign ( tenDlcCampaignUpdateRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling RegistrationsApi#registrationsUpdateUs10dlcCampaign: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
campaignDescription
string
Summary of what this campaign sends and why, including audience and typical message content. Required before carrier submission.
campaignSample1
string
Example SMS that represents actual campaign traffic. Required before carrier submission. Should match the use case and typically identify the brand and include STOP/HELP language.
campaignSample2
string
Second example SMS. Required before carrier submission. Required for MARKETING and MIXED use cases.
campaignSample3
string
Optional third example SMS.
campaignSample4
string
Optional fourth example SMS.
campaignMessageFlow
string
How recipients opt in (for example website form, checkout, or keyword). Describe the call-to-action and where consent is collected. Required before carrier submission.
campaignOptinKeywords
string
Extra opt-in keywords as a comma-separated list. START is always included.
campaignOptinMessage
string
Auto-reply sent when a recipient opts in. Required before carrier submission. Should confirm the subscription, mention message frequency, and include STOP and HELP instructions.
campaignOptoutKeywords
string
Extra opt-out keywords as a comma-separated list. STOP is always included.
campaignOptoutMessage
string
Auto-reply sent when a recipient opts out. Required before carrier submission. Should confirm they will receive no further messages.
campaignHelpKeywords
string
Extra help keywords as a comma-separated list. HELP is always included.
campaignHelpMessage
string
Auto-reply sent when a recipient texts a help keyword. Required before carrier submission. Should include a support contact (email and/or phone).
campaignEmbeddedLink
boolean
Whether campaign messages include URLs.
campaignEmbeddedLinkUrl
string
Sample URL that appears in messages. Provide when campaignEmbeddedLink is true.
campaignEmbeddedPhone
boolean
Whether campaign messages include phone numbers.
campaignAgeGated
boolean
Whether campaign content is age-restricted (18+).
campaignDirectLending
boolean
Whether the campaign relates to direct lending or loan products.
campaignPrivacyPolicyLink
string
Public URL of the privacy policy that covers this SMS program.
campaignTermsAndConditionsLink
string
Public URL of the terms and conditions that cover this SMS program.
campaignUsecase
string
10DLC campaign use case submitted to carriers. Required before carrier submission. One of 2FA, ACCOUNT_NOTIFICATION, CUSTOMER_CARE, DELIVERY_NOTIFICATION, FRAUD_ALERT, MARKETING, MIXED, POLLING_VOTING, PUBLIC_SERVICE_ANNOUNCEMENT, or SECURITY_ALERT. For MIXED, append comma-separated sub-use cases after MIXED (sub-use cases cannot include MIXED), for example MIXED,2FA,ACCOUNT_NOTIFICATION.
Sender
senderDeleteSchedule()
Delete (unschedule) an already scheduled notification
String trackingId = " trackingId_example " ; // String | The tracking ID of the scheduled notification
MessageResponse result = client . getSender () . senderDeleteSchedule ( trackingId ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling SenderApi#senderDeleteSchedule: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
trackingId
String
The tracking ID of the scheduled notification
senderTestEmail()
Test the emailer with a sample email
PostEmailTestRequest postEmailTestRequest = new PostEmailTestRequest () ; // PostEmailTestRequest |
PostEmailTestResponse result = client . getSender () . senderTestEmail ( postEmailTestRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling SenderApi#senderTestEmail: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
notificationId
string
(required)
to
string
(required)
subject
string
(required)
html
string
(required)
fromAddress
string
(required)
fromName
string
(required)
previewText
string
senderUpdateSchedule()
Update the body or schedule of an already scheduled notification.
String trackingId = " trackingId_example " ; // String | The tracking ID of the scheduled notification
SenderPostBody senderPostBody = new SenderPostBody () ; // SenderPostBody |
MessageResponse result = client . getSender () . senderUpdateSchedule ( trackingId, senderPostBody ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling SenderApi#senderUpdateSchedule: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
trackingId
String
The tracking ID of the scheduled notification
senderPostBody
SenderPostBody
Request Body Properties
Name
Type
Description
type
string
ID of the notification type (e.g. “welcome_email”). Creates a new notification if it does not exist.
to
object
Recipient user. Provide id, email, or number to identify the user.
to.id
string
Unique user identifier. Required.
to.email
string
User’s email address for email notifications.
to.number
string
User’s phone number for SMS/call notifications.
to.pushTokens
object[]
Mobile push tokens (FCM, APN) for push notifications.
to.pushTokens[].type
“FCM” | “APN”
(required)
to.pushTokens[].token
string
(required)
to.pushTokens[].device
object
(required)
to.pushTokens[].device.app_id
string
to.pushTokens[].device.ad_id
string
to.pushTokens[].device.device_id
string
(required)
to.pushTokens[].device.platform
string
to.pushTokens[].device.manufacturer
string
to.pushTokens[].device.model
string
to.pushTokens[].environment
string
used by APN to differentiate between sandbox and production builds (sandbox/undefined or production)
to.webPushTokens
object[]
Web push subscription config from the browser.
to.webPushTokens[].sub
object
(required) Configuration for a Push Subscription. This can be obtained on the frontend by calling serviceWorkerRegistration.pushManager.subscribe(). The expected format is the same output as JSON.stringify’ing a PushSubscription in the browser.
to.webPushTokens[].sub.endpoint
string
(required)
to.webPushTokens[].sub.keys
object
(required)
to.webPushTokens[].sub.keys.p256dh
string
(required)
to.webPushTokens[].sub.keys.auth
string
(required)
to.timezone
string
User’s timezone (e.g. “America/New_York”) for scheduling.
to.slackChannel
string
The destination channel of slack notifications sent to this user. Can be either of the following: - Channel name, e.g. “test” - Channel name with # prefix, e.g. “#test” - Channel ID, e.g. “C1234567890” - User ID for DM, e.g. “U1234567890” - Username with @ prefix, e.g. “@test”
to.slackToken
object
to.slackToken.access_token
string
to.slackToken.app_id
string
to.slackToken.authed_user
object
to.slackToken.authed_user.access_token
string
to.slackToken.authed_user.expires_in
number
to.slackToken.authed_user.id
string
to.slackToken.authed_user.refresh_token
string
to.slackToken.authed_user.scope
string
to.slackToken.authed_user.token_type
string
to.slackToken.bot_user_id
string
to.slackToken.enterprise
object
to.slackToken.enterprise.id
string
to.slackToken.enterprise.name
string
to.slackToken.error
string
to.slackToken.expires_in
number
to.slackToken.incoming_webhook
object
to.slackToken.incoming_webhook.channel
string
to.slackToken.incoming_webhook.channel_id
string
to.slackToken.incoming_webhook.configuration_url
string
to.slackToken.incoming_webhook.url
string
to.slackToken.is_enterprise_install
boolean
to.slackToken.needed
string
to.slackToken.ok
boolean
(required)
to.slackToken.provided
string
to.slackToken.refresh_token
string
to.slackToken.scope
string
to.slackToken.team
object
to.slackToken.team.id
string
to.slackToken.team.name
string
to.slackToken.token_type
string
to.slackToken.warning
string
to.slackToken.response_metadata
object
to.slackToken.response_metadata.warnings
string[]
to.slackToken.response_metadata.next_cursor
string
to.slackToken.response_metadata.scopes
string[]
to.slackToken.response_metadata.acceptedScopes
string[]
to.slackToken.response_metadata.retryAfter
number
to.slackToken.response_metadata.messages
string[]
to.lastSeenTime
string
Last activity timestamp. Updated automatically. Read-only.
to.updatedAt
string
Last update timestamp. Read-only.
to.createdAt
string
Creation timestamp. Read-only.
to.emailSuppressionStatus
object
Bounce or complaint status if email was suppressed. Read-only.
to.emailSuppressionStatus.reason
“Bounce” | “Complaint”
(required)
to.emailSuppressionStatus.details
object
(required)
forceChannels
(“EMAIL” | “INAPP_WEB” | “SMS” | “CALL” | “VOICE” | “PUSH” | “WEB_PUSH” | “SLACK”)[]
Override which channels to send to (e.g. [“EMAIL”, “SMS”]). Bypasses notification channel config.
parameters
Record<string, any>
Key-value pairs for template merge tags. Replaces placeholders like {{firstName}} in templates.
templateId
string
Specific template ID to use. If omitted, uses the default template for each channel.
subNotificationId
string
Sub-notification identifier (e.g. for grouping related notifications).
options
object
Per-channel overrides for send options (email, APN, FCM).
options.email
object
Email-specific overrides.
options.email.replyToAddresses
string[]
Reply-to addresses for the email.
options.email.ccAddresses
string[]
CC recipients.
options.email.bccAddresses
string[]
BCC recipients.
options.email.fromAddress
string
Override sender email address.
options.email.fromName
string
Override sender display name.
options.email.attachments
(object | object)[]
File attachments (by URL or inline base64 content). Inline content: ~4 MB raw per file (413 if exceeded). URL url: up to 20 MB per file.
options.apn
object
Apple Push Notification (APN) overrides.
options.apn.expiry
number
Seconds until the notification expires.
options.apn.priority
number
Delivery priority (10 = immediate, 5 = power-saving).
options.apn.collapseId
string
Group notifications with the same ID (replaces previous).
options.apn.threadId
string
Thread identifier for grouping notifications.
options.apn.badge
number
Badge count on app icon.
options.apn.sound
string
Sound file name.
options.apn.contentAvailable
boolean
Silent background notification (no alert).
options.fcm
object
Firebase Cloud Messaging (FCM) overrides.
options.fcm.android
object
Android-specific FCM options.
options.fcm.android.collapseKey
string
Collapse key for grouping messages.
options.fcm.android.priority
“high” | “normal”
Delivery priority.
options.fcm.android.ttl
number
Time to live in seconds.
options.fcm.android.restrictedPackageName
string
Restrict delivery to a specific package.
options.push
object
Cross-platform mobile push options (applied to both APN and FCM).
options.push.customData
Record<string, string>
Up to 3 custom string key-value pairs for deep linking. Included in both APN and FCM payloads.
schedule
string
email
object
Inline email content (subject, html). Use when not using templates.
email.subject
string
(required) Email subject line.
email.html
string
(required) HTML body content.
email.previewText
string
Preview/snippet text shown in inbox.
email.senderName
string
Display name of sender.
email.senderEmail
string
Sender email address.
inapp
object
Inline in-app content (title, url, image).
inapp.title
string
(required) Notification title.
inapp.url
string
URL to open when clicked.
inapp.image
string
Image URL.
sms
object
Inline SMS content (message, autoReply, from, mediaUrls).
sms.message
string
SMS/MMS body text.
sms.mediaUrls
string[]
Public HTTPS URLs of media to attach (MMS). Carriers fetch these via GET. Total size limits apply per provider.
sms.autoReply
object
sms.autoReply.message
string
(required) Auto-reply message to send when user texts in.
sms.from
string
Override the sender phone number. Must be a verified number on your account.
call
object
Inline call content (message).
call.message
string
(required) Text to speak (TTS).
web_push
object
Inline web push content (title, message, icon, url).
web_push.title
string
(required) Notification title.
web_push.message
string
(required) Body text.
web_push.icon
string
Icon URL.
web_push.url
string
URL to open when clicked.
mobile_push
object
Inline mobile push content (title, message).
mobile_push.title
string
(required) Notification title.
mobile_push.message
string
(required) Body text.
slack
object
Inline Slack content (text, blocks, etc.).
slack.text
string
(required) Fallback plain text (required when using blocks).
slack.blocks
Record<string, any>[]
Slack Block Kit blocks.
slack.username
string
Override bot username.
slack.icon
string
Icon: emoji (e.g. “:smile:”) or URL. Default: bot’s icon.
slack.thread_ts
string
Parent message ts to post in a thread.
slack.reply_broadcast
boolean
When true with thread_ts, broadcasts reply to channel. Default: false.
slack.parse
“full” | “none”
URL parsing: “full” (clickable links) or “none”. Default: “none”.
slack.link_names
boolean
Convert channel and username refs to Slack links. Default: false.
slack.mrkdwn
boolean
Enable Slack markup (bold , italic , code). Default: true.
slack.unfurl_links
boolean
Unfurl link previews. Default: true.
slack.unfurl_media
boolean
Unfurl media previews. Default: true.
slack.metadata
object
Slack message metadata with optional work object entities. Combines standard Slack message metadata fields with an array of entity objects.
slack.metadata.entities
object[]
An array of work object entities.
slack.metadata.entities[].entity_type
string
(required) Entity type (e.g., ‘slack#/entities/task’, ‘slack#/entities/file’).
slack.metadata.entities[].entity_payload
Record<string, any>
(required) Schema for the given entity type.
slack.metadata.entities[].external_ref
object
(required) Reference used to identify an entity within the developer’s system.
slack.metadata.entities[].external_ref.id
string
(required)
slack.metadata.entities[].external_ref.type
string
slack.metadata.entities[].url
string
(required) URL used to identify an entity within the developer’s system.
slack.metadata.entities[].app_unfurl_url
string
The exact URL posted in the source message. Required in metadata passed to chat.unfurl.
slack.metadata.event_type
string
A human readable alphanumeric string representing your application’s metadata event.
slack.metadata.event_payload
Record<string, any>
A free-form object containing whatever data your application wishes to attach to messages.
Sms
smsSend()
Send an SMS or MMS directly without a template. Requires `type` and `to`. Pass `message` and/or `mediaUrls`. Optional: `from`, `schedule`.
SendSmsRequest sendSmsRequest = new SendSmsRequest () ; // SendSmsRequest |
SendSmsResponse result = client . getSms () . smsSend ( sendSmsRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling SmsApi#smsSend: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
type
string
(required) The notification type to send.
to
string
(required) The phone number of the recipient.
message
string
The message of the SMS or MMS notification. Optional when mediaUrls is provided.
mediaUrls
string[]
Public HTTPS URLs of media to attach (MMS).
schedule
string
The ISO 8601 datetime to schedule the SMS notification.
from
string
Override the sender phone number. Must be a dedicated number on your Pingram account.
Templates
templatesCreateTemplate()
Create a new template for a notification
String notificationId = " notificationId_example " ; // String | Notification ID
String channel = " channel_example " ; // String | Channel type
TemplatePostRequest templatePostRequest = new TemplatePostRequest () ; // TemplatePostRequest |
Template result = client . getTemplates () . templatesCreateTemplate ( notificationId, channel, templatePostRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling TemplatesApi#templatesCreateTemplate: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
notificationId
String
Notification ID
channel
String
Channel type
templatePostRequest
TemplatePostRequest
Request Body Properties
Name
Type
Description
templateId
string
(required) Unique ID for this template within the notification and channel. Required.
html
string
HTML body of the email.
previewText
string
Preview text (e.g. for inbox).
internal
string
Internal editor representation of the email content (e.g. Bee or Redactor JSON). Used for editing and component embedding; the actual email sent to recipients uses the html field.
subject
string
Email subject line.
senderName
string
Sender display name.
senderEmail
string
Sender email address.
title
string
Notification title (in-app).
redirectURL
string
URL to open when the user taps the notification.
imageURL
string
Image URL shown in the in-app notification.
instant
object
Copy for instant (real-time) delivery.
instant.title
string
instant.redirectURL
string
instant.imageURL
string
(required)
batch
object
Copy for batch delivery.
batch.title
string
(required)
batch.redirectURL
string
(required)
batch.imageURL
string
(required)
text
string
Message text (SMS or call).
message
string
Push notification body text. (title is shared with INAPP_WEB above.)
icon
string
Web push: icon URL. Slack: bot icon (emoji or URL).
url
string
Web push: URL to open when the notification is clicked.
blocks
Record<string, any>[]
Slack message blocks (optional).
username
string
Slack bot username.
templatesDeleteTemplate()
Delete a template
String notificationId = " notificationId_example " ; // String | Notification ID
String channel = " channel_example " ; // String | Channel type
String templateId = " templateId_example " ; // String | Template ID
client . getTemplates () . templatesDeleteTemplate ( notificationId, channel, templateId ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling TemplatesApi#templatesDeleteTemplate: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
notificationId
String
Notification ID
channel
String
Channel type
templateId
String
Template ID
templatesGetTemplate()
Get a single template by ID
String notificationId = " notificationId_example " ; // String | Notification ID
String channel = " channel_example " ; // String | Channel type
String templateId = " templateId_example " ; // String | Template ID
GetTemplatesResponse result = client . getTemplates () . templatesGetTemplate ( notificationId, channel, templateId ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling TemplatesApi#templatesGetTemplate: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
notificationId
String
Notification ID
channel
String
Channel type
templateId
String
Template ID
templatesListTemplates()
List all templates for a notification and channel
String notificationId = " notificationId_example " ; // String | Notification ID
String channel = " channel_example " ; // String | Channel type
List < GetTemplatesListResponseInner > result = client . getTemplates () . templatesListTemplates ( notificationId, channel ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling TemplatesApi#templatesListTemplates: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
notificationId
String
Notification ID
channel
String
Channel type
templatesSetDefaultTemplate()
Set a template as default for specific delivery modes
String notificationId = " notificationId_example " ; // String | Notification ID
String channel = " channel_example " ; // String | Channel type
SetDefaultTemplateRequest setDefaultTemplateRequest = new SetDefaultTemplateRequest () ; // SetDefaultTemplateRequest |
Template result = client . getTemplates () . templatesSetDefaultTemplate ( notificationId, channel, setDefaultTemplateRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling TemplatesApi#templatesSetDefaultTemplate: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
notificationId
String
Notification ID
channel
String
Channel type
setDefaultTemplateRequest
SetDefaultTemplateRequest
Request Body Properties
Name
Type
Description
templateId
string
(required)
modes
(“instant” | “hourly” | “daily” | “weekly” | “monthly”)[]
(required)
templatesUpdateTemplate()
Update a template's properties
String notificationId = " notificationId_example " ; // String | Notification ID
String channel = " channel_example " ; // String | Channel type
String templateId = " templateId_example " ; // String | Template ID
TemplatePatchRequest templatePatchRequest = new TemplatePatchRequest () ; // TemplatePatchRequest |
Template result = client . getTemplates () . templatesUpdateTemplate ( notificationId, channel, templateId, templatePatchRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling TemplatesApi#templatesUpdateTemplate: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
notificationId
String
Notification ID
channel
String
Channel type
templateId
String
Template ID
templatePatchRequest
TemplatePatchRequest
Request Body Properties
Name
Type
Description
html
string
HTML body of the email.
previewText
string
Preview text (e.g. for inbox).
internal
string
Internal editor representation of the email content (e.g. Bee or Redactor JSON). Used for editing and component embedding; the actual email sent to recipients uses the html field.
subject
string
Email subject line.
senderName
string
Sender display name.
senderEmail
string
Sender email address.
title
string
Notification title (in-app).
redirectURL
string
URL to open when the user taps the notification.
imageURL
string
Image URL shown in the in-app notification.
instant
object
Copy for instant (real-time) delivery.
instant.title
string
instant.redirectURL
string
instant.imageURL
string
(required)
batch
object
Copy for batch delivery.
batch.title
string
(required)
batch.redirectURL
string
(required)
batch.imageURL
string
(required)
text
string
Message text (SMS or call).
message
string
Push notification body text. (title is shared with INAPP_WEB above.)
icon
string
Web push: icon URL. Slack: bot icon (emoji or URL).
url
string
Web push: URL to open when the notification is clicked.
blocks
Record<string, any>[]
Slack message blocks (optional).
username
string
Slack bot username.
Types
typesCreateNotificationType()
Create a new notification
NotificationCreateRequest notificationCreateRequest = new NotificationCreateRequest () ; // NotificationCreateRequest |
Notification result = client . getTypes () . typesCreateNotificationType ( notificationCreateRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling TypesApi#typesCreateNotificationType: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
notificationId
string
(required)
title
string
(required)
channels
string[]
(required)
options
object
options.EMAIL
object
options.EMAIL.defaultDeliveryOption
“off” | “instant” | “hourly” | “daily” | “weekly” | “monthly”
(required)
options.EMAIL.off
object
options.EMAIL.off.enabled
boolean
(required)
options.EMAIL.instant
object
options.EMAIL.instant.enabled
boolean
(required)
options.EMAIL.hourly
object
options.EMAIL.hourly.enabled
boolean
(required)
options.EMAIL.daily
object
options.EMAIL.daily.enabled
boolean
(required)
options.EMAIL.daily.hour
string
options.EMAIL.weekly
object
options.EMAIL.weekly.enabled
boolean
(required)
options.EMAIL.weekly.hour
string
options.EMAIL.weekly.day
string
options.EMAIL.monthly
object
options.EMAIL.monthly.enabled
boolean
(required)
options.EMAIL.monthly.hour
string
options.EMAIL.monthly.date
“first” | “last”
options.INAPP_WEB
object
options.INAPP_WEB.defaultDeliveryOption
“off” | “instant”
(required)
options.INAPP_WEB.off
object
options.INAPP_WEB.off.enabled
boolean
(required)
options.INAPP_WEB.instant
object
options.INAPP_WEB.instant.enabled
boolean
(required)
options.INAPP_WEB.instant.batching
boolean
options.INAPP_WEB.instant.batchingKey
string
options.INAPP_WEB.instant.batchingWindow
number
options.SMS
object
options.SMS.defaultDeliveryOption
“off” | “instant” | “hourly” | “daily” | “weekly” | “monthly”
(required)
options.SMS.off
object
options.SMS.off.enabled
boolean
(required)
options.SMS.instant
object
options.SMS.instant.enabled
boolean
(required)
options.SMS.hourly
object
options.SMS.hourly.enabled
boolean
(required)
options.SMS.daily
object
options.SMS.daily.enabled
boolean
(required)
options.SMS.daily.hour
string
options.SMS.weekly
object
options.SMS.weekly.enabled
boolean
(required)
options.SMS.weekly.hour
string
options.SMS.weekly.day
string
options.SMS.monthly
object
options.SMS.monthly.enabled
boolean
(required)
options.SMS.monthly.hour
string
options.SMS.monthly.date
“first” | “last”
options.CALL
object
options.CALL.defaultDeliveryOption
“off” | “instant” | “hourly” | “daily” | “weekly” | “monthly”
(required)
options.CALL.off
object
options.CALL.off.enabled
boolean
(required)
options.CALL.instant
object
options.CALL.instant.enabled
boolean
(required)
options.CALL.hourly
object
options.CALL.hourly.enabled
boolean
(required)
options.CALL.daily
object
options.CALL.daily.enabled
boolean
(required)
options.CALL.daily.hour
string
options.CALL.weekly
object
options.CALL.weekly.enabled
boolean
(required)
options.CALL.weekly.hour
string
options.CALL.weekly.day
string
options.CALL.monthly
object
options.CALL.monthly.enabled
boolean
(required)
options.CALL.monthly.hour
string
options.CALL.monthly.date
“first” | “last”
options.VOICE
object
options.VOICE.defaultDeliveryOption
“off” | “instant” | “hourly” | “daily” | “weekly” | “monthly”
(required)
options.VOICE.off
object
options.VOICE.off.enabled
boolean
(required)
options.VOICE.instant
object
options.VOICE.instant.enabled
boolean
(required)
options.VOICE.hourly
object
options.VOICE.hourly.enabled
boolean
(required)
options.VOICE.daily
object
options.VOICE.daily.enabled
boolean
(required)
options.VOICE.daily.hour
string
options.VOICE.weekly
object
options.VOICE.weekly.enabled
boolean
(required)
options.VOICE.weekly.hour
string
options.VOICE.weekly.day
string
options.VOICE.monthly
object
options.VOICE.monthly.enabled
boolean
(required)
options.VOICE.monthly.hour
string
options.VOICE.monthly.date
“first” | “last”
options.PUSH
object
options.PUSH.defaultDeliveryOption
“off” | “instant” | “hourly” | “daily” | “weekly” | “monthly”
(required)
options.PUSH.off
object
options.PUSH.off.enabled
boolean
(required)
options.PUSH.instant
object
options.PUSH.instant.enabled
boolean
(required)
options.PUSH.hourly
object
options.PUSH.hourly.enabled
boolean
(required)
options.PUSH.daily
object
options.PUSH.daily.enabled
boolean
(required)
options.PUSH.daily.hour
string
options.PUSH.weekly
object
options.PUSH.weekly.enabled
boolean
(required)
options.PUSH.weekly.hour
string
options.PUSH.weekly.day
string
options.PUSH.monthly
object
options.PUSH.monthly.enabled
boolean
(required)
options.PUSH.monthly.hour
string
options.PUSH.monthly.date
“first” | “last”
options.WEB_PUSH
object
options.WEB_PUSH.defaultDeliveryOption
“off” | “instant” | “hourly” | “daily” | “weekly” | “monthly”
(required)
options.WEB_PUSH.off
object
options.WEB_PUSH.off.enabled
boolean
(required)
options.WEB_PUSH.instant
object
options.WEB_PUSH.instant.enabled
boolean
(required)
options.WEB_PUSH.hourly
object
options.WEB_PUSH.hourly.enabled
boolean
(required)
options.WEB_PUSH.daily
object
options.WEB_PUSH.daily.enabled
boolean
(required)
options.WEB_PUSH.daily.hour
string
options.WEB_PUSH.weekly
object
options.WEB_PUSH.weekly.enabled
boolean
(required)
options.WEB_PUSH.weekly.hour
string
options.WEB_PUSH.weekly.day
string
options.WEB_PUSH.monthly
object
options.WEB_PUSH.monthly.enabled
boolean
(required)
options.WEB_PUSH.monthly.hour
string
options.WEB_PUSH.monthly.date
“first” | “last”
options.SLACK
object
options.SLACK.defaultDeliveryOption
“off” | “instant” | “hourly” | “daily” | “weekly” | “monthly”
(required)
options.SLACK.off
object
options.SLACK.off.enabled
boolean
(required)
options.SLACK.instant
object
options.SLACK.instant.enabled
boolean
(required)
options.SLACK.hourly
object
options.SLACK.hourly.enabled
boolean
(required)
options.SLACK.daily
object
options.SLACK.daily.enabled
boolean
(required)
options.SLACK.daily.hour
string
options.SLACK.weekly
object
options.SLACK.weekly.enabled
boolean
(required)
options.SLACK.weekly.hour
string
options.SLACK.weekly.day
string
options.SLACK.monthly
object
options.SLACK.monthly.enabled
boolean
(required)
options.SLACK.monthly.hour
string
options.SLACK.monthly.date
“first” | “last”
typesDeleteNotificationType()
Delete a notification
String notificationId = " notificationId_example " ; // String | The notification ID
client . getTypes () . typesDeleteNotificationType ( notificationId ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling TypesApi#typesDeleteNotificationType: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
notificationId
String
The notification ID
typesGetNotificationType()
Get a specific notification by ID
String notificationId = " notificationId_example " ; // String | The notification ID
List < GetNotificationsResponseInner > result = client . getTypes () . typesGetNotificationType ( notificationId ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling TypesApi#typesGetNotificationType: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
notificationId
String
The notification ID
typesListNotificationTypes()
Get all notifications for an account with their templates
List < GetNotificationsResponseInner > result = client . getTypes () . typesListNotificationTypes () ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling TypesApi#typesListNotificationTypes: " + e . getMessage ()) ;
Parameters
This endpoint does not need any parameter.
typesUpdateNotificationType()
Update a notification's settings
String notificationId = " notificationId_example " ; // String | The notification ID
NotificationPatchRequest notificationPatchRequest = new NotificationPatchRequest () ; // NotificationPatchRequest |
Notification result = client . getTypes () . typesUpdateNotificationType ( notificationId, notificationPatchRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling TypesApi#typesUpdateNotificationType: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
notificationId
String
The notification ID
notificationPatchRequest
NotificationPatchRequest
Request Body Properties
Name
Type
Description
title
string
channels
(“EMAIL” | “INAPP_WEB” | “SMS” | “CALL” | “VOICE” | “PUSH” | “WEB_PUSH” | “SLACK”)[]
enabled
boolean
deduplication
object
deduplication.duration
number
(required)
throttling
object
throttling.max
number
(required)
throttling.period
number
(required)
throttling.unit
“seconds” | “minutes” | “hours” | “days” | “months” | “years”
(required)
throttling.forever
boolean
(required)
throttling.scope
(“userId” | “notificationId”)[]
(required)
retention
number
null
options
object
options.EMAIL
object
options.EMAIL.defaultDeliveryOption
“off” | “instant” | “hourly” | “daily” | “weekly” | “monthly”
(required)
options.EMAIL.off
object
options.EMAIL.off.enabled
boolean
(required)
options.EMAIL.instant
object
options.EMAIL.instant.enabled
boolean
(required)
options.EMAIL.hourly
object
options.EMAIL.hourly.enabled
boolean
(required)
options.EMAIL.daily
object
options.EMAIL.daily.enabled
boolean
(required)
options.EMAIL.daily.hour
string
options.EMAIL.weekly
object
options.EMAIL.weekly.enabled
boolean
(required)
options.EMAIL.weekly.hour
string
options.EMAIL.weekly.day
string
options.EMAIL.monthly
object
options.EMAIL.monthly.enabled
boolean
(required)
options.EMAIL.monthly.hour
string
options.EMAIL.monthly.date
“first” | “last”
options.INAPP_WEB
object
options.INAPP_WEB.defaultDeliveryOption
“off” | “instant”
(required)
options.INAPP_WEB.off
object
options.INAPP_WEB.off.enabled
boolean
(required)
options.INAPP_WEB.instant
object
options.INAPP_WEB.instant.enabled
boolean
(required)
options.INAPP_WEB.instant.batching
boolean
options.INAPP_WEB.instant.batchingKey
string
options.INAPP_WEB.instant.batchingWindow
number
options.SMS
object
options.SMS.defaultDeliveryOption
“off” | “instant” | “hourly” | “daily” | “weekly” | “monthly”
(required)
options.SMS.off
object
options.SMS.off.enabled
boolean
(required)
options.SMS.instant
object
options.SMS.instant.enabled
boolean
(required)
options.SMS.hourly
object
options.SMS.hourly.enabled
boolean
(required)
options.SMS.daily
object
options.SMS.daily.enabled
boolean
(required)
options.SMS.daily.hour
string
options.SMS.weekly
object
options.SMS.weekly.enabled
boolean
(required)
options.SMS.weekly.hour
string
options.SMS.weekly.day
string
options.SMS.monthly
object
options.SMS.monthly.enabled
boolean
(required)
options.SMS.monthly.hour
string
options.SMS.monthly.date
“first” | “last”
options.CALL
object
options.CALL.defaultDeliveryOption
“off” | “instant” | “hourly” | “daily” | “weekly” | “monthly”
(required)
options.CALL.off
object
options.CALL.off.enabled
boolean
(required)
options.CALL.instant
object
options.CALL.instant.enabled
boolean
(required)
options.CALL.hourly
object
options.CALL.hourly.enabled
boolean
(required)
options.CALL.daily
object
options.CALL.daily.enabled
boolean
(required)
options.CALL.daily.hour
string
options.CALL.weekly
object
options.CALL.weekly.enabled
boolean
(required)
options.CALL.weekly.hour
string
options.CALL.weekly.day
string
options.CALL.monthly
object
options.CALL.monthly.enabled
boolean
(required)
options.CALL.monthly.hour
string
options.CALL.monthly.date
“first” | “last”
options.VOICE
object
options.VOICE.defaultDeliveryOption
“off” | “instant” | “hourly” | “daily” | “weekly” | “monthly”
(required)
options.VOICE.off
object
options.VOICE.off.enabled
boolean
(required)
options.VOICE.instant
object
options.VOICE.instant.enabled
boolean
(required)
options.VOICE.hourly
object
options.VOICE.hourly.enabled
boolean
(required)
options.VOICE.daily
object
options.VOICE.daily.enabled
boolean
(required)
options.VOICE.daily.hour
string
options.VOICE.weekly
object
options.VOICE.weekly.enabled
boolean
(required)
options.VOICE.weekly.hour
string
options.VOICE.weekly.day
string
options.VOICE.monthly
object
options.VOICE.monthly.enabled
boolean
(required)
options.VOICE.monthly.hour
string
options.VOICE.monthly.date
“first” | “last”
options.PUSH
object
options.PUSH.defaultDeliveryOption
“off” | “instant” | “hourly” | “daily” | “weekly” | “monthly”
(required)
options.PUSH.off
object
options.PUSH.off.enabled
boolean
(required)
options.PUSH.instant
object
options.PUSH.instant.enabled
boolean
(required)
options.PUSH.hourly
object
options.PUSH.hourly.enabled
boolean
(required)
options.PUSH.daily
object
options.PUSH.daily.enabled
boolean
(required)
options.PUSH.daily.hour
string
options.PUSH.weekly
object
options.PUSH.weekly.enabled
boolean
(required)
options.PUSH.weekly.hour
string
options.PUSH.weekly.day
string
options.PUSH.monthly
object
options.PUSH.monthly.enabled
boolean
(required)
options.PUSH.monthly.hour
string
options.PUSH.monthly.date
“first” | “last”
options.WEB_PUSH
object
options.WEB_PUSH.defaultDeliveryOption
“off” | “instant” | “hourly” | “daily” | “weekly” | “monthly”
(required)
options.WEB_PUSH.off
object
options.WEB_PUSH.off.enabled
boolean
(required)
options.WEB_PUSH.instant
object
options.WEB_PUSH.instant.enabled
boolean
(required)
options.WEB_PUSH.hourly
object
options.WEB_PUSH.hourly.enabled
boolean
(required)
options.WEB_PUSH.daily
object
options.WEB_PUSH.daily.enabled
boolean
(required)
options.WEB_PUSH.daily.hour
string
options.WEB_PUSH.weekly
object
options.WEB_PUSH.weekly.enabled
boolean
(required)
options.WEB_PUSH.weekly.hour
string
options.WEB_PUSH.weekly.day
string
options.WEB_PUSH.monthly
object
options.WEB_PUSH.monthly.enabled
boolean
(required)
options.WEB_PUSH.monthly.hour
string
options.WEB_PUSH.monthly.date
“first” | “last”
options.SLACK
object
options.SLACK.defaultDeliveryOption
“off” | “instant” | “hourly” | “daily” | “weekly” | “monthly”
(required)
options.SLACK.off
object
options.SLACK.off.enabled
boolean
(required)
options.SLACK.instant
object
options.SLACK.instant.enabled
boolean
(required)
options.SLACK.hourly
object
options.SLACK.hourly.enabled
boolean
(required)
options.SLACK.daily
object
options.SLACK.daily.enabled
boolean
(required)
options.SLACK.daily.hour
string
options.SLACK.weekly
object
options.SLACK.weekly.enabled
boolean
(required)
options.SLACK.weekly.hour
string
options.SLACK.weekly.day
string
options.SLACK.monthly
object
options.SLACK.monthly.enabled
boolean
(required)
options.SLACK.monthly.hour
string
options.SLACK.monthly.date
“first” | “last”
User
Get account-level metadata including logo, VAPID key, and web push status
GetAccountMetadataResponse result = client . getUser () . userGetAccountMetadata () ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling UserApi#userGetAccountMetadata: " + e . getMessage ()) ;
Parameters
This endpoint does not need any parameter.
userGetInAppNotifications()
Get in-app notifications for a user
String before = " before_example " ; // String | Timestamp or ISO date to fetch notifications before
BigDecimal count = new BigDecimal ( 78 ) ; // BigDecimal | Number of notifications to return (default 10)
GetInappNotificationsResponse result = client . getUser () . userGetInAppNotifications ( before, count ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling UserApi#userGetInAppNotifications: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
before
String
Timestamp or ISO date to fetch notifications before
[optional]
count
BigDecimal
Number of notifications to return (default 10)
[optional]
userGetInAppUnreadCount()
Get the count of unread in-app notifications for a user
InappUnreadCountResponse result = client . getUser () . userGetInAppUnreadCount () ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling UserApi#userGetInAppUnreadCount: " + e . getMessage ()) ;
Parameters
This endpoint does not need any parameter.
userGetUser()
Get a user by ID. All users exist implicitly, returns basic user object if not found in DB.
String userId = " userId_example " ; // String | User ID
User result = client . getUser () . userGetUser ( userId ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling UserApi#userGetUser: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
userId
String
User ID
userIdentify()
Create or update a user with the given ID. Updates lastSeenTime automatically.
String userId = " userId_example " ; // String | User ID
PostUserRequest postUserRequest = new PostUserRequest () ; // PostUserRequest |
User result = client . getUser () . userIdentify ( userId, postUserRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling UserApi#userIdentify: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
userId
String
User ID
postUserRequest
PostUserRequest
Request Body Properties
Name
Type
Description
id
string
Unique user identifier. Required.
email
string
User’s email address for email notifications.
number
string
User’s phone number for SMS/call notifications.
pushTokens
object[]
Mobile push tokens (FCM, APN) for push notifications.
pushTokens[].type
“FCM” | “APN”
(required)
pushTokens[].token
string
(required)
pushTokens[].device
object
(required)
pushTokens[].device.app_id
string
pushTokens[].device.ad_id
string
pushTokens[].device.device_id
string
(required)
pushTokens[].device.platform
string
pushTokens[].device.manufacturer
string
pushTokens[].device.model
string
pushTokens[].environment
string
used by APN to differentiate between sandbox and production builds (sandbox/undefined or production)
webPushTokens
object[]
Web push subscription config from the browser.
webPushTokens[].sub
object
(required) Configuration for a Push Subscription. This can be obtained on the frontend by calling serviceWorkerRegistration.pushManager.subscribe(). The expected format is the same output as JSON.stringify’ing a PushSubscription in the browser.
webPushTokens[].sub.endpoint
string
(required)
webPushTokens[].sub.keys
object
(required)
webPushTokens[].sub.keys.p256dh
string
(required)
webPushTokens[].sub.keys.auth
string
(required)
timezone
string
User’s timezone (e.g. “America/New_York”) for scheduling.
slackChannel
string
The destination channel of slack notifications sent to this user. Can be either of the following: - Channel name, e.g. “test” - Channel name with # prefix, e.g. “#test” - Channel ID, e.g. “C1234567890” - User ID for DM, e.g. “U1234567890” - Username with @ prefix, e.g. “@test”
slackToken
object
slackToken.access_token
string
slackToken.app_id
string
slackToken.authed_user
object
slackToken.authed_user.access_token
string
slackToken.authed_user.expires_in
number
slackToken.authed_user.id
string
slackToken.authed_user.refresh_token
string
slackToken.authed_user.scope
string
slackToken.authed_user.token_type
string
slackToken.bot_user_id
string
slackToken.enterprise
object
slackToken.enterprise.id
string
slackToken.enterprise.name
string
slackToken.error
string
slackToken.expires_in
number
slackToken.incoming_webhook
object
slackToken.incoming_webhook.channel
string
slackToken.incoming_webhook.channel_id
string
slackToken.incoming_webhook.configuration_url
string
slackToken.incoming_webhook.url
string
slackToken.is_enterprise_install
boolean
slackToken.needed
string
slackToken.ok
boolean
(required)
slackToken.provided
string
slackToken.refresh_token
string
slackToken.scope
string
slackToken.team
object
slackToken.team.id
string
slackToken.team.name
string
slackToken.token_type
string
slackToken.warning
string
slackToken.response_metadata
object
slackToken.response_metadata.warnings
string[]
slackToken.response_metadata.next_cursor
string
slackToken.response_metadata.scopes
string[]
slackToken.response_metadata.acceptedScopes
string[]
slackToken.response_metadata.retryAfter
number
slackToken.response_metadata.messages
string[]
userMarkInAppNotificationsAsSeen()
Mark in-app web notifications as seen/read for a user
InAppNotificationUnreadClearRequest inAppNotificationUnreadClearRequest = new InAppNotificationUnreadClearRequest () ; // InAppNotificationUnreadClearRequest |
SuccessResponse result = client . getUser () . userMarkInAppNotificationsAsSeen ( inAppNotificationUnreadClearRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling UserApi#userMarkInAppNotificationsAsSeen: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
notificationId
string
trackingId
string
userUpdateInAppNotificationStatus()
Update in-app web notification status (opened, archived, clicked, etc.)
InAppNotificationPatchRequest inAppNotificationPatchRequest = new InAppNotificationPatchRequest () ; // InAppNotificationPatchRequest |
SuccessResponse result = client . getUser () . userUpdateInAppNotificationStatus ( inAppNotificationPatchRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling UserApi#userUpdateInAppNotificationStatus: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
trackingIds
string[]
(required)
opened
string
clicked
string
archived
string
actioned1
string
actioned2
string
reply
object
reply.date
string
(required)
reply.message
string
(required)
replies
object[]
replies[].date
string
(required)
replies[].message
string
(required)
Users
usersDeleteUser()
Delete a user and all associated data (in-app notifications, preferences, and user record)
String userId = " userId_example " ; // String | User ID
String envId = " envId_example " ; // String | Environment ID (required when using JWT auth)
DeleteUserResponse result = client . getUsers () . usersDeleteUser ( userId, envId ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling UsersApi#usersDeleteUser: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
userId
String
User ID
envId
String
Environment ID (required when using JWT auth)
[optional]
usersListUsers()
Get all users for an environment with pagination support
BigDecimal limit = new BigDecimal ( 78 ) ; // BigDecimal | Maximum number of users to return (default
String nextToken = " nextToken_example " ; // String | Pagination token for next page
String envId = " envId_example " ; // String | Environment ID (required when using JWT auth)
GetUsersResponse result = client . getUsers () . usersListUsers ( limit, nextToken, envId ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling UsersApi#usersListUsers: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
limit
BigDecimal
Maximum number of users to return (default
nextToken
String
Pagination token for next page
envId
String
Environment ID (required when using JWT auth)
[optional]
usersRemoveUserFromSuppression()
Remove user suppression status for a specific channel
String userId = " userId_example " ; // String | User ID
String channel = " channel_example " ; // String | Channel type (EMAIL)
String envId = " envId_example " ; // String | Environment ID (required when using JWT auth)
UserSuppressionDeleteResponse result = client . getUsers () . usersRemoveUserFromSuppression ( userId, channel, envId ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling UsersApi#usersRemoveUserFromSuppression: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
userId
String
User ID
channel
String
Channel type (EMAIL)
envId
String
Environment ID (required when using JWT auth)
[optional]
Voice
voiceBindNumber()
Bind a phone number to a deployed agent for inbound routing
String agentId = " agentId_example " ; // String | Agent id
BindNumberRequest bindNumberRequest = new BindNumberRequest () ; // BindNumberRequest |
BindNumberResponse result = client . getVoice () . voiceBindNumber ( agentId, bindNumberRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling VoiceApi#voiceBindNumber: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
agentId
String
Agent id
bindNumberRequest
BindNumberRequest
Request Body Properties
Name
Type
Description
phoneNumber
string
(required)
voiceCall()
Place an outbound call with an inline agent spec (ephemeral)
VoiceCallRequest voiceCallRequest = new VoiceCallRequest () ; // VoiceCallRequest |
VoiceCallResponse result = client . getVoice () . voiceCall ( voiceCallRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling VoiceApi#voiceCall: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
phoneNumber
string
(required)
spec
object
(required)
spec.name
string
(required)
spec.instructions
string
(required)
spec.inbound
object
(required)
spec.inbound.firstAction
“speak” | “wait”
(required)
spec.inbound.greeting
string
(required)
spec.outbound
object
(required)
spec.outbound.firstAction
“speak” | “wait”
(required)
spec.outbound.opener
string
(required)
spec.outbound.voicemailAction
“hangup” | “message” | “continue”
(required)
spec.outbound.voicemailMessage
string
spec.model
object | object
(required) Speech pipeline. Prefer s2s mode (e.g. openai:gpt-realtime with voice marin).
spec.model.mode
“chained”
(required)
spec.model.llm
string
(required) ‘provider:model’, e.g. ‘openai:gpt-4o’
spec.model.stt
string
(required) ‘provider:model’, e.g. ‘deepgram:nova-3’
spec.model.tts
string
(required) ‘provider:model’, e.g. ‘elevenlabs:eleven_multilingual_v2’
spec.model.voiceId
string
(required) Provider-native voice id for the selected TTS provider (e.g. ElevenLabs UUID, OpenAI alloy).
spec.model.language
string
(required)
spec.model.speechSpeed
number
(required)
spec.model.temperature
number
(required)
spec.model.maxTokens
number
(required)
spec.tools
(object | object | object | object | object)[]
(required)
spec.variables
object[]
(required)
spec.variables[].name
string
(required)
spec.variables[].description
string
spec.variables[].defaultValue
string
spec.conversation
object
(required)
spec.conversation.turnDetection
“semantic” | “vad”
(required)
spec.conversation.minEndOfTurnSilenceMs
number
(required)
spec.conversation.allowInterruptions
boolean
(required)
spec.conversation.minInterruptionDurationMs
number
(required)
spec.conversation.silenceTimeoutSeconds
number
(required)
spec.conversation.maxCallLengthSeconds
number
(required)
spec.conversation.agentCanEndCall
boolean
When true (default), the agent may invoke the built-in end_call action.
spec.compliance
object
(required)
spec.compliance.recordingEnabled
boolean
(required)
variables
Record<string, string>
Optional per-call {{variable}} overrides.
agentId
string
Saved agent id when testing from the dashboard playground.
voiceCreateAgent()
Deploy a voice agent (persist spec for production routing)
CreateVoiceAgentRequest createVoiceAgentRequest = new CreateVoiceAgentRequest () ; // CreateVoiceAgentRequest |
CreateVoiceAgentResponse result = client . getVoice () . voiceCreateAgent ( createVoiceAgentRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling VoiceApi#voiceCreateAgent: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
spec
object
(required)
spec.name
string
(required)
spec.instructions
string
(required)
spec.inbound
object
(required)
spec.inbound.firstAction
“speak” | “wait”
(required)
spec.inbound.greeting
string
(required)
spec.outbound
object
(required)
spec.outbound.firstAction
“speak” | “wait”
(required)
spec.outbound.opener
string
(required)
spec.outbound.voicemailAction
“hangup” | “message” | “continue”
(required)
spec.outbound.voicemailMessage
string
spec.model
object | object
(required) Speech pipeline. Prefer s2s mode (e.g. openai:gpt-realtime with voice marin).
spec.model.mode
“chained”
(required)
spec.model.llm
string
(required) ‘provider:model’, e.g. ‘openai:gpt-4o’
spec.model.stt
string
(required) ‘provider:model’, e.g. ‘deepgram:nova-3’
spec.model.tts
string
(required) ‘provider:model’, e.g. ‘elevenlabs:eleven_multilingual_v2’
spec.model.voiceId
string
(required) Provider-native voice id for the selected TTS provider (e.g. ElevenLabs UUID, OpenAI alloy).
spec.model.language
string
(required)
spec.model.speechSpeed
number
(required)
spec.model.temperature
number
(required)
spec.model.maxTokens
number
(required)
spec.tools
(object | object | object | object | object)[]
(required)
spec.variables
object[]
(required)
spec.variables[].name
string
(required)
spec.variables[].description
string
spec.variables[].defaultValue
string
spec.conversation
object
(required)
spec.conversation.turnDetection
“semantic” | “vad”
(required)
spec.conversation.minEndOfTurnSilenceMs
number
(required)
spec.conversation.allowInterruptions
boolean
(required)
spec.conversation.minInterruptionDurationMs
number
(required)
spec.conversation.silenceTimeoutSeconds
number
(required)
spec.conversation.maxCallLengthSeconds
number
(required)
spec.conversation.agentCanEndCall
boolean
When true (default), the agent may invoke the built-in end_call action.
spec.compliance
object
(required)
spec.compliance.recordingEnabled
boolean
(required)
voiceCreateBrowserCall()
Place an ephemeral browser playground call with an inline agent spec
VoiceBrowserCallRequest voiceBrowserCallRequest = new VoiceBrowserCallRequest () ; // VoiceBrowserCallRequest |
VoiceBrowserCallResponse result = client . getVoice () . voiceCreateBrowserCall ( voiceBrowserCallRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling VoiceApi#voiceCreateBrowserCall: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
Request Body Properties
Name
Type
Description
spec
object
(required)
spec.name
string
(required)
spec.instructions
string
(required)
spec.inbound
object
(required)
spec.inbound.firstAction
“speak” | “wait”
(required)
spec.inbound.greeting
string
(required)
spec.outbound
object
(required)
spec.outbound.firstAction
“speak” | “wait”
(required)
spec.outbound.opener
string
(required)
spec.outbound.voicemailAction
“hangup” | “message” | “continue”
(required)
spec.outbound.voicemailMessage
string
spec.model
object | object
(required) Speech pipeline. Prefer s2s mode (e.g. openai:gpt-realtime with voice marin).
spec.model.mode
“chained”
(required)
spec.model.llm
string
(required) ‘provider:model’, e.g. ‘openai:gpt-4o’
spec.model.stt
string
(required) ‘provider:model’, e.g. ‘deepgram:nova-3’
spec.model.tts
string
(required) ‘provider:model’, e.g. ‘elevenlabs:eleven_multilingual_v2’
spec.model.voiceId
string
(required) Provider-native voice id for the selected TTS provider (e.g. ElevenLabs UUID, OpenAI alloy).
spec.model.language
string
(required)
spec.model.speechSpeed
number
(required)
spec.model.temperature
number
(required)
spec.model.maxTokens
number
(required)
spec.tools
(object | object | object | object | object)[]
(required)
spec.variables
object[]
(required)
spec.variables[].name
string
(required)
spec.variables[].description
string
spec.variables[].defaultValue
string
spec.conversation
object
(required)
spec.conversation.turnDetection
“semantic” | “vad”
(required)
spec.conversation.minEndOfTurnSilenceMs
number
(required)
spec.conversation.allowInterruptions
boolean
(required)
spec.conversation.minInterruptionDurationMs
number
(required)
spec.conversation.silenceTimeoutSeconds
number
(required)
spec.conversation.maxCallLengthSeconds
number
(required)
spec.conversation.agentCanEndCall
boolean
When true (default), the agent may invoke the built-in end_call action.
spec.compliance
object
(required)
spec.compliance.recordingEnabled
boolean
(required)
variables
Record<string, string>
Optional per-call {{variable}} overrides for browser playground.
agentId
string
Saved agent id when testing from the dashboard playground.
voiceDeleteAgent()
Remove a deployed voice agent and unbind its numbers
String agentId = " agentId_example " ; // String | Agent id
DeleteVoiceAgentResponse result = client . getVoice () . voiceDeleteAgent ( agentId ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling VoiceApi#voiceDeleteAgent: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
agentId
String
Agent id
voiceGetAgent()
Get a deployed voice agent
String agentId = " agentId_example " ; // String | Agent id
GetVoiceAgentResponse result = client . getVoice () . voiceGetAgent ( agentId ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling VoiceApi#voiceGetAgent: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
agentId
String
Agent id
voiceGetCall()
Get a call with transcript timeline and recording playback URL
String trackingId = " trackingId_example " ; // String | Call tracking id
GetVoiceCallResponse result = client . getVoice () . voiceGetCall ( trackingId ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling VoiceApi#voiceGetCall: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
trackingId
String
Call tracking id
voiceListAgents()
List deployed voice agents for the account
ListVoiceAgentsResponse result = client . getVoice () . voiceListAgents () ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling VoiceApi#voiceListAgents: " + e . getMessage ()) ;
Parameters
This endpoint does not need any parameter.
voiceListCalls()
List recent calls newest-first (30-day retention)
String agentId = " agentId_example " ; // String | Only calls handled by this agent
BigDecimal limit = new BigDecimal ( 78 ) ; // BigDecimal | Page size (default 25, max 100)
String cursor = " cursor_example " ; // String | Pagination cursor from a previous response
ListVoiceCallsResponse result = client . getVoice () . voiceListCalls ( agentId, limit, cursor ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling VoiceApi#voiceListCalls: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
agentId
String
Only calls handled by this agent
[optional]
limit
BigDecimal
Page size (default 25, max 100)
[optional]
cursor
String
Pagination cursor from a previous response
[optional]
voiceUnbindNumber()
Unbind a phone number from a deployed agent
String agentId = " agentId_example " ; // String | Agent id
String phoneNumber = " phoneNumber_example " ; // String | E.164 phone number
UnbindNumberResponse result = client . getVoice () . voiceUnbindNumber ( agentId, phoneNumber ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling VoiceApi#voiceUnbindNumber: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
agentId
String
Agent id
phoneNumber
String
E.164 phone number
voiceUpdateAgent()
Publish changes to a deployed voice agent
String agentId = " agentId_example " ; // String | Agent id
UpdateVoiceAgentRequest updateVoiceAgentRequest = new UpdateVoiceAgentRequest () ; // UpdateVoiceAgentRequest |
UpdateVoiceAgentResponse result = client . getVoice () . voiceUpdateAgent ( agentId, updateVoiceAgentRequest ) ;
System . out . println ( result ) ;
} catch ( ApiException e ) {
System . err . println ( " Exception when calling VoiceApi#voiceUpdateAgent: " + e . getMessage ()) ;
Parameters
Name
Type
Description
Notes
agentId
String
Agent id
updateVoiceAgentRequest
UpdateVoiceAgentRequest
Request Body Properties
Name
Type
Description
spec
object
(required)
spec.name
string
(required)
spec.instructions
string
(required)
spec.inbound
object
(required)
spec.inbound.firstAction
“speak” | “wait”
(required)
spec.inbound.greeting
string
(required)
spec.outbound
object
(required)
spec.outbound.firstAction
“speak” | “wait”
(required)
spec.outbound.opener
string
(required)
spec.outbound.voicemailAction
“hangup” | “message” | “continue”
(required)
spec.outbound.voicemailMessage
string
spec.model
object | object
(required) Speech pipeline. Prefer s2s mode (e.g. openai:gpt-realtime with voice marin).
spec.model.mode
“chained”
(required)
spec.model.llm
string
(required) ‘provider:model’, e.g. ‘openai:gpt-4o’
spec.model.stt
string
(required) ‘provider:model’, e.g. ‘deepgram:nova-3’
spec.model.tts
string
(required) ‘provider:model’, e.g. ‘elevenlabs:eleven_multilingual_v2’
spec.model.voiceId
string
(required) Provider-native voice id for the selected TTS provider (e.g. ElevenLabs UUID, OpenAI alloy).
spec.model.language
string
(required)
spec.model.speechSpeed
number
(required)
spec.model.temperature
number
(required)
spec.model.maxTokens
number
(required)
spec.tools
(object | object | object | object | object)[]
(required)
spec.variables
object[]
(required)
spec.variables[].name
string
(required)
spec.variables[].description
string
spec.variables[].defaultValue
string
spec.conversation
object
(required)
spec.conversation.turnDetection
“semantic” | “vad”
(required)
spec.conversation.minEndOfTurnSilenceMs
number
(required)
spec.conversation.allowInterruptions
boolean
(required)
spec.conversation.minInterruptionDurationMs
number
(required)
spec.conversation.silenceTimeoutSeconds
number
(required)
spec.conversation.maxCallLengthSeconds
number
(required)
spec.conversation.agentCanEndCall
boolean
When true (default), the agent may invoke the built-in end_call action.
spec.compliance
object
(required)
spec.compliance.recordingEnabled
boolean
(required)