OpenAPI Specification
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 Global IPs 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: Global IPs
name: Global IPs
paths:
/global_ip_allowed_ports:
get:
description: List all Global IP Allowed Ports
operationId: ListGlobalIpAllowedPorts
responses:
'200':
$ref: '#/components/responses/GlobalIpAllowedPortListResponse'
'422':
$ref: '#/components/responses/netapps_GenericErrorResponse'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: List all Global IP Allowed Ports
tags:
- Global IPs
x-latency-category: responsive
/global_ip_assignment_health:
description: Global IP Assignment Health Check Metrics over time
get:
operationId: GetGlobalIpAssignmentHealth
parameters:
- description: 'Consolidated filter parameter (deepObject style). Originally: filter[global_ip_id][in], filter[global_ip_assignment_id][in]'
explode: true
in: query
name: filter
schema:
additionalProperties: false
properties:
global_ip_assignment_id:
oneOf:
- description: Filter by exact Global IP Assignment ID
type: string
- additionalProperties: false
description: Filtering operations
properties:
in:
description: Filter by Global IP Assignment ID(s) separated by commas
type: string
type: object
global_ip_id:
oneOf:
- description: Filter by exact Global IP ID
type: string
- additionalProperties: false
description: Filtering operations
properties:
in:
description: Filter by Global IP ID(s) separated by commas
type: string
type: object
type: object
style: deepObject
responses:
'200':
$ref: '#/components/responses/GlobalIpHealthResponse'
'422':
$ref: '#/components/responses/netapps_GenericErrorResponse'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: Global IP Assignment Health Check Metrics
tags:
- Global IPs
x-latency-category: responsive
/global_ip_assignments:
get:
description: List all Global IP assignments.
operationId: ListGlobalIpAssignments
parameters:
- $ref: '#/components/parameters/PageConsolidated'
responses:
'200':
$ref: '#/components/responses/GlobalIpAssignmentListResponse'
'422':
$ref: '#/components/responses/netapps_GenericErrorResponse'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: List all Global IP assignments
tags:
- Global IPs
x-latency-category: responsive
post:
description: Create a Global IP assignment.
operationId: CreateGlobalIpAssignment
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalIpAssignment'
required: true
responses:
'202':
$ref: '#/components/responses/GlobalIpAssignmentResponse'
'422':
$ref: '#/components/responses/netapps_UnprocessableEntity'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: Create a Global IP assignment
tags:
- Global IPs
x-latency-category: responsive
/global_ip_assignments/{id}:
delete:
description: Delete a Global IP assignment.
operationId: DeleteGlobalIpAssignment
parameters:
- $ref: '#/components/parameters/ResourceId'
responses:
'200':
$ref: '#/components/responses/GlobalIpAssignmentResponse'
'422':
$ref: '#/components/responses/netapps_GenericErrorResponse'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: Delete a Global IP assignment
tags:
- Global IPs
x-latency-category: responsive
get:
description: Retrieve a Global IP assignment.
operationId: GetGlobalIpAssignment
parameters:
- $ref: '#/components/parameters/ResourceId'
responses:
'200':
$ref: '#/components/responses/GlobalIpAssignmentResponse'
'422':
$ref: '#/components/responses/netapps_GenericErrorResponse'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: Retrieve a Global IP
tags:
- Global IPs
x-latency-category: responsive
patch:
description: Update a Global IP assignment.
operationId: UpdateGlobalIpAssignment
parameters:
- $ref: '#/components/parameters/ResourceId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalIpAssignmentUpdate'
required: true
responses:
'200':
$ref: '#/components/responses/GlobalIpAssignmentResponse'
'422':
$ref: '#/components/responses/netapps_GenericErrorResponse'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: Update a Global IP assignment
tags:
- Global IPs
x-latency-category: responsive
/global_ip_assignments_usage:
description: Global IP Assignment Usage Metrics over time
get:
operationId: GetGlobalIpAssignmentUsage
parameters:
- description: 'Consolidated filter parameter (deepObject style). Originally: filter[global_ip_assignment_id][in], filter[global_ip_id][in]'
explode: true
in: query
name: filter
schema:
additionalProperties: false
properties:
global_ip_assignment_id:
oneOf:
- description: Filter by exact Global IP Assignment ID
type: string
- additionalProperties: false
description: Filtering operations
properties:
in:
description: Filter by Global IP Assignment ID(s) separated by commas
type: string
type: object
global_ip_id:
oneOf:
- description: Filter by exact Global IP ID
type: string
- additionalProperties: false
description: Filtering operations
properties:
in:
description: Filter by Global IP ID(s) separated by commas
type: string
type: object
type: object
style: deepObject
responses:
'200':
$ref: '#/components/responses/GlobalIpAssignmentUsageResponse'
'422':
$ref: '#/components/responses/netapps_GenericErrorResponse'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: Global IP Assignment Usage Metrics
tags:
- Global IPs
x-latency-category: responsive
/global_ip_health_check_types:
get:
description: List all Global IP Health check types.
operationId: ListGlobalIpHealthCheckTypes
responses:
'200':
$ref: '#/components/responses/GlobalIpHealthCheckTypesResponse'
'422':
$ref: '#/components/responses/netapps_GenericErrorResponse'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: List all Global IP Health check types
tags:
- Global IPs
x-latency-category: responsive
/global_ip_health_checks:
get:
description: List all Global IP health checks.
operationId: ListGlobalIpHealthChecks
parameters:
- $ref: '#/components/parameters/PageConsolidated'
responses:
'200':
$ref: '#/components/responses/GlobalIpHealthCheckListResponse'
'422':
$ref: '#/components/responses/netapps_GenericErrorResponse'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: List all Global IP health checks
tags:
- Global IPs
x-latency-category: responsive
post:
description: Create a Global IP health check.
operationId: CreateGlobalIpHealthCheck
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalIPHealthCheck'
required: true
responses:
'202':
$ref: '#/components/responses/GlobalIpHealthCheckResponse'
'422':
$ref: '#/components/responses/netapps_UnprocessableEntity'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: Create a Global IP health check
tags:
- Global IPs
x-latency-category: responsive
/global_ip_health_checks/{id}:
delete:
description: Delete a Global IP health check.
operationId: DeleteGlobalIpHealthCheck
parameters:
- $ref: '#/components/parameters/ResourceId'
responses:
'200':
$ref: '#/components/responses/GlobalIpHealthCheckResponse'
'422':
$ref: '#/components/responses/netapps_GenericErrorResponse'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: Delete a Global IP health check
tags:
- Global IPs
x-latency-category: responsive
get:
description: Retrieve a Global IP health check.
operationId: GetGlobalIpHealthCheck
parameters:
- $ref: '#/components/parameters/ResourceId'
responses:
'200':
$ref: '#/components/responses/GlobalIpHealthCheckResponse'
'422':
$ref: '#/components/responses/netapps_GenericErrorResponse'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: Retrieve a Global IP health check
tags:
- Global IPs
x-latency-category: responsive
/global_ip_latency:
description: Global IP Latency Metrics over time
get:
operationId: GetGlobalIpLatency
parameters:
- description: 'Consolidated filter parameter (deepObject style). Originally: filter[global_ip_id][in]'
explode: true
in: query
name: filter
schema:
additionalProperties: false
properties:
global_ip_id:
oneOf:
- description: Filter by exact Global IP ID
type: string
- additionalProperties: false
description: Filtering operations
properties:
in:
description: Filter by Global IP ID(s) separated by commas
type: string
type: object
type: object
style: deepObject
responses:
'200':
$ref: '#/components/responses/GlobalIpLatencyResponse'
'422':
$ref: '#/components/responses/netapps_GenericErrorResponse'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: Global IP Latency Metrics
tags:
- Global IPs
x-latency-category: responsive
/global_ip_protocols:
get:
description: List all Global IP Protocols
operationId: ListGlobalIpProtocols
responses:
'200':
$ref: '#/components/responses/GlobalIpProtocolListResponse'
'422':
$ref: '#/components/responses/netapps_GenericErrorResponse'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: List all Global IP Protocols
tags:
- Global IPs
x-latency-category: responsive
/global_ip_usage:
description: Global IP Usage Metrics over time
get:
operationId: GetGlobalIpUsage
parameters:
- description: 'Consolidated filter parameter (deepObject style). Originally: filter[global_ip_id][in]'
explode: true
in: query
name: filter
schema:
additionalProperties: false
properties:
global_ip_id:
oneOf:
- description: Filter by exact Global IP ID
type: string
- additionalProperties: false
description: Filtering operations
properties:
in:
description: Filter by Global IP ID(s) separated by commas
type: string
type: object
type: object
style: deepObject
responses:
'200':
$ref: '#/components/responses/GlobalIpUsageResponse'
'422':
$ref: '#/components/responses/netapps_GenericErrorResponse'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: Global IP Usage Metrics
tags:
- Global IPs
x-latency-category: responsive
/global_ips:
get:
description: List all Global IPs.
operationId: ListGlobalIps
parameters:
- $ref: '#/components/parameters/PageConsolidated'
responses:
'200':
$ref: '#/components/responses/GlobalIpListResponse'
'422':
$ref: '#/components/responses/netapps_GenericErrorResponse'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: List all Global IPs
tags:
- Global IPs
x-latency-category: responsive
post:
description: Create a Global IP.
operationId: CreateGlobalIp
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalIP'
required: true
responses:
'202':
$ref: '#/components/responses/GlobalIpResponse'
'422':
$ref: '#/components/responses/netapps_UnprocessableEntity'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: Create a Global IP
tags:
- Global IPs
x-latency-category: responsive
/global_ips/{id}:
delete:
description: Delete a Global IP.
operationId: DeleteGlobalIp
parameters:
- $ref: '#/components/parameters/ResourceId'
responses:
'200':
$ref: '#/components/responses/GlobalIpResponse'
'422':
$ref: '#/components/responses/netapps_GenericErrorResponse'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: Delete a Global IP
tags:
- Global IPs
x-latency-category: responsive
get:
description: Retrieve a Global IP.
operationId: GetGlobalIp
parameters:
- $ref: '#/components/parameters/ResourceId'
responses:
'200':
$ref: '#/components/responses/GlobalIpResponse'
'422':
$ref: '#/components/responses/netapps_GenericErrorResponse'
default:
$ref: '#/components/responses/netapps_GenericErrorResponse'
summary: Retrieve a Global IP
tags:
- Global IPs
x-latency-category: responsive
components:
schemas:
GlobalIpAssignmentHealthMetric:
properties:
global_ip:
properties:
id:
description: Global IP ID.
example: a836125b-20b6-452e-9c03-2653f09c7ed7
format: uuid
type: string
ip_address:
description: The Global IP address.
example: 192.0.2.1
readOnly: true
type: string
type: object
global_ip_assignment:
properties:
id:
description: Global IP assignment ID.
example: a836125b-20b6-452e-9c03-2653f09c7ed7
format: uuid
type: string
wireguard_peer:
properties:
ip_address:
description: The IP address of the interface.
example: 73.47.1.23
type: string
name:
description: A user specified name for the interface.
example: Wireguard Peer 1
type: string
type: object
wireguard_peer_id:
description: Wireguard peer ID.
example: e66c496d-4a85-423b-8b2a-8e63fac20320
format: uuid
type: string
type: object
health:
properties:
fail:
description: The number of failed health checks.
example: 0
type: number
pass:
description: The number of successful health checks.
example: 100
type: number
type: object
timestamp:
description: The timestamp of the metric.
example: '2020-01-01T00:00:00.000Z'
format: date-time
type: string
type: object
GlobalIPHealthCheck:
allOf:
- $ref: '#/components/schemas/Record'
- properties:
global_ip_id:
description: Global IP ID.
example: a836125b-20b6-452e-9c03-2653f09c7ed7
format: uuid
type: string
health_check_params:
additionalProperties: true
description: A Global IP health check params.
example:
path: /
port: 8080
type: object
health_check_type:
description: The Global IP health check type.
example: http_status_2xx
type: string
record_type:
description: Identifies the type of the resource.
example: global_ip_health_check
readOnly: true
type: string
title: Global IP health check
type: object
GlobalIPAllowedPort:
allOf:
- properties:
first_port:
description: First port of a range.
example: 1024
type: integer
id:
description: Identifies the resource.
example: 6a09cdc3-8948-47f0-aa62-74ac943d6c58
format: uuid
readOnly: true
type: string
last_port:
description: Last port of a range.
example: 49151
type: integer
name:
description: A name for the Global IP ports range.
example: TCP Registered
type: string
protocol_code:
description: The Global IP Protocol code.
example: tcp
readOnly: true
type: string
record_type:
description: Identifies the type of the resource.
example: global_ip_allowed_port
readOnly: true
type: string
title: Global IP Allowed Port Range
type: object
netapps_Errors:
properties:
errors:
items:
$ref: '#/components/schemas/netapps_Error'
type: array
type: object
InterfaceStatus:
description: The current status of the interface deployment.
enum:
- created
- provisioning
- provisioned
- deleting
example: provisioned
readOnly: true
type: string
GlobalIPProtocol:
allOf:
- properties:
code:
description: The Global IP Protocol code.
example: tcp
readOnly: true
type: string
name:
description: A name for Global IP Protocol.
example: TCP
type: string
record_type:
description: Identifies the type of the resource.
example: global_ip_protocol
readOnly: true
type: string
title: Global IP Protocol
type: object
Record:
properties:
created_at:
description: ISO 8601 formatted date-time indicating when the resource was created.
example: '2018-02-02T22:25:27.521Z'
readOnly: true
type: string
id:
description: Identifies the resource.
example: 6a09cdc3-8948-47f0-aa62-74ac943d6c58
format: uuid
readOnly: true
type: string
record_type:
description: Identifies the type of the resource.
example: sample_record_type
readOnly: true
type: string
updated_at:
description: ISO 8601 formatted date-time indicating when the resource was updated.
example: '2018-02-02T22:25:27.521Z'
readOnly: true
type: string
type: object
netapps_Error:
properties:
code:
type: string
detail:
type: string
meta:
additionalProperties: true
type: object
source:
properties:
parameter:
description: Indicates which query parameter caused the error.
type: string
pointer:
description: JSON pointer (RFC6901) to the offending entity.
type: string
type: object
title:
type: string
required:
- code
- title
type: object
GlobalIpHealthCheckType:
allOf:
- properties:
health_check_params:
additionalProperties: true
description: Global IP Health check params.
example:
health_check_params:
path: str
port: int
type: object
health_check_type:
description: Global IP Health check type.
example: http_status_2xx
type: string
record_type:
description: Identifies the type of the resource.
example: global_ip_health_check_type
readOnly: true
type: string
title: Global IP Health Check Type
type: object
GlobalIpAssignmentUsageMetric:
properties:
global_ip:
properties:
id:
description: Global IP ID.
example: a836125b-20b6-452e-9c03-2653f09c7ed7
format: uuid
type: string
ip_address:
description: The Global IP address.
example: 64.1.4.130
readOnly: true
type: string
type: object
global_ip_assignment:
properties:
id:
description: Global IP assignment ID.
example: a836125b-20b6-452e-9c03-2653f09c7ed7
format: uuid
type: string
wireguard_peer:
properties:
ip_address:
description: The IP address of the interface.
example: 172.1.0.1
type: string
name:
description: A user specified name for the interface.
example: Wireguard Peer 1
type: string
type: object
wireguard_peer_id:
description: Wireguard peer ID.
example: e66c496d-4a85-423b-8b2a-8e63fac20320
format: uuid
type: string
type: object
received:
properties:
amount:
description: The amount of data received.
example: 100000
type: number
unit:
description: The unit of the amount of data received.
example: B
type: string
type: object
timestamp:
description: The timestamp of the metric.
example: '2020-01-01T00:00:00.000Z'
format: date-time
type: string
transmitted:
properties:
amount:
description: The amount of data transmitted.
example: 100000
type: number
unit:
description: The unit of the amount of data transmitted.
example: B
type: string
type: object
type: object
GlobalIpLatencyMetric:
properties:
global_ip:
properties:
id:
description: Global IP ID.
example: a836125b-20b6-452e-9c03-2653f09c7ed7
format: uuid
type: string
ip_address:
description: The Global IP address.
example: 192.0.2.1
readOnly: true
type: string
type: object
mean_latency:
properties:
amount:
description: The average latency.
example: 100
type: number
unit:
description: The unit of the average latency.
example: ms
type: string
type: object
percentile_latency:
properties:
'0':
properties:
amount:
description: The minimum latency.
example: 100
type: number
unit:
description: The unit of the minimum latency.
example: ms
type: string
type: object
'100':
properties:
amount:
description: The maximum latency.
example: 100
type: number
unit:
description: The unit of the maximum latency.
example: ms
type: string
type: object
'25':
properties:
amount:
description: The 25th percentile latency.
example: 100
type: number
unit:
description: The unit of the 25th percentile latency.
example: ms
type: string
type: object
'50':
properties:
amount:
description: The 50th percentile latency.
example: 100
type: number
unit:
description: The unit of the 50th percentile latency.
example: ms
type: string
type: object
'75':
properties:
amount:
description: The 75th percentile latency.
example: 100
type: number
unit:
description: The unit of the 75th percentile latency.
example: ms
type: string
type: object
'90':
properties:
amount:
description: The 90th percentile latency.
example: 100
type: number
unit:
description: The unit of the 90th percentile latency.
example: ms
type: string
type: object
'99':
properties:
amount:
description: The 99th percentile latency.
example: 100
type: number
unit:
description: The unit of the 99th percentile latency.
example: ms
type: string
type: object
type: object
prober_location:
properties:
id:
description: Location ID.
example: a836125b-20b6-452e-9c03-2653f09c7ed7
format: uuid
type: string
lat:
description: Latitude.
example: 52.370216
type: number
lon:
description: Longitude.
example: 4.895168
type: number
name:
description: Location name.
example: Amsterdam
type: string
type: object
timestamp:
description: The timestamp of the metric.
example: '2020-01-01T00:00:00.000Z'
format: date-time
type: string
type: object
GlobalIpAssignment:
allOf:
- $ref: '#/components/schemas/Record'
- properties:
global_ip_id:
description: Global IP ID.
example: a836125b-20b6-452e-9c03-2653f09c7ed7
format: uuid
type: string
is_announced:
description: Status of BGP announcement.
readOnly: true
type: boolean
is_connected:
description: Wireguard peer is connected.
readOnly: true
type: boolean
is_in_maintenance:
description: Enable/disable BGP announcement.
type: boolean
record_type:
description: Identifies the type of the resource.
example: global_ip_assignment
readOnly: true
type: string
status:
$ref: '#/components/schemas/InterfaceStatus'
wireguard_peer_id:
description: Wireguard peer ID.
example: e66c496d-4a85-423b-8b2a-8e63fac20320
format: uuid
type: string
title: Global IP
type: object
PaginationMeta:
properties:
page_number:
example: 2
type: integer
page_size:
example: 25
type: integer
total_pages:
example: 3
type: integer
total_results:
example: 55
type: integer
type: object
GlobalIpUsageMetric:
properties:
global_ip:
properties:
id:
description: Global IP ID.
example: a836125b-20b6-452e-9c03-2653f09c7ed7
format: uuid
type: string
ip_address:
description: The Global IP address.
example: 64.1.2.130
readOnly: true
type: string
type: object
received:
properties:
amount:
description: The amount of data received.
example: 100000
type: number
unit:
description: The unit of the amount of data received.
example: B
type: string
type: object
timestamp:
description: The timestamp of the metric.
example: '2020-01-01T00:00:00.000Z'
format: date-time
type: string
transmitted:
properties:
amount:
description: The amount of data transmitted.
example: 100000
type: number
unit:
description: The unit of the amount of data transmitted.
example: B
type: string
type: object
type: object
GlobalIpAssignmentUpdate:
allOf:
- $ref: '#/components/schemas/GlobalIpAssignment'
- properties:
global_ip_id:
readOnly: true
type: string
wireguard_peer_id:
readOnly: true
type: string
title: Global IP
type: object
GlobalIP:
allOf:
- $ref: '#/components/schemas/Record'
- properties:
description:
description: A user specified description for the address.
example: test interface
type: string
ip_address:
description: The Global IP address.
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/telnyx/refs/heads/main/openapi/telnyx-global-ips-api-openapi.yml