---
title: "Get Toll-Free Campaign by ID"
method: GET
path: "/campaigns/toll-free/{campaignId}"
tags: ["campaigns > tollFree"]
---

# Get Toll-Free Campaign by ID

`GET /campaigns/toll-free/{campaignId}`

## Request

- Base URL: `https://api.pinnacle.sh`
- URL: `https://api.pinnacle.sh/campaigns/toll-free/{campaignId}`
- Auth: API key in header `PINNACLE-API-KEY`

Retrieve Toll-Free campaign.

## Path parameters

- `campaignId` string, required

## Response `200`

Successfully retrieved.

- TollFreeWithExtendedBrandAndStatus
  - `brand` ExtendedBrand, required
    - `createdAt` string, required: ISO 8601 formatted timestamp of when this brand was added to our system.
    - `id` string, required: The brand's ID. This identifier is a string that always begins with the prefix `b_`, for example: `b_1234567890`.
    - `isArchived` boolean, required: Indicates if this brand is archived.
    - `status` 'PENDING' | 'UNVERIFIED' | 'VERIFIED' | 'VETTED' | 'FAILED' | 'INCOMPLETE', required: Current review status of the brand. `INCOMPLETE`: Has not been submitted. `PENDING`: Currently being reviewed. `VERIFIED`: Verified and good to go. `UNVERIFIED`: No longer verified due to an update in the brand details. `VETTED`: Brand has been vetted by an external provider and has received vetting scores.
    - `updatedAt` string, required: ISO 8601 formatted timestamp of when this brand was last updated.
    - `address` string: Primary brand address where this brand is located.
    - `contact` OptionalContactSchema: Contact information for the primary brand representative.
      - `email` string: Email address of the contact person.
      - `name` string: Full name of the contact person.
      - `phone` string: Phone number of the contact person in E.164 format.
      - `title` string: Job title or position oft he contact person.
    - `dba` string, nullable: "Doing Business As" name - the public name this brand operates under.
    - `description` string: Brief description of what this brand does.
    - `ein` string: Employer Identification Number (EIN) assigned by the IRS.
    - `email` string: Main contact email address for this brand.
    - `name` string: Legal name of the brand as registered.
    - `sector` 'AGRICULTURE' | 'COMMUNICATION' | 'CONSTRUCTION' | 'EDUCATION' | 'ENERGY' | 'ENTERTAINMENT' | 'FINANCIAL' | 'GAMBLING' | 'GOVERNMENT' | 'HEALTHCARE' | 'HOSPITALITY' | 'INSURANCE' | 'MANUFACTURING' | 'NGO' | 'REAL_ESTATE' | 'RETAIL' | 'TECHNOLOGY': Industry the Brand operates in.
    - `type` 'GOVERNMENT' | 'NON_PROFIT' | 'PRIVATE_PROFIT' | 'PUBLIC_PROFIT' | 'SOLE_PROPRIETOR': Legal structure of the brand.
    - `entityType` 'LLC' | 'SOLE_PROPRIETORSHIP' | 'PARTNERSHIP' | 'CORP' | 'S_CORP': Legal entity type of the brand.
    - `website` string: Brand website URL.
  - `status` 'INCOMPLETE' | 'IN REVIEW' | 'VERIFIED' | 'FAILED', required: Current review status of the campaign. <br> `INCOMPLETE`: Not submitted. <br> `IN REVIEW`: Being reviewed by carriers. <br> `VERIFIED`: Approved and ready to send messages.<br> `FAILED`: Issues and errors related to the campaign's details.
  - `campaignId` string, required: Unique identifier for the campaign. Begins with the prefix `tf_`.
  - `keywords` TollFreeWithExtendedBrandAndStatusKeywords: Keyword response configuration.
    - `HELP` TollFreeWithExtendedBrandAndStatusKeywordsHelp: Help keyword settings.
      - `message` string: Message sent when a user sends HELP. Must include at least one support contact method (phone, email, or website).
    - `OPT_IN` TollFreeWithExtendedBrandAndStatusKeywordsOptIn: Opt-in keyword settings.
      - `message` string: Message sent when a user opt-in. Must include brand name, confirmation of subscription, and disclosures (STOP and HELP instructions, message and data rates).
      - `keywords` string[]: Keywords that trigger opt-in response.
  - `links` TollFreeWithExtendedBrandAndStatusLinks: Legal documentation links.
    - `privacyPolicy` string: Privacy policy URL.
    - `termsOfService` string: Terms of service URL.
  - `monthlyVolume` '10' | '100' | '1,000' | '10,000' | '100,000' | '250,000' | '500,000' | '750,000' | '1,000,000' | '5,000,000' | '10,000,000+': Message volume.
  - `name` string: Display name of the campaign.
  - `optIn` TollFreeWithExtendedBrandAndStatusOptIn: Opt-in keyword settings.
    - `method` 'DIGITAL' | 'PAPER' | 'TEXT' | 'VERBAL': Method used to collect opt-in consent from users. See the [Opt-In Methods and Workflow](/guides/campaigns/opt-in-compliance#opt-in-methods-and-workflow) section for detailed requirements. - `DIGITAL`: Web form, app, or online checkout. Requires URL to the form. Checkbox must not be pre-selected. - `PAPER`: Physical paper form (in-store, event, etc.). Requires URL/image of the form with SMS disclosures visible. - `TEXT`: Text-to-join keyword campaign. Users text a keyword to opt in. Requires the keyword and number. - `VERBAL`: In-person or phone consent. Not allowed for marketing campaigns. Requires script and confirmation SMS details.
    - `url` string: Url to opt in.
    - `workflowDescription` string: Explain how users find the opt-in.
  - `options` TollFreeWithExtendedBrandAndStatusOptions: Campaign configuration options.
    - `ageGated` boolean: Whether the campaign is age-gated.
  - `productionMessageContent` string: Explain message that would be sent.
  - `useCase` TollFreeWithExtendedBrandAndStatusUseCase: Use case classification for the campaign.
    - `summary` string: Summary of the use case.
    - `value` 'APP_NOTIFICATIONS' | 'APPOINTMENTS' | 'AUCTIONS' | 'AUTO_REPAIR_SERVICES' | 'BANK_TRANSFERS' | 'BILLING' | 'BOOKING_CONFIRMATIONS' | 'BUSINESS_UPDATES' | 'CAREER_TRAINING' | 'CHATBOT' | 'CONVERSATIONAL_ALERTS' | 'COURIER_SERVICES_DELIVERIES' | 'COVID_19_ALERTS' | 'EMERGENCY_ALERTS' | 'EVENTS_PLANNING' | 'FINANCIAL_SERVICES' | 'FRAUD_ALERTS' | 'FUNDRAISING' | 'GENERAL_MARKETING' | 'GENERAL_SCHOOL_UPDATES' | 'HEALTHCARE_ALERTS' | 'HOUSING_COMMUNITY_UPDATES' | 'HR_STAFFING' | 'INSURANCE_SERVICES' | 'JOB_DISPATCH' | 'LEGAL_SERVICES' | 'MIXED' | 'MOTIVATIONAL_REMINDERS' | 'NOTARY_NOTIFICATIONS' | 'ORDER_NOTIFICATIONS' | 'POLITICAL' | 'PUBLIC_WORKS' | 'REAL_ESTATE_SERVICES' | 'RELIGIOUS_SERVICES' | 'REPAIR_DIAGNOSTICS_ALERTS' | 'REWARDS_PROGRAM' | 'SURVEYS' | 'SYSTEM_ALERTS' | 'TWO_FA' | 'VOTING_REMINDERS' | 'WAITLIST_ALERTS' | 'WEBINAR_REMINDERS' | 'WORKSHOP_ALERTS': The primary use case classification for this campaign.

## Other responses

- `400`: Validation failed. The payload has missing required fields and/or invalid types. <br> See https://zod.dev/error-formatting for more information.
- `401`: The request lacks valid authentication credentials or the provided credentials are invalid. <br> Ensure you're including a valid API key in the request headers and that your account has the necessary permissions to access this endpoint.
- `403`: Your subscription does not include access to this feature. <br> This occurs when attempting to use functionality that requires a higher subscription tier. Please upgrade your subscription to access this feature.
- `404`: The requested resource could not be found. <br> This may occur if the identifier is incorrect, the resource has been deleted, or you don't have permission to access it.
- `500`: An unexpected error occurred on Pinnacle's servers while processing your request. <br> If this error persists, please contact support with the request details.

---

[API](https://skmtc.dev/pinnacle/apis/pinnacle-2.md) - [All operations](https://skmtc.dev/pinnacle/apis/pinnacle-2/llms.txt) - [OpenAPI document](https://skmtc.dev/pinnacle/apis/pinnacle-2/revisions/45416dadab79?raw)
