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

# List outbound SIP trunks

> Returns the project's outbound SIP trunks, oldest first. An outbound SIP trunk is the SIP endpoint of your carrier or PBX that Clarity dials through when an agent calls from one of your numbers. A trunk with username and password authentication shows `has_secret`; the password itself is never returned.



## OpenAPI

````yaml api-reference/voice-openapi.json GET /v1/projects/{projectId}/telephony/outbound-trunks
openapi: 3.0.3
info:
  title: Clarity Voice API
  version: '1.0'
  description: >-
    Voice agents and their tools, outbound calls, conversations, campaigns,
    telephony, and evals.
servers:
  - url: https://voice-api.onclarity.com
security:
  - organizationApiKey: []
tags:
  - name: Projects
    description: >-
      The projects your organization owns. Every other resource lives in a
      project.
  - name: Agents
    description: Create, configure, version and publish voice agents.
  - name: Outbound calls
    description: Have a published agent phone a number now.
  - name: Conversations
    description: >-
      One record per call session, with its calls, recordings, transcripts and
      artifacts.
  - name: Calls
    description: The calls of a project, with their status, direction, timing and outcome.
  - name: Campaigns
    description: Outbound calling campaigns that phone a list of numbers on a schedule.
  - name: Eval suites
    description: >-
      Reusable sets of eval scenarios and test cases to measure an agent
      against.
  - name: Eval judges
    description: The LLM judges that score eval calls against your test cases.
  - name: Eval scenarios
    description: The simulated-caller scenarios of your eval suites.
  - name: Eval test cases
    description: The checks a judge applies to each eval call.
  - name: Eval submissions
    description: Run an eval suite against an agent and read the verdicts.
  - name: Phone numbers
    description: >-
      The phone numbers of a project, where their calls come from, and how
      agents call out from them.
  - name: Inbound SIP trunks
    description: Bring calls from your own SIP infrastructure to Clarity agents.
  - name: Outbound SIP trunks
    description: >-
      The SIP endpoints Clarity dials through for outbound calls from your
      numbers.
  - name: Tools
    description: The tools agents call during a conversation, and which agents use them.
