> ## Documentation Index
> Fetch the complete documentation index at: https://developers.telnyx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Shared Campaigns

> Retrieve all partner campaigns you have shared to Telnyx in a paginated fashion.

This endpoint is currently limited to only returning shared campaigns that Telnyx has accepted. In other words, shared but pending campaigns are currently omitted from the response from this endpoint.



## OpenAPI

````yaml https://telnyx-openapi-ng.s3.us-east-1.amazonaws.com/messaging-10dlc/partner-campaigns.yml get /10dlc/partner_campaigns
openapi: 3.1.0
info:
  title: Telnyx 10DLC Partner Campaigns API
  version: 2.0.0
  description: API for 10DLC partner campaign management and sharing.
  contact:
    email: support@telnyx.com
servers:
  - url: https://api.telnyx.com/v2
security:
  - bearerAuth: []
paths:
  /10dlc/partner_campaigns:
    get:
      tags:
        - Shared Campaigns
      summary: List Shared Campaigns
      description: >-
        Retrieve all partner campaigns you have shared to Telnyx in a paginated
        fashion.


        This endpoint is currently limited to only returning shared campaigns
        that Telnyx has accepted. In other words, shared but pending campaigns
        are currently omitted from the response from this endpoint.
      operationId: GetSharedCampaigns
      parameters:
        - description: The 1-indexed page number to get. The default value is `1`.
          required: false
          schema:
            title: Page
            type: integer
            description: The 1-indexed page number to get. The default value is `1`.
            default: 1
          name: page
          in: query
        - description: >-
            The amount of records per page, limited to between 1 and 500
            inclusive. The default value is `10`.
          required: false
          schema:
            title: Recordsperpage
            type: integer
            description: >-
              The amount of records per page, limited to between 1 and 500
              inclusive. The default value is `10`.
            default: 10
          name: recordsPerPage
          in: query
        - name: sort
          required: false
          schema:
            title: Sort
            description: >-
              Specifies the sort order for results. If not given, results are
              sorted by created_at in descending order.
            type: string
            enum:
              - assignedPhoneNumbersCount
              - '-assignedPhoneNumbersCount'
              - brandDisplayName
              - '-brandDisplayName'
              - tcrBrandId
              - '-tcrBrandId'
              - tcrCampaignId
              - '-tcrCampaignId'
              - createdAt
              - '-createdAt'
              - campaignStatus
              - '-campaignStatus'
            default: '-createdAt'
          in: query
          description: >-
            Specifies the sort order for results. If not given, results are
            sorted by createdAt in descending order.
          example: '-assignedPhoneNumbersCount'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelnyxDownstreamCampaignRecordSet'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        4XX:
          $ref: '#/components/responses/10dlc_GenericErrorResponse'
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import Telnyx from 'telnyx';


            const client = new Telnyx({
              apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
            });


            // Automatically fetches more pages as needed.

            for await (const telnyxDownstreamCampaign of
            client.messaging10dlc.partnerCampaigns.list()) {
              console.log(telnyxDownstreamCampaign.tcrBrandId);
            }
        - lang: Python
          source: |-
            import os
            from telnyx import Telnyx

            client = Telnyx(
                api_key=os.environ.get("TELNYX_API_KEY"),  # This is the default and can be omitted
            )
            page = client.messaging_10dlc.partner_campaigns.list()
            page = page.records[0]
            print(page.tcr_brand_id)
        - lang: Go
          source: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/team-telnyx/telnyx-go\"\n\t\"github.com/team-telnyx/telnyx-go/option\"\n)\n\nfunc main() {\n\tclient := telnyx.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\tpage, err := client.Messaging10dlc.PartnerCampaigns.List(context.TODO(), telnyx.Messaging10dlcPartnerCampaignListParams{})\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", page)\n}\n"
        - lang: Java
          source: >-
            package com.telnyx.sdk.example;


            import com.telnyx.sdk.client.TelnyxClient;

            import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;

            import
            com.telnyx.sdk.models.messaging10dlc.partnercampaigns.PartnerCampaignListPage;

            import
            com.telnyx.sdk.models.messaging10dlc.partnercampaigns.PartnerCampaignListParams;


            public final class Main {
                private Main() {}

                public static void main(String[] args) {
                    TelnyxClient client = TelnyxOkHttpClient.fromEnv();

                    PartnerCampaignListPage page = client.messaging10dlc().partnerCampaigns().list();
                }
            }
        - lang: Ruby
          source: |-
            require "telnyx"

            telnyx = Telnyx::Client.new(api_key: "My API Key")

            page = telnyx.messaging_10dlc.partner_campaigns.list

            puts(page)
        - lang: PHP
          source: >-
            <?php


            require_once dirname(__DIR__) . '/vendor/autoload.php';


            use Telnyx\Client;

            use Telnyx\Core\Exceptions\APIException;


            $client = new Client(apiKey: getenv('TELNYX_API_KEY') ?: 'My API
            Key');


            try {
              $page = $client->messaging10dlc->partnerCampaigns->list(
                page: 0, recordsPerPage: 0, sort: 'assignedPhoneNumbersCount'
              );

              var_dump($page);
            } catch (APIException $e) {
              echo $e->getMessage();
            }
        - lang: CLI
          source: |-
            telnyx messaging-10dlc:partner-campaigns list \
              --api-key 'My API Key'
components:
  schemas:
    TelnyxDownstreamCampaignRecordSet:
      title: TelnyxDownstreamCampaignRecordSet
      type: object
      properties:
        records:
          title: Records
          type: array
          items:
            $ref: '#/components/schemas/TelnyxDownstreamCampaign'
        page:
          title: Page
          type: integer
        totalRecords:
          title: Totalrecords
          type: integer
    HTTPValidationError:
      title: HTTPValidationError
      type: object
      properties:
        detail:
          title: Detail
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
    TelnyxDownstreamCampaign:
      title: TelnyxDownstreamCampaign
      required:
        - tcrBrandId
        - tcrCampaignId
      type: object
      properties:
        ageGated:
          title: AgeGated
          type: boolean
          description: Age gated content in campaign.
        assignedPhoneNumbersCount:
          title: AssignedPhoneNumbersCount
          description: Number of phone numbers associated with the campaign
          type: number
          example: 3
        brandDisplayName:
          title: Branddisplayname
          description: Display or marketing name of the brand.
          example: ABC Mobile
          type: string
        campaignStatus:
          title: campaignStatus
          description: Campaign status
          example: TCR_ACCEPTED
          enum:
            - TCR_PENDING
            - TCR_SUSPENDED
            - TCR_EXPIRED
            - TCR_ACCEPTED
            - TCR_FAILED
            - TELNYX_ACCEPTED
            - TELNYX_FAILED
            - MNO_PENDING
            - MNO_ACCEPTED
            - MNO_REJECTED
            - MNO_PROVISIONED
            - MNO_PROVISIONING_FAILED
          type: string
        description:
          title: Description
          type: string
          description: Summary description of this campaign.
        directLending:
          title: Directlending
          type: boolean
          description: Direct lending or loan arrangement.
        embeddedLink:
          title: Embeddedlink
          type: boolean
          description: Does message generated by the campaign include URL link in SMS?
        embeddedLinkSample:
          title: EmbeddedLinkSample
          type: string
          description: Sample of an embedded link that will be sent to subscribers.
        embeddedPhone:
          title: Embeddedphone
          type: boolean
          description: Does message generated by the campaign include phone number in SMS?
        failureReasons:
          title: failureReasons
          description: Failure reasons if campaign submission failed
          type: string
        helpKeywords:
          title: Helpkeywords
          type: string
          description: >-
            Subscriber help keywords. Multiple keywords are comma separated
            without space.
        helpMessage:
          title: Helpmessage
          type: string
          description: Help message of the campaign.
        isNumberPoolingEnabled:
          title: isNumberPoolingEnabled
          type: boolean
          description: >-
            Indicates whether the campaign has a T-Mobile number pool ID
            associated with it.
        messageFlow:
          title: Messageflow
          type: string
          description: Message flow description.
        numberPool:
          title: Numberpool
          type: boolean
          description: Does campaign utilize pool of phone numbers?
        optinKeywords:
          title: Optinkeywords
          type: string
          description: >-
            Subscriber opt-in keywords. Multiple keywords are comma separated
            without space.
        optinMessage:
          title: Optinmessage
          type: string
          description: Subscriber opt-in message.
        optoutKeywords:
          title: Optoutkeywords
          type: string
          description: >-
            Subscriber opt-out keywords. Multiple keywords are comma separated
            without space.
        optoutMessage:
          title: Optoutmessage
          type: string
          description: Subscriber opt-out message.
        privacyPolicyLink:
          title: PrivacyPolicyLink
          type: string
          description: Link to the campaign's privacy policy.
        usecase:
          title: Usecase
          type: string
          description: >-
            Campaign usecase. Must be of defined valid types. Use
            `/10dlc/enum/usecase` operation to retrieve usecases available for
            given brand.
        sample1:
          title: Sample1
          type: string
          description: >-
            Message sample. Some campaign tiers require 1 or more message
            samples.
        sample2:
          title: Sample2
          type: string
          description: >-
            Message sample. Some campaign tiers require 2 or more message
            samples.
        sample3:
          title: Sample3
          type: string
          description: >-
            Message sample. Some campaign tiers require 3 or more message
            samples.
        sample4:
          title: Sample4
          type: string
          description: >-
            Message sample. Some campaign tiers require 4 or more message
            samples.
        sample5:
          title: Sample5
          type: string
          description: >-
            Message sample. Some campaign tiers require 5 or more message
            samples.
        subUsecases:
          title: Subusecases
          uniqueItems: true
          type: array
          items:
            type: string
          description: >-
            Campaign sub-usecases. Must be of defined valid sub-usecase types.
            Use `/10dlc/enum/usecase` operation to retrieve list of valid
            sub-usecases
        subscriberOptin:
          title: Subscriberoptin
          type: boolean
          description: >-
            Does campaign require subscriber to opt-in before SMS is sent to
            subscriber?
        subscriberOptout:
          title: Subscriberoptout
          type: boolean
          description: Does campaign support subscriber opt-out keyword(s)?
        tcrBrandId:
          title: TcrBrandid
          type: string
          description: Unique identifier assigned to the brand by the registry.
          example: BBRAND1
        tcrCampaignId:
          title: TcrCampaignid
          type: string
          description: Unique identifier assigned to the campaign by the registry.
          example: CCAMP1
        termsAndConditions:
          title: Termsandconditions
          type: boolean
          description: Is terms & conditions accepted?
        termsAndConditionsLink:
          title: TermsAndConditionsLink
          type: string
          description: Link to the campaign's terms and conditions.
        webhookURL:
          title: WebhookURL
          type: string
          description: Webhook to which campaign status updates are sent.
          example: https://example.com/webhook
        webhookFailoverURL:
          title: WebhookFailoverURL
          type: string
          description: Failover webhook to which campaign status updates are sent.
          example: https://example.com/failover-webhook
        createdAt:
          type: string
          description: Date and time that the brand was created at.
          example: '2021-03-08T17:57:48.801186'
        updatedAt:
          type: string
          description: Date and time that the brand was last updated at.
          example: '2021-03-08T17:57:48.801186'
      description: >-
        Campaign is generated by the 10DLC registry once the corresponding
        campaign request is approved. Each campaign is assigned a unique
        identifier - **campaignId**. Once a campaign is activated, limited
        information is published to the NetNumber OSR service for consumption by
        members of the ecosystem. When a campaign is suspended(reversible) or
        expired(non-reversible), campaign data is deleted from the OSR service.
    ValidationError:
      title: ValidationError
      required:
        - loc
        - msg
        - type
      type: object
      properties:
        loc:
          title: Location
          type: array
          items:
            anyOf:
              - type: string
              - type: integer
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
    10dlc_Errors:
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/10dlc_Error'
      type: object
    10dlc_Error:
      required:
        - code
        - title
      type: object
      properties:
        code:
          type: string
        title:
          type: string
        detail:
          type: string
        source:
          type: object
          properties:
            pointer:
              description: JSON pointer (RFC6901) to the offending entity.
              type: string
            parameter:
              description: Indicates which query parameter caused the error.
              type: string
  responses:
    10dlc_GenericErrorResponse:
      description: Generic response error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/10dlc_Errors'
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````