openapi: 3.1.0
info:
title: emnify REST subpackage_applicationTokens subpackage_serviceLookupsAndConfiguration API
version: 1.0.0
description: 'The emnify REST API gives programmatic access to the emnify IoT SuperNetwork — global cellular connectivity for IoT devices. Manage SIMs, endpoints (devices), service and tariff profiles, events, SMS, eSIM (SGP.32) profiles, organizations, users, API callbacks, and the Data Streamer. Authenticate with application tokens or user credentials; tokens are short-lived JWTs.
Source: emnify developer documentation (https://docs.emnify.com/developers/api). This spec is assembled from the per-operation OpenAPI fragments published in the emnify llms-full.txt feed.'
contact:
name: emnify Developer Support
url: https://docs.emnify.com/developers
license:
name: Proprietary
url: https://www.emnify.com/legal
servers:
- url: https://cdn.emnify.net
description: emnify REST API base host
security:
- BearerAuth: []
tags:
- name: subpackage_serviceLookupsAndConfiguration
x-display-name: Servicelookupsandconfiguration
paths:
/api/v1/dns:
get:
operationId: dns-get
summary: List DNS configs
description: 'Retrieves a list of DNS configurations.
DNS settings can be applied to a service profile and endpoints which use this service profile will have the associated DNS settings applied.
'
tags:
- subpackage_serviceLookupsAndConfiguration
parameters:
- name: Authorization
in: header
description: 'An `auth_token` should be provided to authenticate a session.
To obtain an `auth_token`, see the [`/api/v1/authenticate` **POST** request](/developers/api/authentication/authenticate).
'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiV1DnsGetResponsesContentApplicationJsonSchemaItems'
post:
operationId: dns-post
summary: Create DNS config
description: "Creates a DNS configuration object. The DNS config can be applied to a service profile and all endpoints which use that service profile will have the associated DNS settings applied.\nDNS changes are instantly applied to any **new PDP context**.\nConnected devices with previously established PDPs will continue to use the previous nameserver config until the next time they reconnect.\n\nPrimary and secondary nameservers and IP version (`4` for IPV4 or `6` for IPV6) must be specified with this request.\n\n\n The system currently falls back to IPV4 for the actually-enforced networking settings of endpoints, therefore **the IPV6 parameter will be ignored** when provided.\n\n"
tags:
- subpackage_serviceLookupsAndConfiguration
parameters:
- name: Authorization
in: header
description: 'An `auth_token` should be provided to authenticate a session.
To obtain an `auth_token`, see the [`/api/v1/authenticate` **POST** request](/developers/api/authentication/authenticate).
'
required: true
schema:
type: string
responses:
'201':
description: Resource Created
content:
application/json:
schema:
$ref: '#/components/schemas/Service Lookups and Configuration_DnsPost_Response_201'
requestBody:
content:
application/json:
schema:
type: object
properties:
primary:
type: string
secondary:
type: string
ip_address_version:
type: integer
required:
- primary
- secondary
- ip_address_version
/api/v1/dns/{dns_id}:
delete:
operationId: dns-by-id-delete
summary: Delete DNS config
description: "Delete a DNS configuration object by ID.\n\n\n A DNS config object cannot be deleted if it is in use by at least one Service Profile.\n\n"
tags:
- subpackage_serviceLookupsAndConfiguration
parameters:
- name: dns_id
in: path
description: DNS configuration ID
required: true
schema:
type: number
format: double
- name: Authorization
in: header
description: 'An `auth_token` should be provided to authenticate a session.
To obtain an `auth_token`, see the [`/api/v1/authenticate` **POST** request](/developers/api/authentication/authenticate).
'
required: true
schema:
type: string
responses:
'204':
description: The server has successfully fulfilled the request and that there is no additional content to send in the response payload body
content:
application/json:
schema:
type: object
properties: {}
/api/v1/service:
get:
operationId: service-get
summary: List services
description: 'Retrieves a collection of available services. Services are read only objects.
Service objects contain expanded traffic limit nested objects.
'
tags:
- subpackage_serviceLookupsAndConfiguration
parameters:
- name: Authorization
in: header
description: 'An `auth_token` should be provided to authenticate a session.
To obtain an `auth_token`, see the [`/api/v1/authenticate` **POST** request](/developers/api/authentication/authenticate).
'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiV1ServiceGetResponsesContentApplicationJsonSchemaItems'
/api/v1/service/{service_id}/traffic_limit:
get:
operationId: service-traffic-limit-by-id-get
summary: Get service SMS limit
description: 'SMS limits are system configuration parameters defined for a single service.
SMS limits do not have direct effect, but have to be explicitly assigned to an endpoint or a service profile.
'
tags:
- subpackage_serviceLookupsAndConfiguration
parameters:
- name: service_id
in: path
required: true
schema:
type: string
- name: Authorization
in: header
description: 'An `auth_token` should be provided to authenticate a session.
To obtain an `auth_token`, see the [`/api/v1/authenticate` **POST** request](/developers/api/authentication/authenticate).
'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiV1ServiceServiceIdTrafficLimitGetResponsesContentApplicationJsonSchemaItems'
/api/v1/traffic_limit:
get:
operationId: traffic-limit-get
summary: List traffic limits
description: Retrieves a list of available traffic limits.
tags:
- subpackage_serviceLookupsAndConfiguration
parameters:
- name: Authorization
in: header
description: 'An `auth_token` should be provided to authenticate a session.
To obtain an `auth_token`, see the [`/api/v1/authenticate` **POST** request](/developers/api/authentication/authenticate).
'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiV1TrafficLimitGetResponsesContentApplicationJsonSchemaItems'
components:
schemas:
ApiV1ServiceServiceIdTrafficLimitGetResponsesContentApplicationJsonSchemaItems:
type: object
properties:
id:
type: integer
volume:
type: integer
period:
$ref: '#/components/schemas/ApiV1ServiceServiceIdTrafficLimitGetResponsesContentApplicationJsonSchemaItemsPeriod'
title: ApiV1ServiceServiceIdTrafficLimitGetResponsesContentApplicationJsonSchemaItems
ApiV1TrafficLimitGetResponsesContentApplicationJsonSchemaItemsPeriod:
type: object
properties: {}
title: ApiV1TrafficLimitGetResponsesContentApplicationJsonSchemaItemsPeriod
ApiV1ServiceGetResponsesContentApplicationJsonSchemaItems:
type: object
properties:
id:
type: integer
description:
type: string
teleservice_code:
type: integer
used_with_vlr:
type: boolean
used_with_sgsn:
type: boolean
traffic_type:
$ref: '#/components/schemas/ApiV1ServiceGetResponsesContentApplicationJsonSchemaItemsTrafficType'
title: ApiV1ServiceGetResponsesContentApplicationJsonSchemaItems
ApiV1DnsGetResponsesContentApplicationJsonSchemaItems:
type: object
properties:
id:
type: integer
primary:
type: string
secondary:
type: string
ip_address_version:
type: integer
title: ApiV1DnsGetResponsesContentApplicationJsonSchemaItems
ApiV1TrafficLimitGetResponsesContentApplicationJsonSchemaItems:
type: object
properties:
id:
type: integer
service:
$ref: '#/components/schemas/ApiV1TrafficLimitGetResponsesContentApplicationJsonSchemaItemsService'
volume:
type: integer
period:
$ref: '#/components/schemas/ApiV1TrafficLimitGetResponsesContentApplicationJsonSchemaItemsPeriod'
title: ApiV1TrafficLimitGetResponsesContentApplicationJsonSchemaItems
ApiV1TrafficLimitGetResponsesContentApplicationJsonSchemaItemsService:
type: object
properties: {}
title: ApiV1TrafficLimitGetResponsesContentApplicationJsonSchemaItemsService
ApiV1ServiceGetResponsesContentApplicationJsonSchemaItemsTrafficType:
type: object
properties: {}
title: ApiV1ServiceGetResponsesContentApplicationJsonSchemaItemsTrafficType
ApiV1ServiceServiceIdTrafficLimitGetResponsesContentApplicationJsonSchemaItemsPeriod:
type: object
properties:
id:
type: integer
time_units:
type: integer
unit:
type: string
title: ApiV1ServiceServiceIdTrafficLimitGetResponsesContentApplicationJsonSchemaItemsPeriod
Service Lookups and Configuration_DnsPost_Response_201:
type: object
properties: {}
description: Empty response body
title: Service Lookups and Configuration_DnsPost_Response_201
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: 'Retrieve a JWT via POST /api/v1/authenticate using an application_token or user credentials, then send it as `Authorization: Bearer `.'