paths:
  /v1/projects/{projectId}/telephony/outbound-trunks:
    parameters:
      - $ref: '#/components/parameters/ProjectIdPath'
    get:
      tags:
        - Outbound SIP trunks
      summary: List outbound SIP trunks
      description: >-
        Returns the project's outbound SIP trunks, oldest first. An outbound SIP
        trunk is the SIP endpoint of your carrier or PBX that Clarity dials
        through when an agent calls from one of your numbers. A trunk with
        username and password authentication shows `has_secret`; the password
        itself is never returned.
      operationId: listTelephonyOutboundTrunks
      responses:
        '200':
          description: The project's outbound SIP trunks.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OutboundTrunksListResponse'
              example:
                outbound_trunks:
                  - id: 9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d
                    project_id: 3f6c1a52-8d0e-4b8f-9a51-2c7d4e0b9f13
                    name: Carrier primary
                    address: sip.carrier.example.com
                    auth:
                      type: basic
                      username: clarity-outbound
                      has_secret: true
                    status: active
                    transport: tls
                    media_encryption: enabled
                    created_at: >-
                      Mon Nov 09 2026 13:58:20 GMT+0000 (Coordinated Universal
                      Time)
                    updated_at: >-
                      Mon Nov 09 2026 13:58:20 GMT+0000 (Coordinated Universal
                      Time)
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: The project does not exist or your key cannot reach it.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  parameters:
    ProjectIdPath:
      name: projectId
      in: path
      required: true
      schema:
        type: string
      description: Project id
  schemas:
    OutboundTrunksListResponse:
      type: object
      required:
        - outbound_trunks
      properties:
        outbound_trunks:
          type: array
          items:
            $ref: '#/components/schemas/OutboundTrunk'
    Error:
      type: object
      required:
        - error
      additionalProperties: true
      properties:
        error:
          type: string
          description: Error message
        code:
          type: string
          description: >-
            A stable machine-readable reason, present on the refusals a client
            may branch on. Among them: `PUBLISH_CAPABILITY_REQUIRED` (403, the
            credential may not change what is live), `AGENT_NOT_PUBLISHED` (409,
            the agent has no published version yet),
            `AGENT_TYPE_NOT_DISPATCHABLE` (422, a Voice Assist agent named where
            an agent must place a call or answer one itself — a campaign, an
            outbound caller ID, a dispatched call, an eval; a number's inbound
            dispatch rule accepts one; the body carries `agent_type` and
            `agent_id`), `ASSIST_FLEET_NOT_CONFIGURED` (422 on a dispatch rule
            naming a Voice Assist agent in a project whose LiveKit has no Voice
            Assist listener), `NOT_APPLICABLE_TO_AGENT_TYPE` (422, a voice-only
            setting written on a Voice Assist agent), `AGENT_TYPE_BOUNDARY`
            (409), `AGENT_TYPE_NOT_SUPPORTED` (400), `INVALID_CUSTOMER_TIMEZONE`
            (400, `customer_timezone` is not a time zone name; the body carries
            the value), `VOICE_ASSISTANT_REQUIRED` (403, the organization is not
            licensed for Voice Assist), `ORGANIZATION_UNAVAILABLE` (503),
            `REGION_PROFILE_CONFLICT` (503), `LLM_SERVICE_TIER_UNAVAILABLE`
            (422, an agent's processing speed is not offered by its model or not
            enabled for the organization; `reason` says which) and
            `AUTH_UPSTREAM_UNAVAILABLE` (503 on any endpoint, with
            `Retry-After`: the credential could not be checked right now; it was
            not rejected and the request was not carried out).
    OutboundTrunk:
      type: object
      description: >-
        A SIP endpoint Clarity dials through for outbound calls from your
        numbers.
      required:
        - id
        - project_id
        - name
        - address
        - auth
        - status
        - transport
        - media_encryption
        - created_at
        - updated_at
      properties:
        id:
          type: string
          description: Outbound SIP trunk id.
        project_id:
          type: string
        name:
          type: string
          description: Unique within the project.
        address:
          type: string
          description: >-
            The SIP host Clarity sends calls to, such as
            `sip.carrier.example.com`.
        auth:
          $ref: '#/components/schemas/OutboundTrunkAuth'
        status:
          type: string
          enum:
            - active
            - inactive
          description: >-
            An `inactive` trunk is not used for calls and cannot be assigned to
            a number.
        transport:
          type: string
          enum:
            - auto
            - udp
            - tcp
            - tls
          description: SIP transport. `auto` negotiates it.
        media_encryption:
          type: string
          enum:
            - disabled
            - enabled
            - required
          description: >-
            Media encryption (SRTP). `enabled` offers it and falls back to plain
            media; `required` refuses calls without it.
        created_at:
          type: string
          description: >-
            When the trunk was created. A date string such as `Mon Nov 09 2026
            13:58:20 GMT+0000 (Coordinated Universal Time)`, not ISO 8601.
        updated_at:
          type: string
          description: When the trunk was last changed. A date string, as `created_at`.
    OutboundTrunkAuth:
      type: object
      required:
        - type
      description: >-
        How Clarity authenticates to the trunk. The password is write-only:
        responses never contain it and show `has_secret` instead.
      properties:
        type:
          type: string
          enum:
            - none
            - basic
          description: >-
            `none`: no authentication. `basic`: SIP digest authentication with a
            username and password.
        username:
          type: string
          description: The username. Present for `basic`.
        has_secret:
          type: boolean
          description: Present for `basic`. Whether a password is stored.
  responses:
    Unauthorized:
      description: >-
        No credential was sent, or the API key is invalid or revoked. A key that
        could not be checked at all answers 503 `AUTH_UPSTREAM_UNAVAILABLE`
        instead (see Errors).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Invalid or revoked token
  securitySchemes:
    organizationApiKey:
      type: http
      scheme: bearer
      description: >-
        Your organization API key (it starts with `anek_org_`). The same key
        works on the Voice API and the Support API. See
        [Authentication](/authentication).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.