Teliax Bulk Operations API

Submit and track bulk inventory operations (metadata, PIN, CNAM) with order references.

Operations 7

POST /v1/inventory/bulk/{id}/retry-failed Retry failed items as a new linked order #
POST /v1/inventory/bulk/{id}/cancel Cancel a queued/running bulk operation #
POST /v1/inventory/bulk/{action} Submit a bulk operation #
POST /v1/inventory/bulk/{action}/preview Preview a bulk operation #
GET /v1/inventory/bulk List bulk operations #
GET /v1/inventory/bulk/{id} Get a bulk operation #
GET /v1/inventory/bulk/{id}/items Page a bulk operation's per-TN results #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-identity-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-query-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-cpr-dump-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-dno-lookup-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-complex-query-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-tandem-query-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-port-project-detail-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-port-project-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-port-project-detail-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-soa-query-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-toll-free-ptr-operation-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-auto-activation-settings-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-github-com-ringer-warp-api-gateway-internal-models-trunk-group-with-ips-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-github-com-ringer-warp-api-gateway-internal-models-assignment-with-usages-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-internal-handlers-trunk-update-result-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-github-com-ringer-warp-api-gateway-internal-models-trunk-group-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-github-com-ringer-warp-api-gateway-internal-models-assignment-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/teliax/refs/heads/main/json-schema/teliax-internal-handlers-bulk-assign-request-schema.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/teliax:teliax-bulk-operations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

teliax-bulk-operations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Teliax Bulk Operations API
  version: v1
  contact:
    name: Ringer API Support
    url: https://ringer.tel
    email: api-support@ringer.tel
  description: 'Operations tagged Bulk Operations across 2 of this provider''s published API definitions: teliax-tniq-openapi.json, teliax-tniq-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.tniq.ringer.tel
  description: Production
- url: https://tniq-api.ringer.tel
  description: Production (legacy alias)
- url: https://staging-api.ringer.tel
  description: Staging
tags:
- name: Bulk Operations
  description: Submit and track bulk inventory operations (metadata, PIN, CNAM) with order references.
paths:
  /v1/inventory/bulk/{id}/retry-failed:
    post:
      tags:
      - Bulk Operations
      summary: Retry failed items as a new linked order
      operationId: retryFailed
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
    servers:
    - url: https://api.tniq.ringer.tel
      description: Production
    - url: https://tniq-api.ringer.tel
      description: Production (legacy alias)
    - url: https://staging-api.ringer.tel
      description: Staging
  /v1/inventory/bulk/{id}/cancel:
    post:
      tags:
      - Bulk Operations
      summary: Cancel a queued/running bulk operation
      description: Stops at the next per-TN boundary. Processed items stay done (PARTIAL accounting).
      operationId: cancel_1
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
    servers:
    - url: https://api.tniq.ringer.tel
      description: Production
    - url: https://tniq-api.ringer.tel
      description: Production (legacy alias)
    - url: https://staging-api.ringer.tel
      description: Staging
  /v1/inventory/bulk/{action}:
    post:
      tags:
      - Bulk Operations
      summary: Submit a bulk operation
      description: Body carries exactly one of tns[] or query (Query Builder DSL). Returns 202 with the order; execution is asynchronous.
      operationId: submit_1
      parameters:
      - name: action
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBulkOperationRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
    servers:
    - url: https://api.tniq.ringer.tel
      description: Production
    - url: https://tniq-api.ringer.tel
      description: Production (legacy alias)
    - url: https://staging-api.ringer.tel
      description: Staging
  /v1/inventory/bulk/{action}/preview:
    post:
      tags:
      - Bulk Operations
      summary: Preview a bulk operation
      description: Resolves the selection to a count, a sample, and advisory warnings (e.g. non-wireless OCN for P2P SET_NNID). Persists nothing.
      operationId: preview
      parameters:
      - name: action
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBulkOperationRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: object
    servers:
    - url: https://api.tniq.ringer.tel
      description: Production
    - url: https://tniq-api.ringer.tel
      description: Production (legacy alias)
    - url: https://staging-api.ringer.tel
      description: Staging
  /v1/inventory/bulk:
    get:
      tags:
      - Bulk Operations
      summary: List bulk operations
      description: Customer-scoped, newest first. Optional exact-match `reference` (e.g. "BO-2026-000123") resolves a single order for direct lookup (e.g. ⌘K search) instead of paging the full list.
      operationId: list_7
      parameters:
      - name: reference
        in: query
        required: false
        schema:
          type: string
      - name: page
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 0
      - name: size
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 25
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageBulkOperationResponse'
    servers:
    - url: https://api.tniq.ringer.tel
      description: Production
    - url: https://tniq-api.ringer.tel
      description: Production (legacy alias)
    - url: https://staging-api.ringer.tel
      description: Staging
  /v1/inventory/bulk/{id}:
    get:
      tags:
      - Bulk Operations
      summary: Get a bulk operation
      description: Order detail with live counts.
      operationId: get_3
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BulkOperationResponse'
    servers:
    - url: https://api.tniq.ringer.tel
      description: Production
    - url: https://tniq-api.ringer.tel
      description: Production (legacy alias)
    - url: https://staging-api.ringer.tel
      description: Staging
  /v1/inventory/bulk/{id}/items:
    get:
      tags:
      - Bulk Operations
      summary: Page a bulk operation's per-TN results
      operationId: items
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: status
        in: query
        required: false
        schema:
          type: string
      - name: page
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 0
      - name: size
        in: query
        required: false
        schema:
          type: integer
          format: int32
          default: 50
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PageBulkOperationItemResponse'
    servers:
    - url: https://api.tniq.ringer.tel
      description: Production
    - url: https://tniq-api.ringer.tel
      description: Production (legacy alias)
    - url: https://staging-api.ringer.tel
      description: Staging
