Syllable Organizations.sip Ip Ranges API

The organizations.sip_ip_ranges API from Syllable — 2 operation(s) for organizations.sip_ip_ranges.

OpenAPI Specification

syllable-organizations-sip-ip-ranges-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SyllableSDK Organizations.sip Ip Ranges API
  description: "\n# Syllable Platform SDK\n\nSyllable SDK gives you the power of awesome AI agentry. \U0001F680\n\n## Overview\n\nThe Syllable SDK provides a comprehensive set of tools and APIs to integrate powerful AI\ncapabilities into your communication applications. Whether you're building phone agents, chatbots,\nvirtual assistants, or any other AI-driven solutions, Syllable SDK has got you covered.\n\n## Features\n\n- **Agent Configuration**: Create and manage agents that can interact with users across various \nchannels.\n- **Channel Management**: Configure channels like SMS, web chat, and more to connect agents with \nusers.\n- **Custom Messages**: Set up custom messages that agents can deliver as greetings or responses.\n- **Conversations**: Track and manage conversations between users and agents, including session \nmanagement.\n- **Tools and Workflows**: Leverage tools and workflows to enhance agent capabilities, such as data \nprocessing and API calls.\n- **Data Sources**: Integrate data sources to provide agents with additional context and \ninformation.\n- **Insights and Analytics**: Analyze conversations and sessions to gain insights into user \ninteractions.\n- **Permissions and Security**: Manage permissions to control access to various features and \nfunctionalities.\n- **Language Support**: Define language groups to enable multilingual support for agents.\n- **Outbound Campaigns**: Create and manage outbound communication campaigns to reach users \neffectively.\n- **Session Labels**: Label sessions with evaluations of quality and descriptions of issues \nencountered.\n- **Incident Management**: Track and manage incidents related to agent interactions.\n"
  version: 0.0.3
servers:
- url: https://api.syllable.cloud
  description: API server
