Telnyx Number Reputation Settings API

Manage Number Reputation enrollment and check frequency settings for an enterprise

OpenAPI Specification

telnyx-number-reputation-settings-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    email: support@telnyx.com
  description: Telnyx provides global communications and connectivity APIs for developers — including SIP trunking, programmable voice, SMS, MMS, WhatsApp Business Messaging, Call Control, Fax, Wireless (IoT & eSIM), Phone Numbers (DID provisioning & porting), Emergency Services, and Network APIs for private interconnects and edge connectivity. Build, scale, and manage voice, messaging, and data networks with Telnyx's carrier-grade global infrastructure and API-first platform.
  title: Telnyx Access Tokens Number Reputation Settings API
  version: 2.0.0
  x-endpoint-cost: light
servers:
- description: Version 2.0.0 of the Telnyx API
  url: https://api.telnyx.com/v2
security:
- bearerAuth: []
tags:
- description: Manage Number Reputation enrollment and check frequency settings for an enterprise
  name: Number Reputation Settings
paths:
  /enterprises/{enterprise_id}/reputation:
    delete:
      description: 'Disable Number Reputation for an enterprise.


        This will:

        - Delete the reputation settings record

        - Log the deletion for audit purposes

        - Stop all future automated reputation checks


        **Note:** Can only be performed on `approved` reputation settings.'
      operationId: DisableReputationSettings
      parameters:
      - $ref: '#/components/parameters/EnterpriseId'
      responses:
        '204':
          description: Reputation settings disabled successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: Disable Number Reputation
      tags:
      - Number Reputation Settings
      x-latency-category: responsive
    get:
      description: 'Retrieve the current Number Reputation settings for an enterprise.


        Returns the enrollment status (`pending`, `approved`, `rejected`, `deleted`), check frequency, and any rejection reasons.


        Returns `404` if reputation has not been enabled for this enterprise.'
      operationId: GetReputationSettings
      parameters:
      - $ref: '#/components/parameters/EnterpriseId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnterpriseReputationPublicWrapped'
          description: Reputation settings
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/branded-calling_ErrorResponse'
          description: Reputation settings not found for this enterprise
      summary: Get reputation settings
      tags:
      - Number Reputation Settings
      x-latency-category: responsive
    post:
      description: 'Enable Number Reputation service for an enterprise.


        **Requirements:**

        - Signed LOA (Letter of Authorization) document ID

        - Reputation check frequency (defaults to `business_daily`)

        - Number Reputation Terms of Service must be accepted


        **Flow:**

        1. Registers the enterprise for reputation monitoring

        2. Creates reputation settings with `pending` status

        3. Awaits admin approval before monitoring begins


        **Resubmission After Rejection:**

        If a previously rejected record exists, this endpoint will delete it and create a new `pending` record.


        **Available Frequencies:**

        - `business_daily` — Monday–Friday

        - `daily` — Every day

        - `weekly` — Once per week

        - `biweekly` — Once every two weeks

        - `monthly` — Once per month

        - `never` — Manual refresh only'
      operationId: EnableReputationSettings
      parameters:
      - $ref: '#/components/parameters/EnterpriseId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnterpriseReputationCreate'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnterpriseReputationPublicWrapped'
          description: Reputation settings created (pending admin approval)
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/branded-calling_ErrorResponse'
          description: Reputation settings already exist for this enterprise
      summary: Enable Number Reputation
      tags:
      - Number Reputation Settings
      x-latency-category: responsive
  /enterprises/{enterprise_id}/reputation/frequency:
    patch:
      description: 'Update how often reputation data is automatically refreshed.


        **Note:** The enterprise must have `approved` reputation settings. Updating frequency on `pending` or `rejected` settings will return an error.


        **Available Frequencies:**

        - `business_daily` — Monday–Friday

        - `daily` — Every day including weekends

        - `weekly` — Once per week

        - `biweekly` — Once every two weeks

        - `monthly` — Once per month

        - `never` — Manual refresh only (no automatic checks)'
      operationId: UpdateReputationFrequency
      parameters:
      - $ref: '#/components/parameters/EnterpriseId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnterpriseReputationUpdateFrequency'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnterpriseReputationPublicWrapped'
          description: Reputation frequency updated
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      summary: Update reputation check frequency
      tags:
      - Number Reputation Settings
      x-latency-category: responsive
