openapi: 3.1.0 info: title: emnify REST subpackage_applicationTokens subpackage_ipAddressSpaces 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_ipAddressSpaces x-display-name: Ipaddressspaces paths: /api/v1/ip_address_space: get: operationId: ip-address-space-get summary: List IP address spaces description: Returns a list of allocated IP address spaces for your organization. tags: - subpackage_ipAddressSpaces 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/ApiV1IpAddressSpaceGetResponsesContentApplicationJsonSchemaItems' post: operationId: ip-address-space-post summary: Create an IP address space description: 'Checks the requested IP address space for validity and availability, then allocates it to your organization. ' tags: - subpackage_ipAddressSpaces 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: 'Created The requested IP address space is created. ' content: application/json: schema: $ref: '#/components/schemas/IP Address Spaces_IpAddressSpacePost_Response_201' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/IpAddressSpacePostRequestBadRequestError' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/IpAddressSpacePostRequestForbiddenError' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/IpAddressSpacePostRequestNotFoundError' '409': description: 'The requested IP address space overlaps with an existing allocated IP address space. For example, `10.176.0.0/12` and `10.176.0.0/24` or `10.188.33.16/28`. ' content: application/json: schema: $ref: '#/components/schemas/IpAddressSpacePostRequestConflictError' '422': description: "Your requested IP address space isn't allowed or overlaps with a reserved range.\n\n\n These responses have different root causes but share an [error code](/developers/api-guidelines/errors#list-of-error-codes) and token.\n Be sure to check the error message to determine the exact cause.\n\n\nThe requested IP address space must be in one of the following ranges:\n\n- `10.192.0.0/12`\n- `100.64.0.0/10`\n- `10.112.0.0/12`\n- `10.176.0.0/12`\n\nIt also can't overlap with a reserved range (`100.64.0.0/24`).\n" content: application/json: schema: $ref: '#/components/schemas/IpAddressSpacePostRequestUnprocessableEntityError' requestBody: content: application/json: schema: type: object properties: ip_address_space: type: string ip_address_version: type: integer required: - ip_address_space - ip_address_version /api/v1/ip_address_space/available: get: operationId: ip-address-space-available-by-ip-address-version-get summary: Get random address spaces description: 'Provides a list of 10 random available address spaces (unassigned to any organization). As the list is generated for each request, two successive requests will have different results. ' tags: - subpackage_ipAddressSpaces parameters: - name: ip_address_version in: query description: 'Filter by IPv4 which is default or by IPv6. Example: `ip_address_version=4` or `ip_address_version=6` ' required: false 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: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiV1IpAddressSpaceAvailableGetResponsesContentApplicationJsonSchemaItems' /api/v1/ip_address_space/{address_space_id}: put: operationId: ip-address-space-by-id-put summary: Assign an IP address space to an organization description: "\n Use POST API call instead of this deprecated PUT command.\n\n\nThe IP address space is assigned to the user's organization.\n" tags: - subpackage_ipAddressSpaces parameters: - name: address_space_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: '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: {} '404': description: Unexpected error in API call. See HTTP response body for details. content: application/json: schema: $ref: '#/components/schemas/IpAddressSpaceByIdPutRequestNotFoundError' '409': description: Unexpected error in API call. See HTTP response body for details. content: application/json: schema: $ref: '#/components/schemas/IpAddressSpaceByIdPutRequestConflictError' delete: operationId: ip-address-space-by-id-delete summary: Release an IP address space from an organization description: "Release the IP address space from association with the user's organisation.\n\n\n IP address spaces can only be removed, if the IP address space isn't used on any of the organisations endpoints.\n\n" tags: - subpackage_ipAddressSpaces parameters: - name: address_space_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: '204': description: Response to a successful request that is not returning a body content: application/json: schema: type: object properties: {} '404': description: Unexpected error in API call. See HTTP response body for details. content: application/json: schema: $ref: '#/components/schemas/IpAddressSpaceByIdDeleteRequestNotFoundError' '409': description: Unexpected error in API call. See HTTP response body for details. content: application/json: schema: $ref: '#/components/schemas/IpAddressSpaceByIdDeleteRequestConflictError' components: schemas: ApiV1IpAddressSpacePostResponsesContentApplicationJsonSchemaErrorsItems: type: object properties: {} title: ApiV1IpAddressSpacePostResponsesContentApplicationJsonSchemaErrorsItems IpAddressSpaceByIdPutRequestConflictError: type: object properties: error_code: type: integer error_token: type: string message: type: string title: IpAddressSpaceByIdPutRequestConflictError IpAddressSpacePostRequestConflictError: type: object properties: error_code: type: integer error_token: type: string message: type: string errors: type: array items: $ref: '#/components/schemas/ApiV1IpAddressSpacePostResponsesContentApplicationJsonSchemaErrorsItems' description: sub error descriptions required: - error_token - message title: IpAddressSpacePostRequestConflictError IpAddressSpacePostRequestNotFoundError: type: object properties: error_code: type: integer error_token: type: string message: type: string errors: type: array items: $ref: '#/components/schemas/ApiV1IpAddressSpacePostResponsesContentApplicationJsonSchemaErrorsItems' description: sub error descriptions required: - error_token - message title: IpAddressSpacePostRequestNotFoundError ApiV1IpAddressSpaceGetResponsesContentApplicationJsonSchemaItems: type: object properties: id: type: integer ip_address_space: type: string ip_address_version: type: integer used_count: type: integer available_count: type: integer title: ApiV1IpAddressSpaceGetResponsesContentApplicationJsonSchemaItems IpAddressSpaceByIdDeleteRequestConflictError: type: object properties: error_code: type: integer error_token: type: string message: type: string title: IpAddressSpaceByIdDeleteRequestConflictError IpAddressSpaceByIdPutRequestNotFoundError: type: object properties: error_code: type: integer error_token: type: string message: type: string title: IpAddressSpaceByIdPutRequestNotFoundError IpAddressSpaceByIdDeleteRequestNotFoundError: type: object properties: error_code: type: integer error_token: type: string message: type: string title: IpAddressSpaceByIdDeleteRequestNotFoundError ApiV1IpAddressSpaceAvailableGetResponsesContentApplicationJsonSchemaItems: type: object properties: id: type: integer ip_address_space: type: string ip_address_version: type: integer title: ApiV1IpAddressSpaceAvailableGetResponsesContentApplicationJsonSchemaItems IpAddressSpacePostRequestBadRequestError: type: object properties: error_code: type: integer error_token: type: string message: type: string errors: type: array items: $ref: '#/components/schemas/ApiV1IpAddressSpacePostResponsesContentApplicationJsonSchemaErrorsItems' description: sub error descriptions required: - error_token - message title: IpAddressSpacePostRequestBadRequestError IpAddressSpacePostRequestUnprocessableEntityError: type: object properties: error_code: type: integer error_token: type: string message: type: string errors: type: array items: $ref: '#/components/schemas/ApiV1IpAddressSpacePostResponsesContentApplicationJsonSchemaErrorsItems' description: sub error descriptions required: - error_token - message title: IpAddressSpacePostRequestUnprocessableEntityError IpAddressSpacePostRequestForbiddenError: type: object properties: error_code: type: integer error_token: type: string message: type: string errors: type: array items: $ref: '#/components/schemas/ApiV1IpAddressSpacePostResponsesContentApplicationJsonSchemaErrorsItems' description: sub error descriptions required: - error_token - message title: IpAddressSpacePostRequestForbiddenError IP Address Spaces_IpAddressSpacePost_Response_201: type: object properties: id: type: integer ip_address_space: type: string ip_address_version: type: integer title: IP Address Spaces_IpAddressSpacePost_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 `.'