tags:
- name: organizations.sip_ip_ranges
paths:
  /api/v1/organizations/sip_ip_ranges/:
    get:
      tags:
      - organizations.sip_ip_ranges
      summary: List Organization Sip Ip Ranges
      description: List SIP signaling/media IP ranges for the current organization.
      operationId: organization_sip_ip_ranges_list
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/OrganizationSipIpRange'
                type: array
                title: Response Organization Sip Ip Ranges List
      security:
      - APIKeyHeader: []
      x-codeSamples:
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n    api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n    res = ss_client.organizations.sip_ip_ranges.list()\n\n    # Handle response\n    print(res)"
      - lang: typescript
        label: Typescript (SDK)
        source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n  apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await syllableSDK.organizations.sipIpRanges.list();\n\n  console.log(result);\n}\n\nrun();"
    post:
      tags:
      - organizations.sip_ip_ranges
      summary: Create Organization Sip Ip Range
      description: Create an unverified SIP signaling/media IP range for the current organization.
      operationId: organization_sip_ip_ranges_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationSipIpRangeCreate'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationSipIpRange'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - APIKeyHeader: []
      x-codeSamples:
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom syllable_sdk import SyllableSDK, models\n\n\nwith SyllableSDK(\n    api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n    res = ss_client.organizations.sip_ip_ranges.create(request={\n        \"type\": models.OrganizationSipIPRangeType.MEDIA,\n        \"ip_range\": \"192.168.1.0/24\",\n    })\n\n    # Handle response\n    print(res)"
      - lang: typescript
        label: Typescript (SDK)
        source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n  apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await syllableSDK.organizations.sipIpRanges.create({\n    type: \"media\",\n    ipRange: \"192.168.1.0/24\",\n  });\n\n  console.log(result);\n}\n\nrun();"
  /api/v1/organizations/sip_ip_ranges/{sip_ip_range_id}:
    put:
      tags:
      - organizations.sip_ip_ranges
      summary: Update Organization Sip Ip Range
      description: Update a SIP IP range. The verified status is managed by Syllable only.
      operationId: organization_sip_ip_ranges_update
      security:
      - APIKeyHeader: []
      parameters:
      - name: sip_ip_range_id
        in: path
        required: true
        schema:
          type: integer
          title: Sip Ip Range Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationSipIpRangeUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationSipIpRange'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-codeSamples:
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n    api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n    res = ss_client.organizations.sip_ip_ranges.update(sip_ip_range_id=165372, organization_sip_ip_range_update={\n        \"ip_range\": \"192.168.1.0/24\",\n    })\n\n    # Handle response\n    print(res)"
      - lang: typescript
        label: Typescript (SDK)
        source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n  apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n  const result = await syllableSDK.organizations.sipIpRanges.update({\n    sipIpRangeId: 165372,\n    organizationSipIpRangeUpdate: {\n      ipRange: \"192.168.1.0/24\",\n    },\n  });\n\n  console.log(result);\n}\n\nrun();"
    delete:
      tags:
      - organizations.sip_ip_ranges
      summary: Delete Organization Sip Ip Range
      description: Delete a SIP signaling/media IP range for the current organization.
      operationId: organization_sip_ip_ranges_delete
      security:
      - APIKeyHeader: []
      parameters:
      - name: sip_ip_range_id
        in: path
        required: true
        schema:
          type: integer
          title: Sip Ip Range Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-codeSamples:
      - lang: python
        label: Python (SDK)
        source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n    api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n    ss_client.organizations.sip_ip_ranges.delete(sip_ip_range_id=394521)\n\n    # Use the SDK ..."
      - lang: typescript
        label: Typescript (SDK)
        source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n  apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n  await syllableSDK.organizations.sipIpRanges.delete({\n    sipIpRangeId: 394521,\n  });\n\n\n}\n\nrun();"
components:
  schemas:
    OrganizationSipIpRangeType:
      type: string
      enum:
      - signaling
      - media
      title: OrganizationSipIpRangeType
      description: 'The type of SIP IP range. Signaling IP ranges are used for SIP signaling traffic (e.g. SIP INVITE,

        SIP REFER, SIP OPTIONS, etc.), while media IP ranges are used for SIP media traffic

        (audio and video).'
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    OrganizationSipIpRangeCreate:
      properties:
        type:
          $ref: '#/components/schemas/OrganizationSipIpRangeType'
          description: The SIP IP range type
          examples:
          - signaling
          - media
        ip_range:
          anyOf:
          - type: string
            format: ipv4network
          - type: string
            format: ipv6network
          title: Ip Range
          description: The SIP IP range in CIDR notation
          examples:
          - 192.168.1.0/24
      type: object
      required:
      - type
      - ip_range
      title: OrganizationSipIpRangeCreate
      description: The request body for creating a new SIP IP range.
    OrganizationSipIpRangeUpdate:
      properties:
        type:
          anyOf:
          - $ref: '#/components/schemas/OrganizationSipIpRangeType'
          - type: 'null'
          description: The SIP IP range type
          examples:
          - signaling
          - media
        ip_range:
          anyOf:
          - type: string
            format: ipv4network
          - type: string
            format: ipv6network
          - type: 'null'
          title: Ip Range
          description: The SIP IP range in CIDR notation
          examples:
          - 192.168.1.0/24
      type: object
      title: OrganizationSipIpRangeUpdate
      description: The request body for updating a SIP IP range.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    OrganizationSipIpRange:
      properties:
        type:
          $ref: '#/components/schemas/OrganizationSipIpRangeType'
          description: The SIP IP range type
          examples:
          - signaling
          - media
        ip_range:
          anyOf:
          - type: string
            format: ipv4network
          - type: string
            format: ipv6network
          title: Ip Range
          description: The SIP IP range in CIDR notation
          examples:
          - 192.168.1.0/24
        id:
          type: integer
          title: Id
          description: The organization SIP IP range ID
        organization_id:
          type: integer
          title: Organization Id
          description: The Organization ID
        verified:
          type: boolean
          title: Verified
          description: Whether Syllable has verified this SIP IP range.Verification implies that the Syllable team has updated the firewall rules on the SBCs, confirmed traffic is correctly established from/to the customer network and calls to Syllable agents are working.
        created_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Created At
          description: The timestamp when the range was created
        updated_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updated At
          description: The timestamp when the range was last updated
        deleted_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Deleted At
          description: The timestamp when the IP was deleted
      type: object
      required:
      - type
      - ip_range
      - id
      - organization_id
      - verified
      title: OrganizationSipIpRange
      description: SIP IP range object.
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: Syllable-API-Key
x-speakeasy-name-override:
- operationId: .*_list$
  methodNameOverride: list
- operationId: .*_create$
  methodNameOverride: create
- operationId: .*_update$
  methodNameOverride: update
- operationId: .*_upload$
  methodNameOverride: upload
- operationId: .*_delete$
  methodNameOverride: delete
- operationId: .*_get_by_id$
  methodNameOverride: get_by_id
- operationId: .*_get_by_name$
  methodNameOverride: get_by_name
- operationId: .*_add$
  methodNameOverride: add
- operationId: .*_remove$
  methodNameOverride: remove
- operationId: .*_results$
  methodNameOverride: results
- operationId: .*_queue_work$
  methodNameOverride: queue_work
- operationId: .*_activate$
  methodNameOverride: activate
- operationId: .*_inactivate$
  methodNameOverride: inactivate
- operationId: .*_list_files$
  methodNameOverride: list_files
- operationId: .*_move_files$
  methodNameOverride: move_files
- operationId: .*_upload_file$
  methodNameOverride: upload_file