openapi: 3.1.0 info: title: emnify REST subpackage_applicationTokens subpackage_euiccOperation 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_euiccOperation x-display-name: Euiccoperation paths: /api/v1/euicc/operation/action: get: operationId: list-operation-action summary: List operation action for eUICC description: 'List possible IoT eUICC action objects used in responses and requests. ' tags: - subpackage_euiccOperation parameters: - name: Authorization in: header description: 'An auth_token should be provided to authenticate a session. To obtain an auth_token, see the POST request to `/api/v1/authenticate`. ' required: true schema: type: string responses: '200': description: List of operation action for eUICC content: application/json: schema: type: array items: $ref: '#/components/schemas/OperationAction' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/euicc/operation/status: get: operationId: list-operation-status summary: List operation status for eUICC description: 'List possible IoT eUICC operation status objects used in responses. ' tags: - subpackage_euiccOperation parameters: - name: Authorization in: header description: 'An auth_token should be provided to authenticate a session. To obtain an auth_token, see the POST request to `/api/v1/authenticate`. ' required: true schema: type: string responses: '200': description: List of operation status for eUICC content: application/json: schema: type: array items: $ref: '#/components/schemas/OperationStatus' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' /api/v1/euicc/{euicc_id}/operation: get: operationId: list-operation summary: List operation for eUICC description: 'List all operations of a specific IoT eUICC. This route returns HTTP 404 error for non-IoT eUICCs. ' tags: - subpackage_euiccOperation parameters: - name: euicc_id in: path required: true schema: type: integer - name: page in: query description: Page number (1-based). required: false schema: type: integer default: 1 - name: per_page in: query description: Items per page. required: false schema: type: integer default: 100 - name: q in: query description: 'Filter parameter in `:` format. Expects a comma-separated list from the allowed fields: - `id` - `action` - `status` - `iccid_with_luhn` ' required: false schema: type: string - name: sort in: query description: 'Sort properties according to a comma separated list from the allowed fields (prefix with `-` for descending): - `id` - `action` - `status` - `iccid_with_luhn` - `creation_date` - `expiry_date` - `finalization_date` ' required: false 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 POST request to `/api/v1/authenticate`. ' required: true schema: type: string responses: '200': description: Operation list content: application/json: schema: type: array items: $ref: '#/components/schemas/EuiccOperation' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' post: operationId: schedule-operations summary: Schedule eUICC operations description: 'Schedules one or more operations on the specified eUICC. Each array element represents a single operation request. This route returns HTTP 404 error for non-IoT eUICCs. ' tags: - subpackage_euiccOperation parameters: - name: euicc_id in: path required: true schema: type: integer - name: Authorization in: header description: 'An auth_token should be provided to authenticate a session. To obtain an auth_token, see the POST request to `/api/v1/authenticate`. ' required: true schema: type: string responses: '201': description: Created, operations scheduled content: application/json: schema: type: array items: $ref: '#/components/schemas/EuiccOperation' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' requestBody: content: application/json: schema: $ref: '#/components/schemas/EuiccOperationRequestList' /api/v1/euicc/{euicc_id}/operation/{operation_id}: get: operationId: get-operation summary: Get operation details description: 'Get details of specific operation for a specific IoT eUICC. This route returns HTTP 404 error for non-IoT eUICCs. ' tags: - subpackage_euiccOperation parameters: - name: euicc_id in: path required: true schema: type: integer - name: operation_id in: path required: true schema: type: string format: uuid - name: Authorization in: header description: 'An auth_token should be provided to authenticate a session. To obtain an auth_token, see the POST request to `/api/v1/authenticate`. ' required: true schema: type: string responses: '200': description: Operation detail content: application/json: schema: $ref: '#/components/schemas/EuiccOperation' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' delete: operationId: cancel-operation summary: Cancel operation description: 'Cancel a specific operation on specific IoT eUICC (reserved for future use). ' tags: - subpackage_euiccOperation parameters: - name: euicc_id in: path required: true schema: type: integer - name: operation_id in: path required: true schema: type: string format: uuid - name: Authorization in: header description: 'An auth_token should be provided to authenticate a session. To obtain an auth_token, see the POST request to `/api/v1/authenticate`. ' required: true schema: type: string responses: '204': description: No Content content: application/json: schema: type: object properties: {} '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: EuiccOperationActionRef: type: object properties: id: type: integer required: - id title: EuiccOperationActionRef Error: type: object properties: status_code: type: integer message: type: string required: - status_code - message title: Error CommonValidity: type: integer default: 86400 description: Seconds until expiry title: CommonValidity OperationStatus: type: object properties: id: type: integer description: type: string required: - id - description title: OperationStatus OperationAction: type: object properties: id: type: integer description: type: string required: - id - description title: OperationAction EuiccOperationRequestList: type: array items: $ref: '#/components/schemas/EuiccOperationRequest' title: EuiccOperationRequestList ErrorResponse: type: object properties: reason: type: integer message: type: string required: - reason - message title: ErrorResponse IccidWithLuhnRef: type: string description: Full ICCID including the Luhn check digit title: IccidWithLuhnRef UserResponse: type: object properties: id: type: integer name: type: string required: - id - name title: UserResponse EuiccOperation: type: object properties: id: type: string format: uuid action: $ref: '#/components/schemas/OperationAction' status: $ref: '#/components/schemas/OperationStatus' creation_date: type: string format: date-time expiry_date: type: string format: date-time finalization_date: type: string format: date-time last_updated_at: type: string format: date-time user: $ref: '#/components/schemas/UserResponse' error: $ref: '#/components/schemas/ErrorResponse' iccid_with_luhn: $ref: '#/components/schemas/IccidWithLuhnRef' required: - id - action - status - creation_date - last_updated_at - user title: EuiccOperation EuiccOperationRequest: type: object properties: action: $ref: '#/components/schemas/EuiccOperationActionRef' validity_period: $ref: '#/components/schemas/CommonValidity' default: 86400 iccid_with_luhn: $ref: '#/components/schemas/IccidWithLuhnRef' activation_code: type: string description: Activation code enable: type: boolean description: Flag whether downloaded profile should be enabled rollback: type: boolean description: Flag whether rollback mechanism should be triggered required: - action title: EuiccOperationRequest 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 `.'