List messaging programs

List messaging programs

GET/api/v1/sms/messaging-programs

GET /sms/messaging-programs
curl -X GET 'https://www.unitpost.com/api/v1/sms/messaging-programs' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'User-Agent: my-app/1.0'
Response · 200
{
  "object": "list",
  "has_more": false,
  "data": [
    {
      "name": "Example",
      "description": "string",
      "message_type": "transactional",
      "canonical_purpose": "string",
      "frequency_disclosure": "string",
      "opt_in_type": "string",
      "opt_in_workflow": "string",
      "opt_in_confirmation": "string",
      "help_message": "string",
      "stop_message": "string",
      "terms_url": "https://example.com",
      "privacy_url": "https://example.com",
      "monthly_volume": "string",
      "sample_messages": [
        "string"
      ],
      "embedded_links": false,
      "embedded_link_sample": "string",
      "embedded_phones": false,
      "age_gated": false,
      "provider_overrides": {
        "toll_free": {
          "use_case_category": "string"
        },
        "ten_dlc": {
          "use_case": "string",
          "sub_use_cases": [
            "string"
          ]
        }
      },
      "recipe_id": "recipe_123",
      "consent_setup_id": "consent_setup_123",
      "object": "sms_messaging_program",
      "id": "id_123",
      "recipe_version": 0,
      "revision": 0,
      "readiness": {
        "ready": false,
        "missing": [
          "string"
        ]
      },
      "archived_at": "2026-01-01T00:00:00.000Z",
      "created_at": "2026-01-01T00:00:00.000Z",
      "updated_at": "2026-01-01T00:00:00.000Z"
    }
  ]
}

Your messaging programs: what a sender registration says your texts are for, how people opt in, the help and stop replies and sample messages. Registrations copy a program when submitted; writing a program never changes one. archived=true includes archived ones. Requires the sms:read capability.

Parameters4 fields
FieldTypeDescription
limitinteger · queryMax rows to return (default 20, max 100).
afterstring · queryReturn rows after this id (forward paging).
beforestring · queryReturn rows before this id (backward paging).
archivedstring · query`true` includes archived programs.
Response · 200 fields29 fields
FieldTypeDescription
namerequiredstring—
descriptionstring | null—
message_typerequiredenumtransactional | marketing—
canonical_purposestring | null—
frequency_disclosurestring | null—
opt_in_typestring | null—
opt_in_workflowstring | null—
opt_in_confirmationstring | null—
help_messagestring | null—
stop_messagestring | null—
terms_urlstring | null—
privacy_urlstring | null—
monthly_volumestring | null—
sample_messagesrequiredstring[]—
embedded_linksrequiredboolean—
embedded_link_samplestring | null—
embedded_phonesrequiredboolean—
age_gatedrequiredboolean—
provider_overridesobject | null—
recipe_idrequiredstring | null—
consent_setup_idstring | nullA consent setup (`cset_…`) this workspace has.
objectrequiredstring—
idrequiredstring—
recipe_versionrequiredinteger | null—
revisionrequiredintegerMoves on a material change; registrations keep the revision they copied.
readinessrequiredobjectWhether the program has what a registration needs; `missing` names the fields still to fill (the wizard's own check).
archived_atrequiredstring | null—
created_atrequiredstring—
updated_atrequiredstring—
200401403404422

Search docs and guides

Search the docs and product guides.