---
title: "Get 10DLC Campaign by ID"
method: GET
path: "/campaigns/dlc/{campaignId}"
tags: ["campaigns > dlc"]
---

# Get 10DLC Campaign by ID

`GET /campaigns/dlc/{campaignId}`

## Request

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

Retrieve 10DLC campaign.

## Path parameters

- `campaignId` string, required

## Response `200`

Successfully retrieved.

- DlcWithExtendedBrandAndStatus: Dlc campaign schema that includes extended brand and status.
  - `autoRenew` boolean, required: Whether the campaign renews automatically.
  - `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.
  - `campaignId` string, required: Unique identifier for the campaign. This identifier is a string that always begins with the prefix `dlc_`, for example: `dlc_1234567890`.
  - `description` string: Description of the campaign.
  - `keywords` DlcWithExtendedBrandAndStatusKeywords, required: Keyword response configuration.
    - `HELP` DlcWithExtendedBrandAndStatusKeywordsHelp, required: Help keyword settings.
      - `message` string: Response message for help keywords. See the [Keyword Response Messages](/guides/campaigns/opt-in-compliance#keyword-response-messages) section for requirements.
      - `values` string[], required: Keywords that trigger help response.
    - `OPT_IN` DlcWithExtendedBrandAndStatusKeywordsOptIn, required: Opt-in keyword settings.
      - `message` string: Response message for opt-in keywords. See the [Keyword Response Messages](/guides/campaigns/opt-in-compliance#keyword-response-messages) section for requirements.
      - `values` string[], required: Keywords that trigger opt-in.
    - `OPT_OUT` DlcWithExtendedBrandAndStatusKeywordsOptOut, required: Opt-out keyword settings.
      - `message` string: Response message for opt-out keywords. See the [Keyword Response Messages](/guides/campaigns/opt-in-compliance#keyword-response-messages) section for requirements.
      - `values` string[], required: Keywords that trigger opt-out.
  - `links` DlcWithExtendedBrandAndStatusLinks: Legal documentation links.
    - `privacyPolicy` string, url: Privacy policy URL.
    - `termsOfService` string, url: Terms of service URL.
  - `messageFlow` string: Describe the flow of how users will opt in to this campaign. See the [Opt-In Methods and Workflow](/guides/campaigns/opt-in-compliance#opt-in-methods-and-workflow) section for requirements.
  - `name` string: Display name of the campaign.
  - `options` DlcWithExtendedBrandAndStatusOptions, required: Campaign configuration options.
    - `affiliateMarketing` boolean, required: Whether the campaign uses affiliate marketing.
    - `ageGated` boolean, required: Whether the campaign is age-gated.
    - `directLending` boolean, required: Whether the campaign involves direct lending.
    - `embeddedLink` string, url: Link embedded in campaign message.
    - `embeddedPhone` boolean, required: Whether messages include phone numbers.
    - `numberPooling` boolean, required: Whether the campaign uses number pooling.
  - `sampleMessages` string[]: Example messages for the campaign. See the [Sample Messages](/guides/campaigns/opt-in-compliance#sample-messages) section for requirements.
  - `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.
  - `useCase` DlcWithExtendedBrandAndStatusUseCase: Use case for the campaign.
    - `sub` SUBUSECASES[]: Sub-use case categories.
    - `value` 'ACCOUNT_NOTIFICATION' | 'AGENTS_FRANCHISES' | 'CARRIER_EXEMPT' | 'CHARITY' | 'CUSTOMER_CARE' | 'DELIVERY_NOTIFICATION' | 'EMERGENCY' | 'FRAUD_ALERT' | 'HIGHER_EDUCATION' | 'K12_EDUCATION' | 'LOW_VOLUME' | 'M2M' | 'MARKETING' | 'MIXED' | 'POLITICAL' | 'POLLING_VOTING' | 'PROXY' | 'PUBLIC_SERVICE_ANNOUNCEMENT' | 'SECURITY_ALERT' | 'SOCIAL' | 'SOLE_PROPRIETOR' | 'SWEEPSTAKE' | 'TRIAL' | 'TWO_FA' | 'UCAAS_HIGH' | 'UCAAS_LOW': The primary use case classification for this campaign.
  - `mnoBrandTier` 'TOP' | 'HIGH_MID' | 'LOW_MID' | 'LOW': The MNO brand tier for T-Mobile rate limits. Tiers range from `TOP` (highest) to `LOW` (lowest), based on your brand's vetting score. See [SMS Rate Limits](/guides/messages/rate-limits) for details.
  - `mnoTcrTier` 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'N' | 'T' | 'S': The MNO TCR message class for AT&T, Verizon, and other carriers. Classes `A`-`G` are standard (based on vetting score), while `T`, `N`, and `S` are for special use cases. See [SMS Rate Limits](/guides/messages/rate-limits) for details.

## 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)