components:
  schemas:
    EnterpriseReputationCreate:
      properties:
        check_frequency:
          default: business_daily
          description: Frequency for automatically refreshing reputation data
          enum:
          - business_daily
          - daily
          - weekly
          - biweekly
          - monthly
          - never
          type: string
        loa_document_id:
          description: ID of the signed Letter of Authorization (LOA) document uploaded to the document service
          example: doc_01HXYZ1234ABCDEF
          maxLength: 255
          minLength: 1
          type: string
      required:
      - loa_document_id
      type: object
    EnterpriseReputationPublicWrapped:
      properties:
        data:
          $ref: '#/components/schemas/EnterpriseReputationPublic'
      type: object
    EnterpriseReputationUpdateFrequency:
      properties:
        check_frequency:
          description: New frequency for refreshing reputation data
          enum:
          - business_daily
          - daily
          - weekly
          - biweekly
          - monthly
          - never
          type: string
      required:
      - check_frequency
      type: object
    branded-calling_ErrorResponse:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/TelnyxError'
          type: array
      type: object
    EnterpriseReputationPublic:
      properties:
        check_frequency:
          description: Frequency for refreshing reputation data
          enum:
          - business_daily
          - daily
          - weekly
          - biweekly
          - monthly
          - never
          type: string
        created_at:
          description: When the reputation settings were created
          format: date-time
          type: string
        enterprise_id:
          description: ID of the associated enterprise
          example: 6a09cdc3-8948-47f0-aa62-74ac943d6c58
          format: uuid
          type: string
        loa_document_id:
          description: ID of the signed LOA document
          nullable: true
          type: string
        rejection_reasons:
          description: Reasons for rejection (present when status is rejected)
          items:
            type: string
          nullable: true
          type: array
        status:
          description: Current enrollment status
          enum:
          - pending
          - approved
          - rejected
          - deleted
          type: string
        updated_at:
          description: When the reputation settings were last updated
          format: date-time
          type: string
      type: object
    TelnyxError:
      properties:
        code:
          description: Telnyx error code
          example: '10015'
          type: string
        detail:
          description: Human-readable error detail
          example: User has already agreed to Terms of Service version v1.0.0
          type: string
        meta:
          properties:
            url:
              description: Link to error documentation
              format: uri
              type: string
          type: object
        source:
          description: Reference to the field that caused the error
          properties:
            pointer:
              description: JSON pointer (RFC6901) to the field that caused the error
              example: /body/organization_type
              type: string
          type: object
        title:
          description: Short error title
          example: Bad Request
          type: string
      required:
      - code
      - title
      type: object
  responses:
    Unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/branded-calling_ErrorResponse'
      description: Unauthorized — missing or invalid API key
    BadRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/branded-calling_ErrorResponse'
      description: Bad request — invalid input or validation error
    NotFound:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/branded-calling_ErrorResponse'
      description: Resource not found
  parameters:
    EnterpriseId:
      description: Unique identifier of the enterprise (UUID)
      in: path
      name: enterprise_id
      required: true
      schema:
        example: 6a09cdc3-8948-47f0-aa62-74ac943d6c58
        format: uuid
        type: string
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http
    branded-calling_bearerAuth:
      description: API key passed as a Bearer token in the Authorization header
      scheme: bearer
      type: http
    oauthClientAuth:
      description: OAuth 2.0 authentication for Telnyx API and MCP integrations
      flows:
        authorizationCode:
          authorizationUrl: https://api.telnyx.com/v2/oauth/authorize
          refreshUrl: https://api.telnyx.com/v2/oauth/token
          scopes:
            admin: Administrative access to Telnyx resources
          tokenUrl: https://api.telnyx.com/v2/oauth/token
        clientCredentials:
          scopes:
            admin: Administrative access to Telnyx resources
          tokenUrl: https://api.telnyx.com/v2/oauth/token
      type: oauth2
    outbound-voice-profiles_bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http
    pronunciation-dicts_bearerAuth:
      description: Telnyx API v2 key. Obtain from https://portal.telnyx.com
      scheme: bearer
      type: http
    stored-payment-transactions_bearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http