components:
  schemas:
    BulkOperationItemResponse:
      type: object
      properties:
        telephoneNumber:
          type: string
        status:
          type: string
        errorMessage:
          type: string
        processedAt:
          type: string
          format: date-time
    SortObject:
      type: object
      properties:
        empty:
          type: boolean
        sorted:
          type: boolean
        unsorted:
          type: boolean
    PageBulkOperationItemResponse:
      type: object
      properties:
        totalElements:
          type: integer
          format: int64
        totalPages:
          type: integer
          format: int32
        size:
          type: integer
          format: int32
        content:
          type: array
          items:
            $ref: '#/components/schemas/BulkOperationItemResponse'
        number:
          type: integer
          format: int32
        sort:
          $ref: '#/components/schemas/SortObject'
        numberOfElements:
          type: integer
          format: int32
        first:
          type: boolean
        pageable:
          $ref: '#/components/schemas/PageableObject'
        last:
          type: boolean
        empty:
          type: boolean
    BulkOperationResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        reference:
          type: string
        action:
          type: string
        status:
          type: string
        selectionQuery:
          type: string
        changeSummary:
          type: string
        totalCount:
          type: integer
          format: int32
        processedCount:
          type: integer
          format: int32
        successCount:
          type: integer
          format: int32
        failureCount:
          type: integer
          format: int32
        requestedBy:
          type: string
        parentOperationId:
          type: string
          format: uuid
        errorMessage:
          type: string
        createdAt:
          type: string
          format: date-time
        startedAt:
          type: string
          format: date-time
        completedAt:
          type: string
          format: date-time
    PageableObject:
      type: object
      properties:
        offset:
          type: integer
          format: int64
        sort:
          $ref: '#/components/schemas/SortObject'
        pageSize:
          type: integer
          format: int32
        pageNumber:
          type: integer
          format: int32
        paged:
          type: boolean
        unpaged:
          type: boolean
    PageBulkOperationResponse:
      type: object
      properties:
        totalElements:
          type: integer
          format: int64
        totalPages:
          type: integer
          format: int32
        size:
          type: integer
          format: int32
        content:
          type: array
          items:
            $ref: '#/components/schemas/BulkOperationResponse'
        number:
          type: integer
          format: int32
        sort:
          $ref: '#/components/schemas/SortObject'
        numberOfElements:
          type: integer
          format: int32
        first:
          type: boolean
        pageable:
          $ref: '#/components/schemas/PageableObject'
        last:
          type: boolean
        empty:
          type: boolean
    CreateBulkOperationRequest:
      type: object
      properties:
        tns:
          type: array
          items:
            type: string
        query:
          type: string
        params:
          type: object
          additionalProperties:
            type: object
        customerId:
          type: string
          format: uuid
  securitySchemes:
    bearerAuth:
      type: http
      description: 'Bearer token authentication. Pass your API token or user JWT in the Authorization header: Authorization: Bearer YOUR_TOKEN'
      scheme: bearer
      bearerFormat: JWT
x-refined-from:
- teliax-tniq-openapi.json
- teliax-tniq-openapi.yml