List Supported Providers

Discover available telephony providers and the credential fields each one requires

Discover available telephony providers and the credential fields each one requires

Use this endpoint to discover which telephony providers Paladin supports and the exact credential fields each one expects. The response drives the configuration form in the dashboard, and is the recommended way to build a provider-agnostic integration.

Quick reference#

Discover available telephony providers and the credential fields each one requires. Send the request to GET /api/v1/organizations/telephony-providers/metadata on the Paladin API base URL.

MethodGET
Path/api/v1/organizations/telephony-providers/metadata
Path parametersNone in the path.
AuthenticationUse the authentication method shown in the OpenAPI block and the Authentication docs. Keep API keys server-side.

Before you call#

  • Confirm you are using the production base URL shown in the API reference.
  • Make sure any path IDs belong to the same Paladin organization as the credential you are using.
  • Validate request bodies and required fields before sending production traffic.

Common error checks#

  • Use 401 or 403 responses to check credentials, organization scope, and permissions.
  • Use 404 responses to check whether the referenced resource exists in the current organization.
  • Use 422 responses to inspect missing or invalid request fields.

OpenAPI#

GET /api/v1/organizations/telephony-providers/metadata
openapi: 3.1.0
info:
  title: Paladin API
  description: API for the Paladin app
  version: 1.0.0
servers:
  - url: https://app.paladin.northmanngrp.com
    description: Production

security: []
paths:
  /api/v1/organizations/telephony-providers/metadata:
    get:
      tags:
        - main
        - organizations
      summary: Get Telephony Providers Metadata
      description: |-
        Return the list of available telephony providers and their form schemas.

        The UI uses this to render the configuration form generically instead of
        hard-coding fields per provider. Adding a new provider only requires
        declaring its ui_metadata in providers/<name>/__init__.py.
      operationId: >-
        get_telephony_providers_metadata_api_v1_organizations_telephony_providers_metadata_get
      parameters:
        - name: authorization
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Authorization
        - name: X-API-Key
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TelephonyProvidersMetadataResponse'
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    TelephonyProvidersMetadataResponse:
      properties:
        providers:
          items:
            $ref: '#/components/schemas/TelephonyProviderMetadata'
          type: array
          title: Providers
      type: object
      required:
        - providers
      title: TelephonyProvidersMetadataResponse
      description: List of UI form definitions used by the telephony-config screen.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    TelephonyProviderMetadata:
      properties:
        provider:
          type: string
          title: Provider
        display_name:
          type: string
          title: Display Name
        fields:
          items:
            $ref: '#/components/schemas/TelephonyProviderUIField'
          type: array
          title: Fields
        docs_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Docs Url
      type: object
      required:
        - provider
        - display_name
        - fields
      title: TelephonyProviderMetadata
      description: UI form metadata for a single telephony provider.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    TelephonyProviderUIField:
      properties:
        name:
          type: string
          title: Name
        label:
          type: string
          title: Label
        type:
          type: string
          title: Type
        required:
          type: boolean
          title: Required
        sensitive:
          type: boolean
          title: Sensitive
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        placeholder:
          anyOf:
            - type: string
            - type: 'null'
          title: Placeholder
      type: object
      required:
        - name
        - label
        - type
        - required
        - sensitive
      title: TelephonyProviderUIField
      description: One form field on a telephony provider's configuration UI.