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

# List communication opt-outs

> Returns a paginated list of communication opt-out entries (Do Not Contact list). You can filter by identifier type or search by identifier value.

<Note>
  Returns a [paginated list](/api-reference/objects/paginated-list) of
  [communication opt-out](/api-reference/objects/communication-opt-out) entries from your Do Not Contact list.
</Note>


## OpenAPI

````yaml GET /dnc/communication-opt-outs
openapi: 3.1.0
info:
  title: Alta API
  description: >-
    The Alta public API allows you to programmatically access and manage your
    campaigns, prospects, companies, persons, email messages, LinkedIn messages,
    calls, reps, tags, and trigger assistant calls.
  version: 1.0.0
servers:
  - url: https://api.altahq.com/v1
    description: Production
security:
  - bearerAuth: []
paths:
  /dnc/communication-opt-outs:
    get:
      tags:
        - Do Not Contact
      summary: List communication opt-outs
      description: >-
        Returns a paginated list of communication opt-out entries (Do Not
        Contact list). You can filter by identifier type or search by identifier
        value.
      operationId: listCommunicationOptOuts
      parameters:
        - name: limit
          in: query
          description: Maximum number of results to return (1–100). Defaults to 10.
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 10
        - name: cursor
          in: query
          description: >-
            Cursor for pagination. Use the `next` or `previous` value from a
            prior response.
          schema:
            type: string
        - name: identifierType
          in: query
          description: Filter by identifier type.
          schema:
            type: string
            enum:
              - email
              - linkedin
              - phone
              - sms
              - whatsapp
              - web_chat
        - name: search
          in: query
          description: Search by identifier value.
          schema:
            type: string
      responses:
        '200':
          description: A paginated list of communication opt-out entries
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationOptOutListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  schemas:
    CommunicationOptOutListResponse:
      allOf:
        - type: object
          required:
            - data
            - hasMore
          properties:
            data:
              type: array
              items:
                $ref: '#/components/schemas/CommunicationOptOut'
            hasMore:
              type: boolean
            next:
              type: string
            previous:
              type: string
    CommunicationOptOut:
      allOf:
        - $ref: '#/components/schemas/BaseEntity'
        - type: object
          required:
            - objectType
            - identifier
            - identifierType
            - isManuallyAdded
          properties:
            objectType:
              type: string
              enum:
                - communication-opt-out
            identifier:
              type: string
              description: >-
                The identifier value (e.g. email address, phone number, LinkedIn
                URL).
            identifierType:
              type: string
              enum:
                - email
                - linkedin
                - phone
                - sms
                - whatsapp
                - web_chat
              description: The type of the identifier.
            label:
              type: string
              description: Optional display label for this opt-out entry.
            isManuallyAdded:
              type: boolean
              description: >-
                Whether this entry was manually added (as opposed to
                automatically added, e.g. from an unsubscribe).
    Error:
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: string
          description: Error type.
        message:
          type: string
          description: Human-readable error message.
    BaseEntity:
      type: object
      required:
        - id
        - objectType
        - createdAt
        - updatedAt
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the object.
        objectType:
          type: string
          description: The type of this object.
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the object was created.
        updatedAt:
          type: string
          format: date-time
          description: Timestamp when the object was last updated.
  responses:
    Unauthorized:
      description: Authentication failed - invalid or missing API token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Unauthorized
            message: Invalid API token
    RateLimited:
      description: >-
        Too many requests - you've exceeded the rate limit of 100 requests per
        minute.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: TooManyRequests
            message: Rate limit exceeded. Please retry after 60 seconds.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API token authentication. Generate a token from the Alta dashboard and
        pass it as a Bearer token in the Authorization header.

````