Skip to content

Get the 10DLC campaign registration for the authenticated account. Returns null when no brand registration exists yet.

GET
/registrations/us/10dlc/campaign
curl --request GET \
--url https://api.pingram.io/registrations/us/10dlc/campaign \
--header 'Authorization: Bearer <token>'

Authorizations

Responses

200

Successful response

Media typeapplication/json

Public response type for 10DLC campaign registration

object
accountId
required
string
campaignStatus
required

Pingram-side 10DLC registration workflow status (brand or campaign).

  • not_started: no customer submission yet
  • pending_review: customer submitted; Pingram has not submitted to carriers
  • in_progress: submitted for carrier review
  • approved | rejected | info_needed: review outcome
string
Allowed values: not_started in_progress pending_review approved rejected info_needed
campaignDescription

Summary of what this campaign sends and why, including audience and typical message content. Required before carrier submission.

string
campaignSample1

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.

string
campaignSample2

Second example SMS. Required before carrier submission. Required for MARKETING and MIXED use cases.

string
campaignSample3

Optional third example SMS.

string
campaignSample4

Optional fourth example SMS.

string
campaignMessageFlow

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.

string
campaignOptinKeywords

Extra opt-in keywords as a comma-separated list. START is always included.

string
campaignOptinMessage

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.

string
campaignOptoutKeywords

Extra opt-out keywords as a comma-separated list. STOP is always included.

string
campaignOptoutMessage

Auto-reply sent when a recipient opts out. Required before carrier submission. Should confirm they will receive no further messages.

string
campaignHelpKeywords

Extra help keywords as a comma-separated list. HELP is always included.

string
campaignHelpMessage

Auto-reply sent when a recipient texts a help keyword. Required before carrier submission. Should include a support contact (email and/or phone).

string
campaignEmbeddedLink

Whether campaign messages include URLs.

boolean
campaignEmbeddedLinkUrl

Sample URL that appears in messages. Provide when campaignEmbeddedLink is true.

string
campaignEmbeddedPhone

Whether campaign messages include phone numbers.

boolean
campaignAgeGated

Whether campaign content is age-restricted (18+).

boolean
campaignDirectLending

Whether the campaign relates to direct lending or loan products.

boolean
campaignPrivacyPolicyLink

Public URL of the privacy policy that covers this SMS program.

string
campaignTermsAndConditionsLink

Public URL of the terms and conditions that cover this SMS program.

string
campaignUsecase

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.

string
createdAt
required
string
updatedAt
required
string
Example
{
"campaignStatus": "not_started"
}

400

Bad Request - validation errors, invalid input

Media typeapplication/json

Standard error response for API errors.

object
trackingId
required

Unique tracking ID for the request.

string
error
required

Structured error details for API error responses.

object
code
required

Machine-readable error code.

string
message
required

Human-readable error message.

string
fix

Actionable hint for fixing the error.

string
Examplegenerated
{
"trackingId": "example",
"error": {
"code": "example",
"message": "example",
"fix": "example"
}
}

401

Unauthorized

402

Payment Required - usage limits exceeded

Media typeapplication/json

Standard error response for API errors.

object
trackingId
required

Unique tracking ID for the request.

string
error
required

Structured error details for API error responses.

object
code
required

Machine-readable error code.

string
message
required

Human-readable error message.

string
fix

Actionable hint for fixing the error.

string
Examplegenerated
{
"trackingId": "example",
"error": {
"code": "example",
"message": "example",
"fix": "example"
}
}

500

Internal Server Error

502

Bad Gateway - provider error

Media typeapplication/json

Standard error response for API errors.

object
trackingId
required

Unique tracking ID for the request.

string
error
required

Structured error details for API error responses.

object
code
required

Machine-readable error code.

string
message
required

Human-readable error message.

string
fix

Actionable hint for fixing the error.

string
Examplegenerated
{
"trackingId": "example",
"error": {
"code": "example",
"message": "example",
"fix": "example"
}
}