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

# List outreach sources for the organization

> Returns active outreach sources for the org, sorted by name. The protected "Any" source is always returned as the first entry even when it is not persisted in the database.



## OpenAPI

````yaml /api-reference/openapi.yaml get /api/outreach-sources
openapi: 3.0.3
info:
  title: Tether Relay and Tether API
  version: 1.0.0
  description: >-
    Route-derived OpenAPI contract generated from tether-relay backend sources.
    Regenerate with scripts/sync-openapi-from-backend.mjs.
servers:
  - url: https://your-instance.example.com
    description: Production
  - url: http://localhost:2212
    description: Local API service
security: []
tags:
  - name: AI
  - name: Applications
  - name: Approval
  - name: Auth
  - name: Automations
  - name: Calls
  - name: Campaigns
  - name: Contact Analytics
  - name: Contact Metrics
  - name: Contact Notes
  - name: Contacts
  - name: Conversation Monitor
  - name: Conversations
  - name: Departments
  - name: Email
  - name: Escalation Dashboard
  - name: Event Logs
  - name: Google Sheets
  - name: Marketplace
  - name: Messages
  - name: Notification Sounds
  - name: Notifications
  - name: Org Snapshots
  - name: Organizations
  - name: Outreach
  - name: Outreach Metrics
  - name: Outreach Sources
  - name: Pipelines
  - name: Processes
  - name: Prompts
  - name: Reminders
  - name: Sms
  - name: Templates
  - name: Traces
  - name: Training
  - name: Upload
  - name: User Snapshots
  - name: Users
  - name: Vertical
  - name: Webchats
  - name: Webhook
paths:
  /api/outreach-sources:
    get:
      tags:
        - Outreach Sources
      summary: List outreach sources for the organization
      description: >-
        Returns active outreach sources for the org, sorted by name. The
        protected "Any" source is always returned as the first entry even when
        it is not persisted in the database.
      operationId: get_outreach_sources
      responses:
        '200':
          description: Sources returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OutreachSourceListResponse'
        '500':
          description: Error fetching outreach sources
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OutreachErrorResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    OutreachSourceListResponse:
      type: object
      properties:
        success:
          type: boolean
        data:
          type: array
          items:
            $ref: '#/components/schemas/OutreachSourceDto'
      required:
        - success
        - data
      additionalProperties: true
      example:
        success: true
        data:
          - _id: null
            name: Any
            isActive: true
            isProtected: true
          - _id: 665f1a0c0e0a4b001a2c9f30
            name: Facebook Lead Ad
            isActive: true
            isProtected: false
          - _id: 665f1a0c0e0a4b001a2c9f31
            name: Google Ads
            isActive: true
            isProtected: false
    OutreachErrorResponse:
      type: object
      description: Error envelope returned by `/api/outreach`.
      properties:
        success:
          type: boolean
          enum:
            - false
        message:
          type: string
        error:
          type: string
          description: Stack/detail string for 500 paths.
      required:
        - success
        - message
      additionalProperties: true
      example:
        success: false
        message: Configuration is inactive and cannot process outreach requests
    OutreachSourceDto:
      type: object
      properties:
        _id:
          type: string
          nullable: true
          description: Null for the synthetic "Any" entry.
        name:
          type: string
        isActive:
          type: boolean
        isProtected:
          type: boolean
          description: True for the "Any" source.
        createdAt:
          type: string
          format: date-time
      required:
        - name
        - isActive
      additionalProperties: true
      example:
        _id: 665f1a0c0e0a4b001a2c9f30
        name: Facebook Lead Ad
        isActive: true
        isProtected: false
        createdAt: '2026-05-01T09:00:00.000Z'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````