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

# List currently-blocked contacts

> Return the contacts that are currently blocked for the tenant, ordered by when each was blocked (most recent first) and paginated with an opaque keyset cursor. Each row includes the contact's identity fields plus `blocked_at`, `blocked_by_user_id` and `blocked_reason`. Use it to render a block-list management screen; unblock a row with `POST /api/v1/contacts/{id}/unblock`.



## OpenAPI

````yaml /openapi.yaml get /api/v1/contacts/blocked
openapi: 3.1.0
info:
  title: Devotel CPaaS API
  description: Orbit by Devotel — Communications Platform as a Service API
  version: 1.0.0
  contact:
    name: Devotel
    url: https://devotel.io
    email: support@devotel.io
  license:
    name: Proprietary
servers:
  - url: https://api.orbit.devotel.io
    description: Production
security:
  - Bearer: []
  - ApiKey: []
tags:
  - name: Messages
    description: >-
      Send and manage messages across all channels (SMS, WhatsApp, RCS, Email,
      Viber, etc.)
  - name: Fax
    description: >-
      List and track fax (MMS/T.38) transmissions on Telnyx-backed fax numbers
      (sending flows through the Messaging API)
  - name: Agents
    description: AI agent creation, configuration, and execution
  - name: Voice
    description: Voice calls, IVR, conferencing, and SIP trunking
  - name: OnCall
    description: On-call rotations and escalation policy planning for incident alerting
  - name: Webhooks
    description: Webhook endpoint management and delivery logs
  - name: Numbers
    description: Phone number search, provisioning, and configuration
  - name: Brand Identity
    description: >-
      Unified cross-channel brand trust posture (10DLC, toll-free, WhatsApp,
      RCS, branded calling, number KYC)
  - name: Contacts
    description: Contact management, segmentation, and lifecycle tracking
  - name: Campaigns
    description: Marketing campaign orchestration and analytics
  - name: Flows
    description: Automation flow builder and execution engine
  - name: Templates
    description: Message template management and approval workflows
  - name: Settings
    description: Organization, channel, and user preference settings
  - name: Verify
    description: OTP generation and verification across channels
  - name: Push
    description: Push notification delivery via FCM and APNs
  - name: Integrations
    description: Third-party service connections and OAuth management
  - name: CDP
    description: >-
      Customer Data Platform — activation surface (CRM object sync, streaming
      destinations, ad-audience activation)
  - name: Files
    description: >-
      Server-to-server media upload, listing, retrieval, and deletion
      (signed-URL backed)
  - name: Commerce
    description: >-
      Omnichannel conversational-commerce — persistent cart + checkout state
      machine, channel-agnostic hosted pay-by-link, native WhatsApp checkout,
      and AP2-style agent payment mandates.
  - name: Sync
    description: >-
      Real-time shared-state primitive (Twilio Sync parity) — Documents, Maps,
      Lists, and ephemeral Streams, with change events relayed over the
      /api/v1/ws/sync WebSocket gateway
  - name: Risk
    description: >-
      Unified cross-channel Trust & Fraud risk scoring — fuses SMS-pumping,
      URL-reputation, Verify Fraud Guard, and Voice Biometrics signals into one
      composite verdict queryable before a send or a call.
  - name: Orby
    description: >-
      In-dashboard Orby operator assistant: streamed assistant turns,
      conversation threads, product knowledge-base search, and the tool-action
      approval gate. Available to signed-in operators only (dashboard session
      auth — API-key requests are rejected).
paths:
  /api/v1/contacts/blocked:
    get:
      tags:
        - Contacts
      summary: List currently-blocked contacts
      description: >-
        Return the contacts that are currently blocked for the tenant, ordered
        by when each was blocked (most recent first) and paginated with an
        opaque keyset cursor. Each row includes the contact's identity fields
        plus `blocked_at`, `blocked_by_user_id` and `blocked_reason`. Use it to
        render a block-list management screen; unblock a row with `POST
        /api/v1/contacts/{id}/unblock`.
      parameters:
        - schema:
            type: integer
            minimum: 1
            maximum: 100
          in: query
          name: limit
          required: false
          description: Page size (default 20, max 100).
        - schema:
            type: string
          in: query
          name: cursor
          required: false
          description: >-
            Opaque cursor returned as `meta.pagination.cursor` by the previous
            page.
      responses:
        '200':
          description: >-
            One page of currently-blocked contacts, wrapped in the standard
            paginated `{ data, meta }` envelope.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        phone:
                          type:
                            - 'null'
                            - string
                        email:
                          type:
                            - 'null'
                            - string
                        display_name:
                          type:
                            - 'null'
                            - string
                        first_name:
                          type:
                            - 'null'
                            - string
                        last_name:
                          type:
                            - 'null'
                            - string
                        blocked_at:
                          type: string
                          format: date-time
                        blocked_by_user_id:
                          type:
                            - 'null'
                            - string
                        blocked_reason:
                          type:
                            - 'null'
                            - string
                  meta:
                    $ref: '#/components/schemas/PaginationResponseMeta'
              example:
                data:
                  - id: contact_3b8e0d5a12
                    phone: '+14155552671'
                    email: ada@example.com
                    display_name: Ada Lovelace
                    first_name: Ada
                    last_name: Lovelace
                    blocked_at: '2026-08-09T18:30:00.000Z'
                    blocked_by_user_id: user_9f2a7c1e4b
                    blocked_reason: Spam complaints
                meta:
                  request_id: req_9f2c1a7b8e0d4a12
                  timestamp: '2026-08-10T12:00:00.000Z'
                  pagination:
                    cursor: null
                    has_more: false
components:
  schemas:
    PaginationResponseMeta:
      type: object
      additionalProperties: false
      properties:
        request_id:
          type: string
          description: Unique request identifier (also returned as X-Request-Id header)
        timestamp:
          type: string
          format: date-time
        pagination:
          type: object
          required:
            - has_more
          additionalProperties: false
          properties:
            cursor:
              type: string
              nullable: true
            has_more:
              type: boolean
            total:
              type: integer
              nullable: true
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Dashboard JWT token from Clerk
    ApiKey:
      type: apiKey
      name: X-API-Key
      in: header
      description: Server-to-server API key (dv_live_sk_*)

````