openapi: 3.0.0 info: title: Soracom SIM Management API description: Manage Soracom Air for Cellular SIMs and Subscribers including session control, plan changes, group binding, and lifecycle operations. version: 20250903-043502 servers: - description: Japan coverage production API endpoint url: https://api.soracom.io/v1 - description: Global coverage production API endpoint url: https://g.api.soracom.io/v1 paths: /sims: get: description: 'Returns a list of SIMs. If the total number of SIMs does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response. ' operationId: listSims parameters: - description: Maximum number of SIMs to retrieve. However, the number of SIMs returned may be less than the specified value. in: query name: limit required: false schema: type: integer - description: The value of the `x-soracom-next-key` header from the previous response. Specify this to retrieve the next page. in: query name: last_evaluated_key required: false schema: type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/Sim' type: array description: List of IoT SIMs. '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: List SIMs tags: - Sim x-soracom-cli: - sims list x-soracom-cli-pagination: request: param: last_evaluated_key response: header: x-soracom-next-key post: description: Creates a new Soracom Arc virtual SIM/Subscriber. For details, please refer to [Creating Virtual SIMs](/en/docs/arc/configuration/). operationId: createSim requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSimRequest' description: Virtual SIM/Subscriber creation request. required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Sim' description: A virtual SIM/Subscriber has been created. security: - api_key: [] api_token: [] summary: Creates a new virtual SIM/Subscriber tags: - Sim x-soracom-cli: - sims create /sims/{sim_id}: get: description: Gets information about the IoT SIM. operationId: getSim parameters: - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sim' description: The IoT SIM's detailed information. '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: Gets information about the IoT SIM tags: - Sim x-soracom-cli: - sims get /sims/{sim_id}/activate: post: description: Changes status of specified SIM to "active". operationId: activateSim parameters: - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: format: SimId type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sim' description: The SIM's detailed information after the update. '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: Activate SIM tags: - Sim x-soracom-cli: - sims activate /sims/{sim_id}/credentials/arc: delete: deprecated: true description: '(DEPRECATED) Removes the credentials (public key) for Soracom Arc from the SIM. **Warning**: Do not use this API. ' operationId: removeArcSimCredentials parameters: - description: SIM ID of the target SIM. in: path name: sim_id required: true schema: type: string responses: '204': description: The credentials for Arc have been removed. security: - api_key: [] api_token: [] summary: (DEPRECATED) Removes the credentials for Arc from a SIM tags: - Sim x-soracom-cli: - sims remove-arc-credentials post: deprecated: true description: '(DEPRECATED) Attaches the credentials (public key) for Soracom Arc to the SIM. **Warning**: Please use the `renewArcSimCredentials` API instead. ' operationId: attachArcSimCredentials parameters: - description: SIM ID of the target SIM. in: path name: sim_id required: true schema: format: SimId type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ArcCredentialAttachRequest' description: Arc credential attach request required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ArcCredentialAttachResponse' description: Arc credential attach response security: - api_key: [] api_token: [] summary: (DEPRECATED) Attaches the credentials for Arc to a SIM tags: - Sim x-soracom-cli: - sims attach-arc-credentials put: description: Attaches Arc credential to a SIM and re-initialize a session at once. operationId: renewArcSimCredentials parameters: - description: SIM ID of the target SIM. in: path name: sim_id required: true schema: format: SimId type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ArcCredentialRenewRequest' description: Arc credential attach request required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ArcCredentialRenewResponse' description: Arc credential attach response security: - api_key: [] api_token: [] summary: Renew the credentials for Arc to a SIM tags: - Sim x-soracom-cli: - sims renew-arc-credentials /sims/{sim_id}/data: get: description: 'Returns a list of data entries sent to Harvest Data from a SIM that match certain criteria. If the total number of data entries does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response. ' operationId: getDataFromSim parameters: - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: type: string - description: Start time for the data entries search range (UNIX time in milliseconds). in: query name: from required: false schema: type: integer - description: End time for the data entries search range (UNIX time in milliseconds). in: query name: to required: false schema: type: integer - description: Sort order of the data entries. Either descending (latest data entry first) or ascending (oldest data entry first). in: query name: sort required: false schema: default: desc enum: - desc - asc type: string - description: Maximum number of data entries to retrieve (value range is 1 to 1000). The default is `10`. in: query name: limit required: false schema: maximum: 1000 minimum: 1 type: integer - description: The value of the `x-soracom-next-key` header from the previous response. Specify this to retrieve the next page. in: query name: last_evaluated_key required: false schema: type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/DataEntry' type: array description: A list of data entries. security: - api_key: [] api_token: [] summary: Get data sent from a SIM to Harvest Data. tags: - Sim x-soracom-cli: - sims get-data x-soracom-cli-pagination: request: param: last_evaluated_key response: header: x-soracom-next-key /sims/{sim_id}/deactivate: post: description: Changes status of specified SIM to "inactive". operationId: deactivateSim parameters: - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: format: SimId type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sim' description: The SIM's detailed information after the update. '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: Deactivate SIM tags: - Sim x-soracom-cli: - sims deactivate /sims/{sim_id}/delete_session: post: description: 'Deletes and then reconnects the session for the specified SIM. **Warning**: If you attempt to delete the session for an offline IoT SIM, the following error message will be returned: ``` Error: {"code":"SEM0016","message":"The specified subscriber is offline"} ``` ' operationId: deleteSimSession parameters: - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sim' description: The SIM's detailed information after the update. '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: Delete and reconnect the Session tags: - Sim x-soracom-cli: - sims delete-session /sims/{sim_id}/disable_termination: post: description: Enables termination protection for the specified IoT SIM (disables termination). operationId: disableSimTermination parameters: - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: format: SimId type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sim' description: The SIM's detailed information after the update. '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: Disables termination of the SIM tags: - Sim x-soracom-cli: - sims disable-termination /sims/{sim_id}/downlink/http: post: description: 'Sends an HTTP request to a device using an IoT SIM and returns the HTTP response from the device in the API response body. ' operationId: sendDownlinkHttp parameters: - description: SIM ID of the target IoT SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: format: SimId type: string requestBody: content: application/json: example: method: GET path: /readyz?verbose port: 6443 skipVerify: true ssl: false schema: $ref: '#/components/schemas/SimDownlinkHttpRequest' description: Configuration of the HTTP request to send to the device. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/SimDownlinkHttpResponse' description: 'The HTTP request to the device was successful. The HTTP status code, headers, and body returned by the device can be checked in the response body. ' '404': description: The specified IoT SIM does not exist. '422': description: "- The HTTP request to the device failed for one of the following reasons:\n - Could not establish\ \ a network connection with the device.\n - The device refused the HTTP connection.\n\n- The HTTP response from\ \ the device was not received for one of the following reasons:\n - The device did not return a response within\ \ 10 seconds.\n - The HTTP response (including URL, headers, and body) exceeded 5 MiB.\n" security: - api_key: [] api_token: [] summary: Send an HTTP request to a device using an IoT SIM tags: - Sim x-soracom-cli: - sims downlink-http /sims/{sim_id}/downlink/ping: post: description: Sends ICMP ping requests to a SIM. operationId: sendDownlinkPing parameters: - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: format: SimId type: string requestBody: content: application/json: example: numberOfPingRequests: 5 timeoutSeconds: 2 schema: $ref: '#/components/schemas/DownlinkPingRequest' description: Options for ping requests required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/DownlinkPingResponse' description: Result of the ping security: - api_key: [] api_token: [] summary: Sends ping requests to a SIM. tags: - Sim x-soracom-cli: - sims downlink-ping /sims/{sim_id}/downlink/rtsp: post: description: 'Sends a command to a device using an IoT SIM and returns a response based on specified command and options in request. - An error occurs if the command does not complete within 10 seconds. ' operationId: sendDownlinkRtsp parameters: - description: SIM ID of the target IoT SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: format: SimId type: string requestBody: content: application/json: example: authentication: password: pass type: basic username: user command: snapshot port: 544 schema: $ref: '#/components/schemas/SimDownlinkRtspRequest' description: Command for the RTSP request required: true responses: '200': content: image/jpeg: schema: $ref: '#/components/schemas/SimDownlinkRtspSnapshotImageResponse' description: 'Command executed successfully. Response body will differ based on command and options in request. ' '400': description: 'Invalid request. ' '403': description: 'Failed to execute command due to authentication error. Please check the authentication information for Soracom API and RTSP server. ' '404': description: The specified IoT SIM does not exist. '422': description: 'Failed to execute command because the video stream received by Soracom API from the RTSP server is not H.264 encoded. Please verify that the video stream sent by your RTSP server is H.264 encoded. ' security: - api_key: [] api_token: [] summary: Send a command to a RTSP stream to a device using an IoT SIM tags: - Sim x-soracom-cli: - sims downlink-rtsp /sims/{sim_id}/downlink/ssh: post: description: 'Connects to a device using an IoT SIM via SSH, executes a specified command, and returns the standard output and standard error output in the API response body. ' operationId: sendDownlinkSsh parameters: - description: 'SIM ID of the target IoT SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). ' in: path name: sim_id required: true schema: format: SimId type: string requestBody: content: application/json: examples: (1) Connect using public key authentication to list files.: description: 'Connects to the device using public key authentication and retrieves a list of files. The private key should be specified as a string in the `key` field. Use `\n` to represent newline characters. ' value: authentication: key: '-----BEGIN OPENSSH PRIVATE KEY----- b3B ... 1Fw= -----END OPENSSH PRIVATE KEY-----' type: publickey command: ls -l port: 22 username: username (2) Connect using password authentication to list files.: description: 'Connects to the device using password authentication and retrieves a list of files. ' value: authentication: password: secret_value type: password command: ls -l port: 22 username: username (3) Connect using password authentication to retrieve system logs.: description: "Connects to the device using password authentication and retrieves system logs using the `journalctl`\ \ command.\n\n```json\n{\n \"exitcode\":0,\n \"stdout\":\"Feb 19 09:35:49 $HOST sshd[51829]: pam_env(sshd:session):\ \ deprecated reading of user environment enabled\\nFeb 19 09:35:50 $HOST sshd[51829]: pam_unix(sshd:session):\ \ session closed for user $USER\\nFeb 19 09:35:50 $HOST systemd-logind[480]: Session 620 logged out. Waiting\ \ for processes to exit.\\nFeb 19 09:35:50 $HOST systemd[1]: session-620.scope: Deactivated successfully.\\\ nFeb 19 09:35:50 $HOST systemd-logind[480]: Removed session 620.\\nFeb 19 09:36:32 $HOST sshd[51837]: Accepted\ \ password for $USER from 100.127.10.16 port 47281 ssh2\\nFeb 19 09:36:32 $HOST sshd[51837]: pam_unix(sshd:session):\ \ session opened for user $USER(uid=1000) by (uid=0)\\nFeb 19 09:36:32 $HOST systemd-logind[480]: New session\ \ 621 of user $USER.\\nFeb 19 09:36:32 $HOST systemd[1]: Started session-621.scope - Session 621 of User\ \ $USER.\\nFeb 19 09:36:32 $HOST sshd[51837]: pam_env(sshd:session): deprecated reading of user environment\ \ enabled\\n\",\n \"stderr\":\"\"\n}\n```\n" value: authentication: password: secret_value type: password command: journalctl -n port: 22 username: pi schema: $ref: '#/components/schemas/SimDownlinkSshRequest' description: Configuration of the SSH connection and the command to execute. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/SimDownlinkSshResponse' description: The command was executed successfully. The command's exit code, standard output, and standard error output can be checked in the response body. '422': description: "- The command execution failed for one of the following reasons:\n - Could not establish a network\ \ connection with the device.\n - The device refused the SSH connection.\n\n- The response from the device was\ \ not received for one of the following reasons:\n - The device did not return a response within 10 seconds.\n\ \ - The command output (including standard output and standard error output) exceeded 5 MiB.\n" security: - api_key: [] api_token: [] summary: Connect to a device using an IoT SIM via SSH and execute a specified command tags: - Sim x-soracom-cli: - sims downlink-ssh /sims/{sim_id}/downlink/tcp: post: description: 'Connects to a device using an IoT SIM via TCP, sends specified data, and returns data received from the device. - The maximum size of sent and received data is 5 MiB each. - If sending and receiving data is not completed within the time specified by `timeout`, an error will occur. ' operationId: sendDownlinkTcp parameters: - description: 'SIM ID of the target IoT SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). ' in: path name: sim_id required: true schema: format: SimId type: string requestBody: content: application/json: example: connectionOptions: terminationPattern: T0sK terminationPatternEncoding: base64 type: wait_for_pattern payload: SGVsbG8gV29ybGQ= payloadEncoding: base64 port: 5000 timeout: 5 schema: $ref: '#/components/schemas/SimDownlinkTcpRequest' description: Options for TCP connection and data transmission/reception. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/SimDownlinkTcpResponse' description: Data transmission and response reception were successful. Check the response body for the response from the device. '400': content: application/json: schema: $ref: '#/components/schemas/APICallErrorMessage' description: 'Invalid request. ' '403': content: application/json: schema: $ref: '#/components/schemas/APICallErrorMessage' description: 'Authentication failed. ' '404': content: application/json: schema: $ref: '#/components/schemas/APICallErrorMessage' description: The specified IoT SIM does not exist. '422': content: application/json: schema: $ref: '#/components/schemas/APICallErrorMessage' description: Data transmission and reception failed. security: - api_key: [] api_token: [] summary: Connect to a device using an IoT SIM via TCP and send/receive data tags: - Sim x-soracom-cli: - sims downlink-tcp /sims/{sim_id}/downlink/udp: post: description: 'Sends specified data to a device using an IoT SIM via UDP. **Warning**: Unlike TCP, UDP communication lacks retransmission and sequencing mechanisms, which may lead to packet loss or out-of-order arrival. ' operationId: sendDownlinkUdp parameters: - description: 'SIM ID of the target IoT SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). ' in: path name: sim_id required: true schema: format: SimId type: string requestBody: content: application/json: example: payload: SGVsbG8gV29ybGQ= payloadEncoding: base64 port: 5000 schema: $ref: '#/components/schemas/SimDownlinkUdpRequest' description: Options for UDP data transmission. required: true responses: '204': description: 'The data has been sent to the device. However, due to the nature of UDP, packet delivery is not guaranteed. ' '400': content: application/json: schema: $ref: '#/components/schemas/APICallErrorMessage' description: 'Invalid request. ' '403': content: application/json: schema: $ref: '#/components/schemas/APICallErrorMessage' description: 'Authentication failed. ' '404': content: application/json: schema: $ref: '#/components/schemas/APICallErrorMessage' description: The specified IoT SIM does not exist. security: - api_key: [] api_token: [] summary: Send data using IoT SIM via UDP tags: - Sim x-soracom-cli: - sims downlink-udp /sims/{sim_id}/enable_termination: post: description: Disables termination protection for the specified IoT SIM (enables termination). operationId: enableSimTermination parameters: - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: format: SimId type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sim' description: The SIM's detailed information after the update. '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: Enables termination of the SIM. tags: - Sim x-soracom-cli: - sims enable-termination /sims/{sim_id}/events/sessions: get: description: 'Retrieves event history of session creation/modification/disconnection for the past 32 days for the specified SIM. If the total number of events does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response. Check the current session using the [Sim:getSim API](#!/Sim/getSim). To check the current session with this API, check the value of `event` in the latest session history. Refer to [Subscriber Status](/en/docs/air/subscriber-status/) for the meaning of a session. ' operationId: listSimSessionEvents parameters: - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: type: string - description: Start time (UNIX time in milliseconds) of the period to retrieve the session event history. in: query name: from required: false schema: type: integer - description: End time (UNIX time in milliseconds) of the period to retrieve the session event history. in: query name: to required: false schema: type: integer - description: Maximum number of event histories to retrieve. However, the number of event histories returned may be less than the specified value. in: query name: limit required: false schema: type: integer - description: The value of the `x-soracom-next-key` header from the previous response. Specify this to retrieve the next page. in: query name: last_evaluated_key required: false schema: type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/SessionEvent' type: array description: A list of session events. security: - api_key: [] api_token: [] summary: Retrieves session event history (session history) tags: - Sim x-soracom-cli: - sims session-events x-soracom-cli-pagination: request: param: last_evaluated_key response: header: x-soracom-next-key /sims/{sim_id}/packet_capture_sessions: get: description: Lists packet capture sessions associated with the SIM. operationId: listSimPacketCaptureSessions parameters: - description: SIM ID of the target SIM. in: path name: sim_id required: true schema: type: string - description: The value of the `x-soracom-next-key` header from the previous response. Specify this to retrieve the next page. in: query name: last_evaluated_key required: false schema: type: string - description: Max number of results in a response. in: query name: limit required: false schema: default: 10 format: int32 type: integer responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/PacketCaptureSession' type: array description: List of packet capture sessions associated with the SIM '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: Lists packet capture sessions associated with the SIM tags: - Sim x-soracom-cli: - sims list-packet-capture-sessions x-soracom-cli-pagination: request: param: last_evaluated_key response: header: x-soracom-next-key post: description: Creates a packet capture session associated with the SIM. operationId: createSimPacketCaptureSession parameters: - description: SIM ID of the target SIM. in: path name: sim_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PacketCaptureSessionRequest' description: A packet capture session request. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PacketCaptureSession' description: The packet capture session associated with the SIM '400': description: Failed to create a packet capture session for the specified SIM '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: Creates a packet capture session associated with the SIM tags: - Sim x-soracom-cli: - sims create-packet-capture-session /sims/{sim_id}/packet_capture_sessions/{session_id}: delete: description: Deletes a packet capture session associated with the SIM. operationId: deleteSimPacketCaptureSession parameters: - description: SIM ID of the target SIM. in: path name: sim_id required: true schema: type: string - description: Packet capture session ID in: path name: session_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/PacketCaptureSession' description: Deleted the packet capture session '400': description: Failed to delete the packet capture session associated with the SIM '404': description: The packet capture session associated with the SIM was not found security: - api_key: [] api_token: [] summary: Deletes a packet capture session associated with the SIM tags: - Sim x-soracom-cli: - sims delete-packet-capture-session get: description: Gets a packet capture session associated with the SIM. operationId: getSimPacketCaptureSession parameters: - description: SIM ID of the target SIM. in: path name: sim_id required: true schema: type: string - description: Packet capture session ID in: path name: session_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/PacketCaptureSession' description: The packet capture session associated with the SIM '404': description: The packet capture session associated with the SIM was not found security: - api_key: [] api_token: [] summary: Gets a packet capture session associated with the SIM tags: - Sim x-soracom-cli: - sims get-packet-capture-session /sims/{sim_id}/packet_capture_sessions/{session_id}/stop: post: description: Stops a packet capture session associated with the SIM. operationId: stopSimPacketCaptureSession parameters: - description: SIM ID of the target SIM. in: path name: sim_id required: true schema: type: string - description: Packet capture session ID in: path name: session_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/PacketCaptureSession' description: The stopped packet capture session '400': description: The packet capture session can be stopped only when its status is CAPTURING '404': description: The packet capture session associated with the SIM was not found '500': description: The packet capture session could not be stopped security: - api_key: [] api_token: [] summary: Stops a packet capture session associated with the SIM tags: - Sim x-soracom-cli: - sims stop-packet-capture-session /sims/{sim_id}/profiles/{iccid}/add_subscription: post: description: Add a new secondary subscription ([additional subscription](/en/docs/air/subscription-containers/#adding-a-subscription) or [virtual SIM/Subscriber](/en/docs/arc/configuration/#adding-a-virtual-sim-to-an-air-sim)) to the IoT SIM. operationId: addSubscription parameters: - description: SIM ID of the target SIM. in: path name: sim_id required: true schema: type: string - description: ICCID of the target IoT SIM. For IoT SIMs that do not support eUICC, the ICCID and SIM ID are the same. in: path name: iccid required: true schema: type: string requestBody: content: application/json: examples: Adding planX3: value: enable: true subscription: planX3 type: cellular Adding virtual SIM/Subscriber: value: subscription: planArc01 type: virtual schema: properties: enable: description: 'In the case of [additional subscriptions](/en/docs/air/subscription-containers/), specify whether to activate the additional subscription as soon as it has been downloaded. The default is `true`. - `true`: Activate immediately. - `false`: Keep inactive. Additional subscription will be activated at the next [network registration](/en/docs/air/basic-connectivity/#requesting-network-registration) or [session](/en/docs/air/basic-connectivity/#requesting-data-session) registration. Note that in the case of a virtual SIM/Subscriber, it is ignored. ' type: boolean subscription: description: 'Name of the secondary subscription to be added. - `planP1`, `planX1`, `planX2`, `planX3`, `plan-US-max`: Additional Subscription - `planArc01`: Virtual SIM/Subscriber ' enum: - planP1 - planX1 - planX2 - planX3 - plan-US-max - planArc01 type: string type: description: '- `virtual`: When `subscription` is `planArc01`. - `cellular`: When `subscription` is other than `planArc01`. ' enum: - virtual - cellular type: string required: - subscription type: object responses: '200': content: application/json: schema: $ref: '#/components/schemas/SimProfile' description: The updated SIM profile '400': description: You specified a subscription that cannot be added. For example, `planP1` cannot be added to an IoT SIM in plan-D. '404': description: No such IoT SIM with the specified SIM ID and ICCID found. security: - api_key: [] api_token: [] summary: Adds a new secondary subscription to an IoT SIM tags: - Sim x-soracom-cli: - sims add-subscription /sims/{sim_id}/profiles/{iccid}/subscribers/{imsi}/cancel_download: post: description: Cancel the OTA of the additional subscription before the OTA starts. Note that once the IoT SIM goes online and the OTA begins, it cannot be canceled. operationId: cancelSubscriptionContainerDownload parameters: - description: The SIM ID of the target SIM. in: path name: sim_id required: true schema: format: SimId type: string - description: The ICCID of the target subscription container. in: path name: iccid required: true schema: type: string - description: The IMSI of the target additional subscription. in: path name: imsi required: true schema: format: IMSI type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/SubscriptionContainerStatus' description: A schema listing subscription containers and containing a map of PLMN codes to subscription containers. '404': description: The specified SIM ID, ICCID, or IMSI does not exist. security: - api_key: [] api_token: [] summary: Cancel the OTA to the subscription container for an additional subscription tags: - Sim x-soracom-cli: - sims cancel-subscription-container-download /sims/{sim_id}/profiles/{iccid}/subscribers/{imsi}/terminate: post: description: Terminates subscription container. Currently this API supports only for virtual SIM/Subscribers for Soracom Arc. operationId: terminateSubscriptionContainer parameters: - description: SIM ID of the target subscription container. in: path name: sim_id required: true schema: format: SimId type: string - description: ICCID of the target subscription container. in: path name: iccid required: true schema: type: string - description: IMSI of the target subscription container. in: path name: imsi required: true schema: format: IMSI type: string responses: '204': description: The subscription container has been terminated. security: - api_key: [] api_token: [] summary: Terminates subscription container tags: - Sim x-soracom-cli: - sims terminate-subscription-container /sims/{sim_id}/register: post: description: Registers an IoT SIM to an operator. operationId: registerSim parameters: - description: SIM ID of the target SIM. in: path name: sim_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RegisterSimRequest' description: A SIM registration request. required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Sim' description: SIM registration completed. security: - api_key: [] api_token: [] summary: Registers an IoT SIM to an operator tags: - Sim x-soracom-cli: - sims register /sims/{sim_id}/report_local_info: post: description: 'Gets SIM local information report. **Alert**: One SMS will be sent to the IoT device per request for SIM local information report. Sending SMS to IoT devices is charged. For more information on fees, refer to the following page - [Pricing & Fee Schedule](/en/docs/reference/fees/) ' operationId: reportSimLocalInfo parameters: - description: SIM ID of the target SIM. in: path name: sim_id required: true schema: format: SimId type: string responses: '202': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: Successful request to update SIM local information report. SIM local information reports are updated asynchronously upon successful reporting from the IoT SIM. Asynchronously updated information can be viewed in the Soracom User Console. For details, see [Check SIM Local Information Report](https://users.soracom.io/ja-jp/docs/air/get-local-info-report/) (Japanese). '400': description: The specified IoT SIM does not support the SIM local information reporting feature. '404': description: The specified IoT SIM does not exist for the specified coverage type. security: - api_key: [] api_token: [] summary: Gets SIM local information report tags: - Sim x-soracom-cli: - sims report-local-info /sims/{sim_id}/send_sms: post: description: Sends an SMS to the specified IoT SIM. operationId: sendSmsToSim parameters: - description: SIM ID of the target SIM to which the SMS will be sent. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: format: SimId type: string requestBody: content: application/json: example: encodingType: 2 payload: Test message schema: $ref: '#/components/schemas/SmsForwardingRequest' required: true responses: '202': content: application/json: schema: $ref: '#/components/schemas/SmsForwardingReport' description: SMS transmission accepted and completed. Returns the ID assigned to the message '400': description: The specified SIM does not support SMS API. '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: Send an SMS to an IoT SIM tags: - Sim x-soracom-cli: - sims send-sms /sims/{sim_id}/sessions/arc: post: description: Creates a Soracom Arc session. If the session already exists, re-create it. operationId: createArcSession parameters: - description: SIM ID of the target SIM. in: path name: sim_id required: true schema: format: SimId type: string requestBody: content: application/json: schema: additionalProperties: false type: object required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ArcSessionCreateResponse' description: Arc session created '400': description: Arc credentials missing security: - api_key: [] api_token: [] summary: Creates a Soracom Arc session tags: - Sim x-soracom-cli: - sims create-arc-session /sims/{sim_id}/set_expiry_time: post: description: Sets the expiration date and action for the specified IoT SIM. operationId: setSimExpiryTime parameters: - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: format: SimId type: string requestBody: content: application/json: example: expiryAction: deactivate expiryTime: 1893423600000 schema: $ref: '#/components/schemas/ExpiryTime' description: Expiration date (UNIX time in milliseconds) and action after the update. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sim' description: The SIM's detailed information after the update. '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: Sets expiry time of IoT SIM tags: - Sim x-soracom-cli: - sims set-expiry-time /sims/{sim_id}/set_group: post: description: Adds a SIM to a SIM group. operationId: setSimGroup parameters: - description: ID of the target SIM. The SIM ID can be obtained using the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SetGroupRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sim' description: Detailed information of the updated SIM. '404': description: The specified SIM does not exist. security: - api_key: [] api_token: [] summary: Adds a SIM to a SIM group tags: - Sim x-soracom-cli: - sims set-group /sims/{sim_id}/set_imei_lock: post: description: Sets IMEI that the SIM should be locked to. operationId: setSimImeiLock parameters: - description: SIM ID of the target SIM. in: path name: sim_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SetImeiLockRequest' description: IMEI lock configuration for the SIM. (IMEI can be left blank for locking to the current IMEI of an online SIM.) responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sim' description: The SIM's detailed information after the update. '400': description: '- The IMEI string is invalid. - The IMEI is not specified even though the SIM is offline. ' '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: Sets IMEI lock configuration for the SIM tags: - Sim x-soracom-cli: - sims set-imei-lock /sims/{sim_id}/set_to_standby: post: description: Changes status of specified SIM to "standby". operationId: setSimToStandby parameters: - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: format: SimId type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sim' description: The SIM's detailed information after the update. '400': description: The specified SIM does not support "standby." '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: Set SIM to standby mode. tags: - Sim x-soracom-cli: - sims set-to-standby /sims/{sim_id}/statuses/history: get: description: List IoT SIM status operation history. Status operation history entry records what status operations were performed for which IMSI and which subscriptions, along with the operation time. It includes speed class, group ID, IoT SIM status, etc. If the total number of status operation history entry does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response. operationId: listSimStatusHistory parameters: - description: SIM ID of the target SIM. in: path name: sim_id required: true schema: type: string - description: Start time of the status operation history entry to be searched (UNIX time in milliseconds). If not specified, `from` is set to the oldest status operation history entry time of the target IoT SIM. in: query name: from required: false schema: type: integer - description: End time of the status operation history entry to be searched (UNIX time in milliseconds). If not specified, `to` is set to the current time. in: query name: to required: false schema: type: integer - description: The value of the `x-soracom-next-key` header from the previous response. Specify this to retrieve the next page. in: query name: last_evaluated_key required: false schema: type: string - description: Sort order of status operation history entry. Either descending (latest data entry first) or ascending (oldest data entry first). in: query name: sort required: false schema: default: desc enum: - desc - asc type: string - description: Maximum number of items to retrieve in one request. The response may contain fewer items than the specified limit. in: query name: limit required: false schema: default: 30 maximum: 100 minimum: 1 type: integer responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/SimStatusHistoryResponse' type: array description: A list of status operation history entry of the IoT SIM. '400': description: Bad request. '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: List IoT SIM status operation history tags: - Sim x-soracom-cli: - sims list-status-history x-soracom-cli-pagination: request: param: last_evaluated_key response: header: x-soracom-next-key /sims/{sim_id}/suspend: post: description: Changes status of specified SIM to "suspended". operationId: suspendSim parameters: - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: format: SimId type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sim' description: The SIM's detailed information after the update. '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: Suspend SIM tags: - Sim x-soracom-cli: - sims suspend /sims/{sim_id}/tags: put: description: 'Adds or updates tags for the specified IoT SIM. The name of the IoT SIM is registered as a tag with the key `name`. ' operationId: putSimTags parameters: - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: type: string requestBody: content: application/json: example: - tagName: name tagValue: '{Name of the IoT SIM}' schema: items: $ref: '#/components/schemas/TagUpdateRequest' type: array description: Array of tags to be added or updated. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sim' description: The SIM's detailed information after the update. '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: Bulk Add or Update tags for an IoT SIM tags: - Sim x-sam-operationId: putTags x-soracom-cli: - sims put-tags /sims/{sim_id}/tags/{tag_name}: delete: description: Deletes a tag from the specified IoT SIM. operationId: deleteSimTag parameters: - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: type: string - description: 'Tag name to be deleted. This will be part of a URL path, so it needs to be percent-encoded. In JavaScript, specify the name after it has been encoded using encodeURIComponent(). **Warning**: If you are using Soracom CLI, do not use URL encoding (percent-encoding). ' in: path name: tag_name required: true schema: type: string responses: '204': description: Deletion of specified tag complete. '404': description: The specified SIM or tag does not exist. security: - api_key: [] api_token: [] summary: Deletes a tag from the specified SIM tags: - Sim x-sam-operationId: deleteTag x-soracom-cli: - sims delete-tag /sims/{sim_id}/terminate: post: description: 'Terminates the specified IoT SIM. Please use the [Sim:enableSimTermination API](#!/Sim/enableSimTermination) in advance to enable termination (remove termination protection). ' operationId: terminateSim parameters: - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: format: SimId type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sim' description: The SIM's detailed information after the update. '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: Terminate an IoT SIM tags: - Sim x-soracom-cli: - sims terminate /sims/{sim_id}/testing/usage: get: description: Retrieves the usage information of "testing" status of the IoT SIM. Data can only be retrieved while the IoT SIM is in "testing" status. operationId: getTestingUsage parameters: - description: SIM ID of the target IoT SIM. in: path name: sim_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/TestingUsage' description: Usage information of the IoT SIM in testing status. '404': description: No testing usage information found for the target IoT SIM. security: - api_key: [] api_token: [] summary: Get usage of IoT SIM in testing status tags: - Sim x-soracom-cli: - sims get-testing-usage /sims/{sim_id}/unset_expiry_time: post: description: Deletes expiry time of specified SIM and changes it to indefinite. operationId: unsetSimExpiryTime parameters: - description: SIM ID of the target SIM. The SIM ID can be obtained from the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: type: string responses: '204': description: Change of specified SIM's expiry time to indefinite complete. '404': description: The specified SIM does not exist or the SIM does not have an expiry time. security: - api_key: [] api_token: [] summary: Deletes expiry time of the SIM tags: - Sim x-soracom-cli: - sims unset-expiry-time /sims/{sim_id}/unset_group: post: description: Removes a SIM from a SIM group. operationId: unsetSimGroup parameters: - description: ID of the target SIM. The SIM ID can be obtained using the [Sim:listSims API](#/Sim/listSims). in: path name: sim_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sim' description: Detailed information of the updated SIM. '404': description: The specified SIM does not exist. security: - api_key: [] api_token: [] summary: Removes a SIM from a SIM group tags: - Sim x-soracom-cli: - sims unset-group /sims/{sim_id}/unset_imei_lock: post: description: Unsets the IMEI lock of the specified SIM. operationId: unsetSimImeiLock parameters: - description: SIM ID of the target SIM. in: path name: sim_id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sim' description: The SIM's detailed information after the update. '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: Unsets IMEI lock of SIM tags: - Sim x-soracom-cli: - sims unset-imei-lock /sims/{sim_id}/update_speed_class: post: description: Updates the IoT SIM speed class. operationId: updateSimSpeedClass parameters: - description: SIM ID of the target SIM. in: path name: sim_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateSpeedClassRequest' description: The speed class of the IoT SIM. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Sim' description: The SIM's detailed information after the update. '400': description: The specified speed class does not exist to the subscription. For example, arc.standard cannot be specified for plan01s. '404': description: No such SIM found. security: - api_key: [] api_token: [] summary: Updates the IoT SIM speed class tags: - Sim x-soracom-cli: - sims update-speed-class /subscribers: get: description: 'Returns a list of subscribers that match certain criteria. If the total number of subscribers does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response. ' operationId: listSubscribers parameters: - description: Tag name for filtering the search (exact match). in: query name: tag_name required: false schema: type: string - description: Tag search string for filtering the search. Required when `tag_name` has been specified. in: query name: tag_value required: false schema: type: string - description: Tag match mode. in: query name: tag_value_match_mode required: false schema: default: exact enum: - exact - prefix type: string - description: 'Status for filtering the search. Can specify multiple values delimited by `|`. Valid values include: `active`, `inactive`, `ready`, `instock`, `shipped`, `suspended`, and `terminated`.' in: query name: status_filter required: false schema: type: string - description: 'Speed class for filtering the search. Can specify multiple values delimited by `|`. Valid values include: - `s1.minimum` - `s1.slow` - `s1.standard` - `s1.fast` - `s1.4xfast` - `s1.8xfast` - `u1.standard` - `u1.slow` - `t1.standard` - `arc.standard` ' in: query name: speed_class_filter required: false schema: type: string - description: Serial number for filtering the search. Can specify multiple values delimited by `|`. Returns subscribers with serial number starting with the specified value(s). in: query name: serial_number_filter required: false schema: type: string - description: Maximum number of subscribers to retrieve (value range is 1 to 100). However, the number of subscribers returned may be less than the specified value. in: query name: limit required: false schema: maximum: 100 minimum: 1 type: integer - description: The IMSI of the last subscriber retrieved on the previous page. By specifying this parameter, you can continue to retrieve the list from the next subscriber onward. in: query name: last_evaluated_key required: false schema: type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/Subscriber' type: array description: A list of subscribers. security: - api_key: [] api_token: [] summary: List Subscribers. tags: - Subscriber x-soracom-cli: - subscribers list x-soracom-cli-pagination: request: param: last_evaluated_key response: header: x-soracom-next-key /subscribers/{imsi}: get: description: Returns information about the specified subscriber. operationId: getSubscriber parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The subscriber's detailed information. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Get Subscriber. tags: - Subscriber x-soracom-cli: - subscribers get /subscribers/{imsi}/activate: post: description: Activates status of specified subscriber. operationId: activateSubscriber parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: format: IMSI type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The subscriber's detailed information after the update. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Activate Subscriber. tags: - Subscriber x-soracom-cli: - subscribers activate /subscribers/{imsi}/bundles: put: description: Sets bundles to the specified subscriber. operationId: putBundles parameters: - description: IMSI of the target subscriber. The IMSI can be obtained from the [Sim:listSims API](#!/Sim/listSims). in: path name: imsi required: true schema: type: string requestBody: content: application/json: example: - D-300MB schema: items: description: 'Bundle to set. Specify a bundle supported by the subscription. The bundle name prefix (excluding size suffixes such as `-xxMB` or `-xxGB`) is as follows for each subscription: - plan-D: `D` - plan-DU: `DU` - plan-US: `US` Example: For subscription plan-US, you can set `US-300MB`. **Warning**: Bundles for plan-K2 (K2-300MB), plan-D (D-300MB), planX3, and planX3-EU cannot be changed. ' enum: - D-300MB - DU-10GB - DU-50GB - DU-100GB - US-1MB - US-3MB - US-10MB - US-20MB - US-50MB - US-100MB - US-300MB - US-500MB - US-1GB - US-3GB - US-5GB - US-10GB type: string type: array description: Array of bundles to set for the subscriber. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The subscriber's detailed information after the update. '400': description: The specified bundle is not supported by this Subscriber's subscription. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Set Bundles to Subscriber. tags: - Subscriber x-sam-operationId: putBundles x-soracom-cli: - subscribers put-bundles /subscribers/{imsi}/data: get: description: 'Returns a list of data entries sent to Harvest Data from a subscriber that match certain criteria. If the total number of data entries does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response. ' operationId: getDataFromSubscriber parameters: - description: IMSI of the target subscriber that generated data entries. in: path name: imsi required: true schema: type: string - description: Start time for the data entries search range (UNIX time in milliseconds). in: query name: from required: false schema: type: integer - description: End time for the data entries search range (UNIX time in milliseconds). in: query name: to required: false schema: type: integer - description: Sort order of the data entries. Either descending (latest data entry first) or ascending (oldest data entry first). in: query name: sort required: false schema: default: desc enum: - desc - asc type: string - description: Maximum number of data entries to retrieve (value range is 1 to 1000). The default is `10`. in: query name: limit required: false schema: maximum: 1000 minimum: 1 type: integer - description: 'Key in the last data entry retrieved in the previous page. The key for data entries in this API is `${UNIX time in milliseconds}_${IMSI}`. By specifying this parameter, you can continue to retrieve the list from the next page onward. ' in: query name: last_evaluated_key required: false schema: type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/DataEntry' type: array description: A list of data entries. security: - api_key: [] api_token: [] summary: Get data sent from a subscriber to Harvest Data. tags: - Subscriber x-soracom-cli: - data get - subscribers get-data x-soracom-cli-pagination: request: param: last_evaluated_key response: header: x-soracom-next-key /subscribers/{imsi}/deactivate: post: description: Deactivates specified subscriber. operationId: deactivateSubscriber parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: format: IMSI type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The subscriber's detailed information after the update. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Deactivate Subscriber. tags: - Subscriber x-soracom-cli: - subscribers deactivate /subscribers/{imsi}/delete_session: post: description: Deletes session for the specified subscriber. operationId: deleteSubscriberSession parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The subscriber's detailed information after the update. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Delete Session tags: - Subscriber x-soracom-cli: - subscribers delete-session /subscribers/{imsi}/disable_termination: post: description: Disables termination of specified subscriber. operationId: disableTermination parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: format: IMSI type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The subscriber's detailed information after the update. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Disable Termination of Subscriber. tags: - Subscriber x-soracom-cli: - subscribers disable-termination /subscribers/{imsi}/downlink/ping: post: description: Send ICMP ping requests to a subscriber. operationId: subscriberDownlinkPingToUserEquipment parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: format: IMSI type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/DownlinkPingRequest' description: ping options required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/DownlinkPingResponse' description: Result of the ping security: - api_key: [] api_token: [] summary: Send ping requests to a subscriber. tags: - Subscriber x-soracom-cli: - subscribers downlink-ping /subscribers/{imsi}/enable_termination: post: description: Enables termination of specified subscriber. operationId: enableTermination parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: format: IMSI type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The subscriber's detailed information after the update. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Enable Termination of Subscriber. tags: - Subscriber x-soracom-cli: - subscribers enable-termination /subscribers/{imsi}/events/sessions: get: description: 'Returns the event history of session creation/modification/disconnection on the specified subscriber in the last 32 days. If the total number of events does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response. ' operationId: listSessionEvents parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: type: string - description: Start time for the events search range (UNIX time in milliseconds). in: query name: from required: false schema: type: integer - description: End time for the events search range (UNIX time in milliseconds). in: query name: to required: false schema: type: integer - description: Maximum number of events to retrieve. in: query name: limit required: false schema: type: integer - description: The time stamp of the last event retrieved on the previous page. By specifying this parameter, you can continue to retrieve the list from the next event onward. in: query name: last_evaluated_key required: false schema: type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/SessionEvent' type: array description: A list of session events security: - api_key: [] api_token: [] summary: List Session Events. tags: - Subscriber x-soracom-cli: - subscribers session-events x-soracom-cli-pagination: request: param: last_evaluated_key response: header: x-soracom-next-key /subscribers/{imsi}/register: post: description: Registers a subscriber. operationId: registerSubscriber parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RegisterSubscribersRequest' description: subscriber required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: Subscriber registration complete. security: - api_key: [] api_token: [] summary: Register Subscriber. tags: - Subscriber x-soracom-cli: - subscribers register /subscribers/{imsi}/report_local_info: post: description: Triggers Subscriber to report SIM local info. operationId: reportLocalInfo parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: format: IMSI type: string responses: '202': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The local info reporting has successfully been triggered. The subscriber information is asynchronously updated when the SIM reports the information back. '400': description: The specified subscriber does not support local info reporting feature. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Triggers Subscriber to report SIM local info. tags: - Subscriber x-soracom-cli: - subscribers report-local-info /subscribers/{imsi}/send_sms: post: description: Send SMS to the specified subscriber. operationId: sendSms parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: format: IMSI type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SmsForwardingRequest' description: SMS forwarding request that contains message body and its encoding type. required: true responses: '202': content: application/json: schema: $ref: '#/components/schemas/SmsForwardingReport' description: SMS transmission accepted and completed. Returns the ID assigned to the message. '400': description: The specified subscriber does not support SMS API. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Send SMS to Subscriber tags: - Subscriber x-soracom-cli: - subscribers send-sms /subscribers/{imsi}/set_expiry_time: post: description: Updates expiry time of specified subscriber. operationId: setExpiryTime parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: format: IMSI type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ExpiryTime' description: Expiration date (UNIX time in milliseconds) and action after the update. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The subscriber's detailed information after the update. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Update Expiry Time of Subscriber. tags: - Subscriber x-soracom-cli: - subscribers set-expiry-time /subscribers/{imsi}/set_group: post: description: Adds a SIM to a SIM group. operationId: setGroup parameters: - description: IMSI of the target SIM. The IMSI can be obtained using the [Sim:listSims API](#!/Sim/listSims). in: path name: imsi required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SetGroupRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The subscriber's detailed information after the update. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Adds a SIM to a SIM group tags: - Subscriber x-soracom-cli: - subscribers set-group /subscribers/{imsi}/set_imei_lock: post: description: Set IMEI that the subscriber should be locked to. operationId: setImeiLock parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SetImeiLockRequest' description: IMEI lock configuration for the subscriber. (IMEI can be left blank for locking to the current IMEI of an online subscriber.) responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The subscriber's detailed information after the update. '400': description: Invalid IMEI string or subscriber is offline and IMEI not specified. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Set IMEI lock configuration for Subscriber. tags: - Subscriber x-soracom-cli: - subscribers set-imei-lock /subscribers/{imsi}/set_to_standby: post: description: Set the specified subscriber to standby mode. operationId: setSubscriberToStandby parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: format: IMSI type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The subscriber's detailed information after the update. '400': description: The specified subscriber does not support standby mode. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Set Subscriber to standby mode. tags: - Subscriber x-soracom-cli: - subscribers set-to-standby /subscribers/{imsi}/suspend: post: description: Suspends the specified subscriber. operationId: suspendSubscriber parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: format: IMSI type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The subscriber's detailed information after the update. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Suspend Subscriber. tags: - Subscriber x-soracom-cli: - subscribers suspend /subscribers/{imsi}/tags: put: description: Inserts/updates tags for the specified subscriber. operationId: putSubscriberTags parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: type: string requestBody: content: application/json: schema: items: $ref: '#/components/schemas/TagUpdateRequest' type: array description: Array of tags to be inserted/updated. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The subscriber's detailed information after the update. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Bulk Insert or Update Subscriber Tags. tags: - Subscriber x-sam-operationId: putTags x-soracom-cli: - subscribers put-tags /subscribers/{imsi}/tags/{tag_name}: delete: description: Deletes a tag from the specified subscriber. operationId: deleteSubscriberTag parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: type: string - description: Tag name to be deleted. (This will be part of a URL path, so it needs to be percent-encoded. In JavaScript, specify the name after it has been encoded using encodeURIComponent().) in: path name: tag_name required: true schema: type: string responses: '204': description: Deletion of specified tag complete. '404': description: The specified subscriber or the tag does not exist. security: - api_key: [] api_token: [] summary: Delete Subscriber Tag. tags: - Subscriber x-sam-operationId: deleteTag x-soracom-cli: - subscribers delete-tag /subscribers/{imsi}/terminate: post: description: Terminates the specified subscriber operationId: terminateSubscriber parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: format: IMSI type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The subscriber's detailed information after the update. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Terminate Subscriber. tags: - Subscriber x-soracom-cli: - subscribers terminate /subscribers/{imsi}/unset_expiry_time: post: description: Deletes expiry time of specified subscriber and changes it to indefinite. operationId: unsetExpiryTime parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: type: string responses: '204': description: Change of specified subscriber's expiry time to indefinite complete. '404': description: The specified subscriber does not exist or the subscriber does not have an expiry time. security: - api_key: [] api_token: [] summary: Delete Expiry Time of Subscriber. tags: - Subscriber x-soracom-cli: - subscribers unset-expiry-time /subscribers/{imsi}/unset_group: post: description: Removes a SIM from a SIM group. operationId: unsetGroup parameters: - description: IMSI of the target SIM. The IMSI can be obtained using the [Sim:listSims API](#!/Sim/listSims). in: path name: imsi required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The subscriber's detailed information after the update. '404': description: The specified subscriber does not exist or the subscriber does not belong to a group. security: - api_key: [] api_token: [] summary: Removes a SIM from a SIM group tags: - Subscriber x-soracom-cli: - subscribers unset-group /subscribers/{imsi}/unset_imei_lock: post: description: Remove any existing IMEI lock configuration for the subscriber. operationId: unsetImeiLock parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The subscriber's detailed information after the update. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Unset IMEI lock configuration for Subscriber. tags: - Subscriber x-soracom-cli: - subscribers unset-imei-lock /subscribers/{imsi}/update_speed_class: post: description: Changes the speed class of the specified subscriber. operationId: updateSpeedClass parameters: - description: IMSI of the target subscriber. in: path name: imsi required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateSpeedClassRequest' description: speed_class required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/Subscriber' description: The subscriber's detailed information after the update. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Update Subscriber speed class. tags: - Subscriber x-soracom-cli: - subscribers update-speed-class /subscribers/export: post: description: Export all subscribers as a CSV file. operationId: exportSubscribers parameters: - description: export mode (async, sync) in: query name: export_mode required: false schema: default: sync enum: - async - sync type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/FileExportResponse' description: Where to export subscribers. security: - api_key: [] api_token: [] summary: Export all subscribers. tags: - Subscriber x-soracom-cli: - subscribers export /subscribers/msisdn/{msisdn}/send_sms: post: description: Send SMS to a subscriber specified with MSISDN. operationId: sendSmsByMsisdn parameters: - description: MSISDN of the target subscriber. in: path name: msisdn required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SmsForwardingRequest' description: SMS forwarding request that contains message body and its encoding type. required: true responses: '202': content: application/json: schema: $ref: '#/components/schemas/SmsForwardingReport' description: SMS transmission accepted and completed. Returns the ID assigned to the message. '400': description: The specified subscriber does not support SMS API. '404': description: The specified subscriber does not exist. security: - api_key: [] api_token: [] summary: Send SMS to Subscriber by MSISDN tags: - Subscriber x-soracom-cli: - subscribers send-sms-by-msisdn /subscribers/transfer_token/{token}: delete: description: Invalidate the transfer token for SIMs and cancels the transfer of all SIMs associated with the transfer token. To use this API, you need an API key and token issued with the source operator. operationId: deleteSubscriberTransferToken parameters: - description: Transfer token. The transfer token can be obtained from [Subscriber:issueSubscriberTransferToken](#!/Subscriber/issueSubscriberTransferToken). in: path name: token required: true schema: type: string responses: '204': description: Transfer token has been invalidated and the transfer has been cancelled. '404': description: Transfer token does not exist. security: - api_key: [] api_token: [] summary: Cancel the transfer of Ready status SIMs (Invalidate the transfer token) tags: - Subscriber x-soracom-cli: - subscribers delete-transfer-token /subscribers/transfer_token/issue: post: description: 'Initiates the transfer of Ready status SIMs. To use this API, you need an API key and token issued with the source operator. When this API is executed, a transfer token is issued and sent to the destination operator via email. For more information about SIM transfers, please refer to [Transferring Ready Status SIMs](/en/docs/air/transfer/#transferring-ready-status-sims). - To cancel a transfer, cancel each transfer token individually. If there is a possibility of canceling SIMs one by one, specify only one IMSI. To cancel, use the [Subscriber:deleteSubscriberTransferToken API](#!/Subscriber/deleteSubscriberTransferToken). - When this API is executed, the status of the SIMs will change to "Transferring". **Warning**: Do not change the status of SIMs that are in the "Transferring" status. If the status is changed, the SIMs can no longer be transferred using this procedure. For the procedure to transfer SIMs whose status has been changed, refer to [Transferring Other Status SIMs](/en/docs/air/transfer/#transferring-other-status-sims). **Info**: The information of the destination operator can be confirmed by logging in to the Soracom User Console with the destination operator. ' operationId: issueSubscriberTransferToken requestBody: content: application/json: example: transferDestinationOperatorEmail: transfer-destination-XX@example.com transferDestinationOperatorId: OPXXXXXXXXXX transferImsi: - 44XX01234567891 - 44XX01234567892 - 44XX01234567893 - 44XX01234567894 schema: $ref: '#/components/schemas/IssueSubscriberTransferTokenRequest' description: Email address and Operator ID of the destination operator, and the IMSIs of the SIMs to be transferred. required: true responses: '200': content: application/json: example: token: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx schema: $ref: '#/components/schemas/IssueSubscriberTransferTokenResponse' description: 'OK. The status of the SIMs specified in `transferImsi` will change to "Transferring". **Warning**: Do not change the status of SIMs that are in the "Transferring" status. If the status is changed, the SIMs can no longer be transferred using the API. ' security: - api_key: [] api_token: [] summary: Initiate the transfer of Ready status SIMs (Issue a transfer token) tags: - Subscriber x-soracom-cli: - subscribers issue-transfer-token /subscribers/transfer_token/verify: post: description: Verifies the transfer token for SIMs and accepts the transfer. To use this API, you need an API key and token issued with the destination operator. operationId: verifySubscriberTransferToken requestBody: content: application/json: example: token: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx schema: $ref: '#/components/schemas/VerifySubscriberTransferTokenRequest' description: Transfer token. The transfer token is sent via email. required: true responses: '200': content: application/json: example: transferredImsi: - 44XX01234567891 - 44XX01234567892 - 44XX01234567893 - 44XX01234567894 schema: $ref: '#/components/schemas/VerifySubscriberTransferTokenResponse' description: SIM transfer successfully accepted and processed. security: - api_key: [] api_token: [] summary: Accept the transfer of Ready status SIMs (Verify the transfer token) tags: - Subscriber x-soracom-cli: - subscribers verify-transfer-token /sim_profile_orders: get: description: 'Returns a list of eSIM profile orders. If the total number of orders does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response. ' operationId: listProfileOrders parameters: - description: Maximum number of eSIM profile orders to retrieve. However, the number of eSIM profile orders returned may be less than the specified value. in: query name: limit required: false schema: default: 100 maximum: 100 minimum: 1 type: integer - description: The ID of the last eSIM profile order retrieved on the previous page. By repeating the API call while specifying this parameter, the next page of eSIM profile orders will be returned. in: query name: last_evaluated_key required: false schema: type: string responses: '200': content: application/json: example: - bundles: [] description: This is a test order orderedTime: 1718756585000 profileOrderId: 01902ddd-1cf3-77d9-afc0-fe8d410cadb1 quantity: 10 speedClass: s1.4xfast status: DRAFT subscription: plan01s schema: items: $ref: '#/components/schemas/SimProfileOrderResponse' type: array description: Returned a list of eSIM profile orders. security: - api_key: [] api_token: [] summary: List eSIM profile orders tags: - SimProfileOrder x-soracom-cli: - sim-profile-orders list x-soracom-cli-pagination: request: param: last_evaluated_key response: header: x-soracom-next-key post: description: 'Creates a new eSIM profile order without confirming it. An unconfirmed order is valid for 1 day, after which it is automatically canceled. Use the [SimProfileOrder:confirmProfileOrder API](#/SimProfileOrder/confirmProfileOrder) to confirm the order. ' operationId: createProfileOrder requestBody: content: application/json: example: description: This is a test order quantity: 10 speedClass: s1.4xfast subscription: plan01s schema: $ref: '#/components/schemas/CreateSimProfileOrderRequest' responses: '201': content: application/json: example: bundles: [] description: This is a test order orderedTime: 1718756585000 profileOrderId: 01902ddd-1cf3-77d9-afc0-fe8d410cadb1 quantity: 10 speedClass: s1.4xfast status: DRAFT subscription: plan01s schema: $ref: '#/components/schemas/SimProfileOrderResponse' description: eSIM profile order has been created. '400': description: The request is invalid. security: - api_key: [] api_token: [] summary: Create a new eSIM profile order tags: - SimProfileOrder x-soracom-cli: - sim-profile-orders create /sim_profile_orders/{profile_order_id}: delete: description: 'Cancels an unconfirmed eSIM profile order. ' operationId: deleteProfileOrder parameters: - description: The ID of the eSIM profile order. in: path name: profile_order_id required: true schema: type: string responses: '204': description: eSIM profile order has been canceled. '404': description: The eSIM profile order was not found. security: - api_key: [] api_token: [] summary: Cancel an eSIM profile order tags: - SimProfileOrder x-soracom-cli: - sim-profile-orders delete get: description: 'Get an eSIM profile order. ' operationId: getProfileOrder parameters: - description: The ID of the eSIM profile order. in: path name: profile_order_id required: true schema: type: string responses: '200': content: application/json: example: bundles: [] description: This is a test order orderedTime: 1718756585000 profileOrderId: 01902ddd-1cf3-77d9-afc0-fe8d410cadb1 quantity: 10 speedClass: s1.4xfast status: DRAFT subscription: plan01s schema: $ref: '#/components/schemas/SimProfileOrderResponse' description: Returned the eSIM profile order. '404': description: The eSIM profile order was not found. security: - api_key: [] api_token: [] summary: Get an eSIM profile order tags: - SimProfileOrder x-soracom-cli: - sim-profile-orders get /sim_profile_orders/{profile_order_id}/confirm: post: description: 'Confirms an unconfirmed eSIM profile order and completes the order. Once confirmed, an eSIM profile order cannot be canceled. ' operationId: confirmProfileOrder parameters: - description: The ID of the eSIM profile order. in: path name: profile_order_id required: true schema: type: string responses: '200': content: application/json: example: bundles: [] confirmedTime: 1718756585000 description: This is a test order orderedTime: 1718756585000 profileOrderId: 01902ddd-1cf3-77d9-afc0-fe8d410cadb1 quantity: 10 speedClass: s1.4xfast status: CONFIRMED subscription: plan01s schema: $ref: '#/components/schemas/SimProfileOrderResponse' description: The eSIM profile order has been confirmed. '404': description: The eSIM profile order was not found. security: - api_key: [] api_token: [] summary: Confirm an eSIM profile order tags: - SimProfileOrder x-soracom-cli: - sim-profile-orders confirm /sim_profile_orders/{profile_order_id}/profiles: get: description: 'Returns a list of eSIM profiles created by the specified eSIM profile order. ' operationId: listOrderedProfiles parameters: - description: The ID of the eSIM profile order. in: path name: profile_order_id required: true schema: type: string responses: '200': content: application/json: schema: items: $ref: '#/components/schemas/OrderedSimProfileResponse' type: array description: Returned a list of eSIM profiles. '404': description: The eSIM profile order was not found. security: - api_key: [] api_token: [] summary: List eSIM profiles created by the eSIM profile order tags: - SimProfileOrder x-soracom-cli: - sim-profile-orders list-profiles /cell_locations: get: description: "Retrieves location information (latitude/longitude) for a cell tower based on cell information such as\ \ Cell ID.\n\n- For 3G, please specify MCC, MNC, LAC, and CID. It is possible to retrieve approximate location information\ \ without CID, but the accuracy will be low.\n\n 3G example\n ```\n $ curl -X GET \"https://api.soracom.io/v1/cell_locations?mcc=440&mnc=10&lac=196\"\ \ \\\n -H \"X-Soracom-API-Key: $X_SORACOM_API_KEY\" \\\n -H \"X-Soracom-Token: $X_SORACOM_TOKEN\"\n ```\n\ \n- For LTE (4G), please specify MCC, MNC, TAC, and ECID.\n\n 4G example\n ```\n $ curl -X GET \"https://api.soracom.io/v1/cell_locations?mcc=440&mnc=10&tac=5680&ecid=48872466\"\ \ \\\n -H \"X-Soracom-API-Key: $X_SORACOM_API_KEY\" \\\n -H \"X-Soracom-Token: $X_SORACOM_TOKEN\"\n ```\n\ \nThe conversion of cell tower information to location information uses the OpenCelliD Project database. The specified\ \ cell tower information is used to extract the corresponding location information from the OpenCelliD Project database,\ \ but it is possible that the location information may not exist or may be different from the actual location.\n\n\ [![Creative Commons License](/assets/images/ccbysa_4.0_80x15.png)](https://creativecommons.org/licenses/by-sa/4.0/\ \ \"no-icon-external-link\") OpenCelliD\ \ Project is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License\n" operationId: getCellLocation parameters: - description: MCC - Mobile Country Code. example: 440 in: query name: mcc required: true schema: type: string - description: MNC - Mobile Network Code. example: 10 in: query name: mnc required: true schema: type: string - description: LAC - Location Area Code (for 3G). in: query name: lac required: false schema: type: string - description: CID - Cell ID (for 3G). in: query name: cid required: false schema: type: string - description: TAC - Tracking Area Code (for 4G). example: 5680 in: query name: tac required: false schema: type: string - description: ECID - Enhanced Cell ID (for 4G) - specify either `ecid` or `eci`. The result is the same regardless of which value is specified. example: 48872466 in: query name: ecid required: false schema: type: string - description: ECID - Enhanced Cell ID (for 4G) - specify either `ecid` or `eci`. The result is the same regardless of which value is specified. in: query name: eci required: false schema: type: string responses: '200': content: application/json: example: avg_strength: 0 created: '2022-01-01T00:00:00.000Z' exact: 0 lat: 35.7119449 lon: 139.813642 range: 476 samples: 7 updated: 2022-01-01T00:00:00:000Z schema: $ref: '#/components/schemas/CellLocation' description: Location information for the cell tower. '404': description: Location information is not found for the cell tower. security: - api_key: [] api_token: [] summary: Get location information for a cell tower tags: - CellLocation x-soracom-cli: - cell-locations get post: description: 'Retrieves a list of location information (latitude/longitude) for multiple cell towers based on cell information such as Cell ID. For 3G, please specify MCC, MNC, LAC, and CID. It is possible to retrieve approximate location information without CID, but the accuracy will be low. For LTE (4G), please specify MCC, MNC, TAC, and ECID. The conversion of cell tower information to location information uses the OpenCelliD Project database, so it is possible that the information may not exist or may be incorrect. [![Creative Commons License](/assets/images/ccbysa_4.0_80x15.png)](https://creativecommons.org/licenses/by-sa/4.0/ "no-icon-external-link") OpenCelliD Project is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License ' operationId: batchGetCellLocations requestBody: content: application/json: example: - cid: '68485165' identifier: test001 lac: '195' mcc: '440' mnc: '10' - ecid: '44668480' identifier: test002 mcc: '440' mnc: '10' tac: '5840' schema: items: $ref: '#/components/schemas/CellIdentifier' type: array description: List of cell identifiers. required: true responses: '200': content: application/json: example: - avg_strength: 0 created: '2022-01-01T00:00:00.000Z' exact: 0 identifier: test001 lat: 35.6814383 lon: 139.7665133 range: 0 samples: 1 updated: 2022-01-01T00:00:00:000Z - avg_strength: 0 created: '2022-01-01T00:00:00.000Z' exact: 0 identifier: test002 lat: 35.7119449 lon: 139.813642 range: 476 samples: 7 updated: 2022-01-01T00:00:00:000Z schema: items: $ref: '#/components/schemas/CellLocation' type: array description: List of location information for the specified cell towers. security: - api_key: [] api_token: [] summary: List location information for multiple cell towers. tags: - CellLocation x-soracom-cli: - cell-locations batch-get tags: - description: '[Cell tower location information](/en/docs/air/get-location-info/#get-cell-tower-location-information)' name: CellLocation - description: '[Soracom Air for Cellular](/en/docs/air/) SIM information, operations, and cancellation (New API equivalent to Subscriber but supports subscription containers) ' name: Sim - description: '[eSIM profiles](/en/docs/air/provision-esim/)' name: SimProfileOrder - description: '[Soracom Air for Cellular](/en/docs/air/) SIM information, operations, and cancellation' name: Subscriber components: schemas: ImeiLock: description: IMEI lock configuration. properties: imei: description: IMEI of the target device type: string type: object LocationRegistrationStatus: properties: cs: $ref: '#/components/schemas/LocationRegistrationStatusForNetwork' description: Information on location registration to the CS network eps: $ref: '#/components/schemas/LocationRegistrationStatusForNetwork' description: Information on location registration to the EPS network ps: $ref: '#/components/schemas/LocationRegistrationStatusForNetwork' description: Information on location registration to the PS network type: object SimplifiedSubscriber: properties: bundles: items: type: string type: array capabilities: $ref: '#/components/schemas/Capabilities' imsi: description: IMSI type: string msisdn: type: string status: description: 'Status of the IoT SIM (primary subscription of the IoT SIM) or status of the additional subscription. For primary subscriptions, it refers to the status of the IoT SIM. - `ready` - `active` - `inactive` - `standby` - `suspended` - `terminated` For additional subscriptions, it refers to the status of the additional subscription. - `shipped`: OTA is ready or in progress (first half). - `delivered`: OTA is in progress (second half). - `ready`: OTA is complete. - `active`: A connection via the additional subscription has been confirmed. This does not refer to the status of the IoT SIM. - `terminated` The status of the virtual SIM/subscriber is either `active` or `terminated`. ' enum: - shipped - delivered - ready - active - terminated type: string subscription: type: string type: object SimDownlinkHttpRequest: properties: body: description: 'HTTP request body. **Warning**: The maximum size of an HTTP request, including the URL, headers, and body, is 5 MiB. If it exceeds 5 MiB, an error will be returned. ' type: string x-soracom-cli-param-name: request-body headers: additionalProperties: type: string description: HTTP request headers. Specify header names and values as key-value pairs. type: object host: description: Hostname. If not specified, the IP address of the IoT SIM will be used. type: string method: description: HTTP method. enum: - GET - HEAD - POST - PUT - DELETE - PATCH - OPTIONS - TRACE type: string path: description: 'URL path (e.g., `/path/to/resource`). ' type: string port: default: 80 description: Port number for the HTTP connection. maximum: 65535 minimum: 1 type: integer skipVerify: default: false description: 'Whether to skip SSL certificate verification for HTTPS connections. - `true`: Skip verification. - `false`: Perform verification. However, if `ssl` is `false` (not using SSL communication), this setting will be ignored. ' type: boolean ssl: default: false description: 'Whether to use SSL communication. - `true`: Use SSL communication (HTTPS). - `false`: Do not use SSL communication (HTTP). ' type: boolean type: object SimDownlinkTcpConnectionWaitAllOptions: description: 'Establishes a TCP connection with the device and sends the specified data, then waits for data reception from the device. Then, returns the data received during the time specified by `timeout` or until the device disconnects the TCP connection as the API response. - If no data is received from the device, after the time specified by `timeout` elapses, the TCP connection is terminated and an error is returned. ' properties: type: enum: - wait_all type: string type: object TagUpdateRequest: properties: tagName: type: string tagValue: type: string required: - tagName - tagValue type: object SessionStatus: description: Information about the current session. properties: cell: $ref: '#/components/schemas/Cell' dnsServers: description: Array of IP address of the DNS servers. items: type: string type: array gatewayPrivateIpAddress: description: The private IP address of the VPG. In the case of VPG Type-F, the source IP address of the closed network communication from the IoT SIM to the customer's system is NAT-ed to this IP address. type: string gatewayPublicIpAddress: description: The fixed global IP address when using the VPG [Fixed Global IP Address Option](/en/docs/vpg/fixed-global-ip/). type: string imei: description: The IMEI of the device using the IoT SIM. If using a virtual SIM/subscriber, this will be `null`. type: string imsi: description: The IMSI of the IoT SIM. type: string lastUpdatedAt: format: int64 type: integer location: type: object online: description: 'Session status. - `true`: online - `false`: offline ' type: boolean placement: $ref: '#/components/schemas/Placement' sessionId: description: The session ID. type: string subscription: description: The subscription. type: string ueIpAddress: description: The IP address of the device. type: string vpgId: description: The VPG ID. If the VPG was not used, this will not be output. type: string type: object SimDownlinkTcpRequest: properties: connectionOptions: default: type: wait_all description: Options that specify the behavior of data reception during TCP connection (how the SORACOM API handles responses from the device). Choose one of the following. oneOf: - $ref: '#/components/schemas/SimDownlinkTcpConnectionFireAndForgetOptions' - $ref: '#/components/schemas/SimDownlinkTcpConnectionWaitFirstOptions' - $ref: '#/components/schemas/SimDownlinkTcpConnectionWaitAllOptions' - $ref: '#/components/schemas/SimDownlinkTcpConnectionWaitForPatternOptions' - $ref: '#/components/schemas/SimDownlinkTcpConnectionIdleTimeoutOptions' payload: description: Data to be sent, encoded as a string in the format specified by payloadEncoding. The maximum size is 5 MiB for the encoded string. type: string payloadEncoding: $ref: '#/components/schemas/SimDownlinkBinaryEncoding' description: 'Encoding format for the data to be sent. Specify one of the following. The default is `string`. - `string`: Treated as a UTF-8 string. - `base64`: Base64 encoding. - `hex`: Hexadecimal encoding. Case insensitive. ' port: description: Port number for the TCP connection. maximum: 65535 minimum: 1 type: integer timeout: default: 30 description: Timeout duration (seconds) for data transmission and reception. The default value is `30` and the maximum value is `300`. maximum: 300 minimum: 1 type: integer required: - port - payload type: object SimDownlinkSshNoAuthentication: description: 'Configuration for SSH connection with no authentication (`"type": "none"`). ' properties: type: enum: - none type: string type: object CellIdentifier: properties: cid: type: string eci: type: string ecid: type: string identifier: description: An identifier to link a request to the result of that request. Optional. type: string lac: type: string mcc: type: string mnc: type: string tac: type: string type: object Sim: properties: activeProfileId: type: string arcSessionStatus: $ref: '#/components/schemas/ArcSessionStatus' capabilities: $ref: '#/components/schemas/Capabilities' createdTime: description: UNIX time (in milliseconds) that the IoT SIM (primary subscription to the IoT SIM) was created. format: int64 type: integer expiryAction: description: 'Action when expiration date expires. Please refer to [Soracom Air Expiration Function](/en/docs/air/expiration/) for more detail. - `doNothing` : do nothing - `deleteSession` : delete session of the SIM if any - `deactivate` : change the SIM status to Inactive - `suspend` : change the SIM status to Suspended - `terminate` : forcibly end any existing connections, and terminate the SIM - `null`: No expiration date set. ' enum: - doNothing - deleteSession - deactivate - suspend - terminate - (null value) type: string expiryTime: description: IoT SIM expiration date (UNIX time in milliseconds). format: int64 type: integer groupId: description: The SIM group ID where the SIM belongs to. type: string imeiLock: $ref: '#/components/schemas/ImeiLock' lastModifiedTime: description: UNIX time (in milliseconds) that the information in the IoT SIM (primary subscription to the IoT SIM) was changed format: int64 type: integer lastPortMappingCreatedTime: description: UNIX time in milliseconds that Napter was used with the SIM. If Napter has never been used with the SIM, null is returned. format: int64 type: integer localInfo: $ref: '#/components/schemas/Map' moduleType: description: 'The form factor of the physical SIM. - `mini`: standard (2FF) size. - `micro`: micro (3FF) size. - `nano`: nano (4FF) size. - `trio`: 3 in 1 (can be cut into 2FF/3FF/4FF depending on how you cut it). - `embedded`: Embedded (MFF2). - `virtual`: Virtual SIM/Subscriber. - `integrated`: Embedded (iSIM). - `profilePackage`: Profile Package (eSIM profile). ' enum: - mini - micro - nano - trio - embedded - virtual - integrated - profilePackage type: string operatorId: description: The ID of the operator who owns this SIM. type: string otaSerialNumber: type: string pcapEndTime: format: int64 type: integer pcapStartTime: format: int64 type: integer previousSession: $ref: '#/components/schemas/PreviousSessionStatus' profiles: additionalProperties: $ref: '#/components/schemas/SimProfile' type: object renewalFeeStatusSetTime: description: UNIX time (in milliseconds) that the IoT SIM status is either "ready", "standby", or "suspended". format: int64 type: integer serialNumber: description: The serial number of the SIM. Virtual SIM/Subscriber does not have a serial number. type: string sessionStatus: $ref: '#/components/schemas/SessionStatus' simId: description: The SIM ID of the SIM. type: string speedClass: description: The speed class of the SIM. type: string status: description: 'Status of the IoT SIM (primary subscription of the IoT SIM). The status of the virtual SIM/subscriber added to the IoT SIM is either `active` or `terminated`. - `ready` - `active` - `inactive` - `standby` - `suspended` - `terminated` ' enum: - ready - active - inactive - standby - suspended - terminated type: string tags: $ref: '#/components/schemas/TagSet' terminationEnabled: description: 'Value indicating whether the IoT SIM can be terminated (termination protection setting). - `true`: Can be terminated (termination protection OFF) - `false`: Cannot be terminated (termination protection ON) ' type: boolean testmodeExhaustedTime: description: UNIX time (in milliseconds) when the SIM exceeded the testing usage limit. format: int64 type: integer type: description: 'IoT SIM Type - `euicc`: Chip type (eSIM) - `uicc`: Card type - `virtual`: Virtual SIM/Subscriber ' enum: - euicc - uicc - virtual type: string type: object ArcCredentialAttachRequest: properties: arcClientPeerPublicKey: description: If this parameter is missing, the server generates a keypair. type: string type: object IssueSubscriberTransferTokenRequest: properties: transferDestinationOperatorEmail: description: Primary email address of the destination operator. Please confirm with the owner of the destination operator. type: string transferDestinationOperatorId: description: Operator ID of the destination operator. Please confirm with the owner of the destination operator. type: string transferImsi: description: 'IMSI of the SIM to be transferred. The IMSI can be obtained from the [Sim:listSims API](#!/Sim/listSims). If there is a possibility of canceling SIMs one by one, please specify only one IMSI. ' items: type: string type: array required: - transferDestinationOperatorEmail - transferDestinationOperatorId - transferImsi type: object ArcCredentialRenewResponse: properties: arcClientPeerPrivateKey: type: string arcClientPeerPublicKey: type: string type: object PacketCaptureSession: properties: createdTime: format: date-time type: string duration: format: int32 type: integer endedTime: format: date-time type: string failedReason: type: string prefix: type: string sessionId: type: string startedTime: format: date-time type: string status: enum: - REQUESTED - ACCEPTED - CAPTURING - POST_PROCESSING - DONE - FAILED - STOPPED type: string url: format: uri type: string type: object UpdateSpeedClassRequest: properties: speedClass: description: "Speed class. Specify one of the following. Please specify the speed class that matches the subscription.\n\ \n- For plan01s, plan01s - Low Data Volume, planX3 (X3-5MB), planP1, plan-D (without bundle), plan-D (D-300MB),\ \ plan-K2 (K2-300MB), plan-K:\n - `s1.minimum`\n - `s1.slow`\n - `s1.standard`\n - `s1.fast`\n \ \ - `s1.4xfast`\n- For plan-US:\n - `s1.minimum`\n - `s1.slow`\n - `s1.standard`\n - `s1.fast`\n \ \ - `s1.4xfast`\n - `s1.8xfast`\n- For plan-DU:\n - `u1.standard`\n - `u1.slow`\n\n**Warning**: Speed\ \ class for plan-KM1 and virtual SIM/Subscriber cannot be changed as there is only one speed class available.\n" enum: - s1.minimum - s1.slow - s1.standard - s1.fast - s1.4xfast - s1.8xfast - u1.standard - u1.slow type: string required: - speedClass type: object SimDownlinkTcpConnectionIdleTimeoutOptions: description: "Establishes a TCP connection with the device and sends the specified data, then waits for data reception\ \ from the device. After data reception begins, if no data is received for the time specified by `idleTimeout`, returns\ \ the data received up to that point as the API response.\n\n- In the following cases, an API response indicating\ \ an error is returned:\n - If no data is received from the device.\n \n After the time specified by\ \ `timeout` elapses, the TCP connection is terminated and an error is returned.\n - If the device disconnects the\ \ TCP connection before sending any data.\n" properties: idleTimeout: description: Time to wait (seconds) after receiving the last data from the device. type: integer type: enum: - idle_timeout type: string required: - idleTimeout type: object SimDownlinkSshPasswordAuthentication: description: 'Configuration for SSH connection using password authentication (`"type": "password"`). Specify either `password` or `passwordCredentialsId`. ' properties: password: description: Password for the SSH connection. Ignored if `passwordCredentialsId` is specified. type: string passwordCredentialsId: description: 'Soracom credential set ID where the authentication credentials are registered. - **Type**: Select "Pre-Shared key". - **Pre-Shared Key**: Enter the password for the SSH connection. ' type: string type: enum: - password type: string type: object ArcCredentialAttachResponse: properties: arcClientPeerPrivateKey: type: string arcClientPeerPublicKey: type: string type: object VerifySubscriberTransferTokenRequest: properties: token: description: Transfer token. When a transfer token is issued using the [Subscriber:issueSubscriberTransferToken API](#!/Subscriber/issueSubscriberTransferToken), it is sent to the primary email address of the destination operator. type: string required: - token type: object SimDownlinkRtspAuthenticationBasic: description: Configuration for RTSP connection with basic authentication using username and password. properties: password: description: Password for RTSP connection. If `passwordCredentialsId` is specified, this field is ignored. type: string passwordCredentialsId: description: 'Soracom credential set ID where the authentication credentials are registered. - **Type**: Select "Pre-Shared key". - **Pre-Shared Key**: Enter the password for the RTSP connection. ' type: string type: enum: - basic type: string username: description: Username for RTSP connection. type: string required: - type - username type: object OrderedSimProfileResponse: description: Represents an eSIM profile ordered. properties: activationCode: description: The Activation code of the eSIM profile. This value will be used to install the profile on the device. example: LPA:1$example.com$ABCDEFGHIJKLMNOPQRSTUVWXYZ type: string createdTime: description: The time the eSIM profile was created (unix time in milliseconds). example: 1718756585000 format: int64 type: integer iccid: description: The ICCID of the eSIM profile. example: '12345678901234567890' type: string imsi: description: The IMSI of the eSIM profile. example: 123456789012345 type: string installedTime: description: The time the eSIM profile was installed (unix time in milliseconds). example: 1718756585000 format: int64 type: integer lastModifiedTime: description: The time the eSIM profile was last modified (unix time in milliseconds). example: 1718756585000 format: int64 type: integer matchingId: description: The Matching ID of the eSIM profile. This value will be used to install the profile on the device. example: ABCDEFGHIJKLMNOPQRSTUVWXYZ type: string profileOrderId: description: The ID of the eSIM profile order associated with this eSIM profile. example: 01902ddd-1cf3-77d9-afc0-fe8d410cadb1 type: string profileStatus: description: 'The status of the eSIM profile. - `SUBSCRIBER_REGISTRATION_SUCCEEDED`: The IoT SIM corresponding to the eSIM profile has been registered to your Soracom operator account - `INSTALLATION_SUCCEEDED`: The eSIM profile has been installed on the device - `INSTALLATION_FAILED`: The eSIM profile could not be installed on the device - `ACTIVATION_SUCCEEDED`: The eSIM profile has been activated on the device - `ACTIVATION_FAILED`: The eSIM profile could not be activated on the device - `INACTIVATION_SUCCEEDED`: The eSIM profile has been deactivated on the device - `INACTIVATION_FAILED`: The eSIM profile could not be deactivated on the device - `DELETION_SUCCEEDED`: The eSIM profile has been deleted from the device - `DELETION_FAILED`: The eSIM profile could not be deleted from the device ' enum: - SUBSCRIBER_REGISTRATION_SUCCEEDED - INSTALLATION_SUCCEEDED - INSTALLATION_FAILED - ACTIVATION_SUCCEEDED - ACTIVATION_FAILED - INACTIVATION_SUCCEEDED - INACTIVATION_FAILED - DELETION_SUCCEEDED - DELETION_FAILED example: DELETION_SUCCEEDED type: string smdpAddress: description: The SM-DP+ address of the eSIM profile. This value will be used to install the profile on the device. example: example.com type: string subscription: description: 'The subscription of the eSIM profile. - `plan01s` - `planP1` - `planX1` - `planX2` - `planX3` - `plan-US` ' example: plan01s type: string required: - profileOrderId - iccid - imsi - matchingId - smdpAddress - activationCode - profileStatus - createdTime - lastModifiedTime type: object TagSet: additionalProperties: type: string description: An object which always contains at least one property "name" with a string value. If you give a subscriber/SIM a name, the name will be returned as the value of the "name" property. If the subscriber/SIM does not have a name, an empty string "" is returned. In addition, if you create any custom tags for the subscriber/SIM, each custom tag will appear as additional properties in the object. example: tagName1: tagValue1 tagName2: tagValue2... type: object Cell: description: Information about the base station to which the IoT SIM is connected. It will not be output for virtual SIM/subscribers. properties: ci: description: The Cell Identity (for 2G and 3G networks), a 16 bit value represented in decimal form as an integer. (See 3GPP TS 23.003 4.3) type: integer eci: description: The E-UTRAN Cell Identifier (for LTE networks), a 28 bit value represented in decimal form as a long. (See 3GPP TS 23.003 19.6) type: integer lac: description: The Location Area Code (for 2G and 3G networks), a 16 bit value represented in decimal form as an integer. (See 3GPP TS 23.003 4.1) type: integer mcc: description: The Mobile Country Code, a 3 digit number. type: integer mnc: description: The Mobile Network Code, a 2 or 3 digit number. If the value returned is only 1 digit in length, then you should prepend the value with a leading zero. type: integer rac: description: The Routing Area Code (for 2G and 3G networks), an 8 bit value represented in decimal form as an integer. (See 3GPP TS 23.003 4.2) type: integer radioType: description: "The Radio Access Technology or type of network that the device is connected to. \n\n**Warning**: In\ \ some cases, the information displayed may differ from the actual wireless access technology or type of network\ \ being used by the communication carrier's equipment. For example, even when connected to LTE-M, it may be displayed\ \ as LTE.\n" enum: - 3G - GSM - LTE - LTE-M - NB-IoT type: string sac: description: The Service Area Code (for 2G and 3G networks), a 16 bit value represented in decimal form as an integer. (See 3GPP TS 23.003 12.5) type: integer tac: description: The Tracking Area Code (for LTE networks), a 16 bit value represented in decimal form as an integer. (See 3GPP TS 23.003 19.4.2.3) type: integer type: object SimDownlinkTcpConnectionWaitFirstOptions: description: "Establishes a TCP connection with the device and sends the specified data. Then, as soon as the first\ \ data from the device is received, the TCP connection is terminated and the API response is returned.\n\n- Data received\ \ from the device is not included in the API response.\n- Even if the device continues sending data, the TCP connection\ \ is disconnected immediately after receiving the first data.\n- In the following cases, an API response indicating\ \ an error is returned:\n - If no data is received from the device.\n \n After the time specified by\ \ `timeout` elapses, the TCP connection is terminated and an error is returned.\n - If the device disconnects the\ \ TCP connection before sending any data.\n" properties: type: enum: - wait_first type: string type: object ArcSessionStatus: properties: arcAllowedIPs: description: Displays the WireGuard AllowedIPs received from the Arc server. items: type: string type: array arcClientPeerIpAddress: description: IP address of the client. type: string arcClientPeerPublicKey: type: string arcServerEndpoint: description: WireGuard protocol endpoints on the Arc server. type: string arcServerPeerPublicKey: description: Server peer public key for the Arc server. type: string gatewayPrivateIpAddress: description: The private IP address of the VPG. In the case of VPG Type-F, the source IP address of the closed network communication from the IoT SIM to the customer's system is NAT-ed to this IP address. type: string gatewayPublicIpAddress: description: The fixed global IP address when using the VPG [Fixed Global IP Address Option](/en/docs/vpg/fixed-global-ip/). type: string lastUpdatedAt: format: int64 type: integer placement: $ref: '#/components/schemas/Placement' vpgId: description: The VPG ID. If the VPG was not used, this will not be output. type: string type: object SimDownlinkTcpResponse: description: Response for the TCP connection properties: data: description: Data received, encoded as a string in the format specified by dataEncoding. The maximum size is 5 MiB for the encoded string. type: string dataEncoding: $ref: '#/components/schemas/SimDownlinkBinaryEncoding' description: Encoding format for the received data. required: - data type: object DownlinkPingRequest: properties: numberOfPingRequests: default: 1 description: The number of attempt ping. maximum: 5 type: integer timeoutSeconds: default: 1 description: The timeout duration of each ping. maximum: 3 type: integer type: object SetGroupRequest: properties: groupId: description: Group ID. The group ID can be obtained using the [Group:listGroups API](#!/Group/listGroups). type: string type: object TestingUsage: properties: endedTime: description: 'Date and time when the "testing" status ended (UNIX time in milliseconds). This value is set when the predefined conditions are met, or when the SIM status is changed via the Soracom User Console or APIs such as [Sim:activateSim](#/Sim/activateSim). Omitted if the SIM is still in the "testing" status. ' format: int64 type: integer startedTime: description: Date and time when the IoT SIM status changed to "testing" (UNIX time in milliseconds). format: int64 type: integer usage: description: Data usage and number of SMS sent/received while in testing status. properties: dataBytes: description: Amount of data usage. format: int64 type: integer numberOfSms: description: Number of SMS sent/received. format: int64 type: integer required: - dataBytes - numberOfSms type: object usageLimit: description: Configuration of the testing status. If any of the thresholds (`days`, `dataBytes`, or `numberOfSms`) are exceeded, the IoT SIM status will automatically change to `nextStatus` after `statusTransitionDelayDays` days. properties: dataBytes: description: Amount of data usage exempt from charges during testing status. format: int64 type: integer days: description: Number of days during which usage charges are waived while in testing status. format: int32 type: integer nextStatus: description: IoT SIM status to automatically switch to once any testing limit is exceeded. enum: - active - standby - suspended type: string numberOfSms: description: Number of SMS sent/received exempt from charges during testing status. format: int64 type: integer statusTransitionDelayDays: description: Number of days to delay automatic status change after any limit is exceeded. format: int32 type: integer required: - days - dataBytes - numberOfSms - nextStatus type: object required: - startedTime - usageLimits type: object SimDownlinkTcpConnectionWaitForPatternOptions: description: "Establishes a TCP connection with the device and sends the specified data, then waits for data reception\ \ from the device. Then, returns the data received until \"the byte pattern specified by `terminationPattern` is received\"\ \ as the API response.\n\n- In the following cases, an API response indicating an error is returned:\n - If no\ \ data is received from the device.\n \n After the time specified by `timeout` elapses, the TCP connection\ \ is terminated and an error is returned.\n - If data matching the pattern is not received within the time specified\ \ by `timeout`.\n" properties: terminationPattern: description: The sequence of bytes that ends data reception, encoded as a UTF-8 string in the format specified by `terminationPatternEncoding`. type: string terminationPatternEncoding: $ref: '#/components/schemas/SimDownlinkBinaryEncoding' description: The encoding method for the byte sequence that ends data reception. The default is `base64`. type: enum: - wait_for_pattern type: string required: - terminationPattern type: object SimDownlinkHttpResponse: properties: body: description: 'HTTP response body from the device. - If it is a valid UTF-8 string, it will be returned as-is. - Otherwise, it will be Base64 encoded. In this case, `isBase64Encoded` will be `true`. ' type: string headers: additionalProperties: type: string description: HTTP response headers from the device. type: object isBase64Encoded: description: 'Indicates whether the `body` value is Base64 encoded. ' type: boolean statusCode: description: HTTP status code from the device. type: integer required: - statusCode type: object APICallErrorMessage: properties: code: description: Error code. type: string message: description: Error message. You can select the output language for error messages by setting the language (en, ja) in the X-Soracom-Lang header at request time. type: string required: - code - message type: object PacketCaptureSessionRequest: properties: duration: format: int32 maximum: 86400 minimum: 30 type: integer prefix: pattern: ^[0-9A-Za-z_\-]{0,100}$ type: string required: - duration type: object SimDownlinkBinaryEncoding: default: string description: Encoding format for binary data. "string" is treated as a UTF-8 string. "base64" is Base64 encoding, and "hex" is hexadecimal encoding. Case insensitive for hex. enum: - string - base64 - hex type: string SimProfile: properties: arcClientPeerPrivateKey: description: 'The client''s PrivateKey (client peer private key) for connecting with WireGuard. - PrivateKey (client peer private key) cannot be redisplayed. If you have lost your private key, generate a new key and update the device credentials. - Never disclose connection information to outside parties. ' type: string arcClientPeerPublicKey: type: string iccid: type: string otaSupported: type: boolean primaryImsi: type: string subscribers: additionalProperties: $ref: '#/components/schemas/SimplifiedSubscriber' type: object type: object LocationRegistrationStatusForNetwork: properties: lastModifiedTime: description: Timestamp of the last successful network registration (Unix time in milliseconds) format: int64 type: integer vplmn: description: PLMN ID of the visited network. type: string type: object SessionEvent: properties: apn: description: The Access Point Name configured. type: string cell: $ref: '#/components/schemas/Cell' createdTime: type: string dns0: description: First IP address of DNS servers. type: string dns1: description: Second IP address of DNS servers. type: string event: description: 'The type of session event. It is one of the following: - `Created`: The session has been established. - `Modified`: The session update (handover) was notified by the base station due to reasons such as device movement or changes in radio wave strength. - `Deleted`: The session has been disconnected. In the case of `Created` or `Modified`, it indicates that the session state is online. In the case of `Deleted`, it indicates that the session state is offline. For the meaning of a session, refer to [State (Online/Offline)](/en-us/resources/glossary/session/#state-online-offline). ' type: string gatewayPrivateIpAddress: description: The private IP address of the VPG. In the case of VPG Type-F, the source IP address of the closed network communication from the IoT SIM to the customer's system is NAT-ed to this IP address. type: string gatewayPublicIpAddress: description: The fixed global IP address when using the VPG [Fixed Global IP Address Option](/en/docs/vpg/fixed-global-ip/). type: string imei: description: The IMEI of the device using the IoT SIM. If using a virtual SIM/subscriber, this will be `null`. type: string imsi: description: The IMSI of the IoT SIM. type: string operatorId: description: The operator ID of the session event. type: string sessionId: description: The session ID. type: string simId: type: string subscription: description: The subscription. type: string time: description: The timestamp of the session event. format: int64 type: integer ueIpAddress: description: The IP address of the device. type: string vpgId: description: The VPG ID. If the VPG was not used, this will not be output. type: string type: object Placement: properties: infrastructureProvider: enum: - aws type: string region: description: 'If `infrastructureProvider` is `aws`, it indicates the rendezvous point. - `ap-northeast-1`: Tokyo (Japan). The default for Japan coverage. - `eu-central-1`: Frankfurt (Germany). The default for Global coverage. - `us-west-2`: Oregon (USA). - `ap-southeast-2`: Sydney (Australia). ' enum: - ap-northeast-1 - eu-central-1 - us-west-2 - ap-southeast-2 type: string type: object RegisterSubscribersRequest: properties: groupId: type: string registrationSecret: description: PUK or PASSCODE for SIM. type: string tags: $ref: '#/components/schemas/TagSet' required: - registrationSecret type: object CreateSimRequest: properties: subscription: description: To create a virtual SIM/Subscriber, specify `planArc01`. enum: - planArc01 type: string type: description: To create a virtual SIM/Subscriber, specify `virtual`. enum: - virtual type: string required: - type - subscription type: object SimDownlinkSshResponse: properties: exitcode: description: The exit code of the command. type: integer isStderrBase64Encoded: description: 'Indicates whether the `stderr` value is Base64 encoded. ' type: boolean isStdoutBase64Encoded: description: 'Indicates whether the `stdout` value is Base64 encoded. ' type: boolean stderr: description: 'The standard error output of the command. - If it is a valid UTF-8 string, it will be returned as-is. - Otherwise, it will be Base64 encoded. In this case, `isStderrBase64Encoded` will be `true`. ' type: string stdout: description: 'The standard output of the command. - If it is a valid UTF-8 string, it will be returned as-is. - Otherwise, it will be Base64 encoded. In this case, `isStdoutBase64Encoded` will be `true`. ' type: string required: - exitcode type: object CellLocation: properties: avg_strength: description: Average signal strength from all observations for the cell network. This is an integer value, in dBm. format: int32 type: integer created: description: Timestamp of the time (UTC) when this record was first created. format: date-time type: string exact: description: Whether or not this cell is a position estimate based on observations subject to change in the future (`0`) or an exact location entered from a knowledgeable source (`1`). format: int32 type: integer identifier: description: Unique identifier that is assigned by the client requesting cell locations, and is included as-is in the response. type: string lat: description: Latitude. format: double type: number lon: description: Longitude. format: double type: number range: description: Estimate of radio range (radius from the estimated coordinates. In meters). This is an estimate on how large each cell area is, as a radius around the estimated position and is based on the observations or a knowledgeable source. format: int32 type: integer samples: description: Total number of observations used to calculate the estimated position, range and avg_strength. format: int32 type: integer updated: description: Timestamp of the time (UTC) when this record was most recently modified. format: date-time type: string type: object ArcCredentialRenewRequest: properties: arcClientPeerPublicKey: description: Public key of the Arc client to be granted to the SIM. If this parameter is missing, the server generates a key pair. type: string type: object SimDownlinkRtspSnapshotImageResponse: description: "Response containing the snapshot image taken from the RTSP stream when the `command` is `snapshot`. The\ \ image is Base64-encoded.\n \n" format: binary type: string VerifySubscriberTransferTokenResponse: properties: transferredImsi: description: List of IMSIs of the SIM which were transferred. items: type: string type: array required: - transferredImsi type: object SubscriptionContainerStatus: properties: containers: items: $ref: '#/components/schemas/SubscriptionContainer' type: array countryMapping: additionalProperties: properties: mappingRecord: properties: containerId: format: int64 type: integer subscription: type: string type: object plmnCode: type: string type: object type: object type: object SimDownlinkRtspAuthenticationNone: description: Configuration for RTSP connection with no authentication properties: type: enum: - none type: string required: - type type: object Map: additionalProperties: type: string type: object SimDownlinkRtspCommandSnapshot: description: Request to take a snapshot of the RTSP stream. enum: - snapshot type: string CreateSimProfileOrderRequest: description: Represents a request to place a eSIM profile order without confirming it. properties: bundles: description: "Bundles of the eSIM profile to be ordered. Specify one of the following. Please specify the bundle\ \ that matches the subscription.\n\n- For planX3:\n - `X3-5MB`\n- For plan-US:\n - `US-1MB`\n - `US-3MB`\n\ \ - `US-10MB`\n - `US-20MB`\n - `US-50MB`\n - `US-100MB`\n - `US-300MB`\n - `US-500MB`\n \ \ - `US-1GB`\n - `US-3GB`\n - `US-5GB`\n - `US-10GB`\n" items: enum: - X3-5MB - US-1MB - US-3MB - US-10MB - US-20MB - US-50MB - US-100MB - US-300MB - US-500MB - US-1GB - US-3GB - US-5GB - US-10GB type: string maxItems: 1 type: array description: description: The description of the order. You can use this to identify the order in the order history. example: This is a test order maxLength: 100 type: string quantity: description: 'The quantity of the eSIM profile to be ordered. **Info**: A maximum of 20 eSIM profiles may be purchased per order. If you would like to purchase more, please [contact us](https://www.soracom.io/contact/). ' example: 10 format: int32 maximum: 100 minimum: 1 type: integer speedClass: description: "The speed class of the eSIM profile to be ordered. Specify one of the following. Please specify the\ \ speed class that matches the subscription.\n\n- For plan01s, planP1, planX1, planX2, planX3:\n - `s1.minimum`\n\ \ - `s1.slow`\n - `s1.standard`\n - `s1.fast`\n - `s1.4xfast`\n- For plan-US:\n - `s1.minimum`\n\ \ - `s1.slow`\n - `s1.standard`\n - `s1.fast`\n - `s1.4xfast`\n - `s1.8xfast`" enum: - s1.minimum - s1.slow - s1.standard - s1.fast - s1.4xfast - s1.8xfast example: s1.4xfast type: string subscription: description: 'The subscription of the eSIM profile to be ordered. - `plan01s` - `planP1` - `planX1` - `planX2` - `planX3`: Only available for customers located in the European Union and United Kingdom. - `plan-US`: Only available for customers located in in the United States and Canada. ' example: plan01s type: string required: - subscription - quantity type: object DataEntry: properties: category: type: string content: type: string contentType: type: string resourceId: type: string resourceType: enum: - Subscriber - LoraDevice - Sim - SigfoxDevice - Device - SoraCam type: string time: format: int64 type: integer type: object SimDownlinkTcpConnectionFireAndForgetOptions: description: 'Establishes a TCP connection with the device and attempts to send specified data, then returns the API response. - Does not wait for data reception from the device. - Even if the device cannot be reached over the network or data transmission to the device is confirmed, this API will still return a successful response. ' properties: type: enum: - fire_and_forget type: string type: object SimStatusHistoryResponse: properties: applyDateTimeEpochSec: type: integer bundles: items: type: string type: array groupId: type: string imsi: type: string isPrimary: type: boolean primaryImsi: type: string simId: type: string speedClass: type: string status: type: string subscription: type: string type: object IssueSubscriberTransferTokenResponse: properties: token: description: Transfer token. example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx type: string required: - token type: object ExpiryTime: properties: expiryAction: description: 'Action at expiration. Specify one of the following Please refer to [Soracom Air Expiration Function](https://developers.soracom.io/en/docs/air/expiration/) for more detail. You have to disable termination protection if you want to specify `terminate` as an action. If omitted, a null value is set. - `doNothing` : do nothing - `deleteSession` : delete session of the SIM if any - `deactivate` : change the SIM status to Inactive - `suspend` : change the SIM status to Suspended - `terminate` : forcibly end any existing connections, and terminate the SIM - null value : not set (It works the same as `doNothing`) ' enum: - doNothing - deleteSession - deactivate - suspend - terminate - (null value) nullable: true type: string expiryTime: description: Timestamp of date and time set using the Expiration function (UNIX time in milliseconds) format: int64 type: integer required: - expiryTime type: object Capabilities: properties: data: description: 'Data communication support. - `true`: with data. - `false`: without data. ' type: boolean sms: description: 'SMS support. - `true`: with SMS. - `false`: without SMS. ' type: boolean type: object SimDownlinkRtspCommandSnapshotOptions: properties: destinations: description: 'Storage destination for the snapshot image. ' properties: harvestFiles: $ref: '#/components/schemas/SimDownlinkRtspCommandSnapshotHarvestFilesDestinationOptions' description: 'Storage destination for the snapshot image in SORACOM Harvest Files. ' type: object type: object SimDownlinkRtspRequest: properties: authentication: description: 'Authentication method for RTSP connection. Specify one of the following for `type`, and provide the required information according to the authentication method. - `none`: No authentication. - `basic`: Basic authentication. If not specified, the default is `none`. ' oneOf: - $ref: '#/components/schemas/SimDownlinkRtspAuthenticationBasic' - $ref: '#/components/schemas/SimDownlinkRtspAuthenticationNone' command: description: RTSP request configuration. Specify the RTSP command to be executed and the options for the RTSP connection. oneOf: - $ref: '#/components/schemas/SimDownlinkRtspCommandSnapshot' options: oneOf: - $ref: '#/components/schemas/SimDownlinkRtspCommandSnapshotOptions' path: description: Path of RTSP stream started with `/` type: string port: default: 554 description: Port number for the RTSP connection. maximum: 65535 minimum: 1 type: integer required: - command type: object Subscriber: properties: apn: description: The APN (Access Point Name) configured. type: string bundles: items: type: string type: array createdAt: description: UNIX time (in milliseconds) when this subscription was created. For example, for a secondary subscription, it is the UNIX time (in milliseconds) that the secondary subscription was created. format: int64 type: integer createdTime: description: UNIX time (in milliseconds) when this subscription was created. For example, for a secondary subscription, it is the UNIX time (in milliseconds) that the secondary subscription was created. format: int64 type: integer expiredAt: description: IoT SIM expiration date (UNIX time in milliseconds) format: int64 type: integer expiryAction: description: 'Action when expiration date expires. Please refer to [Soracom Air Expiration Function](/en/docs/air/expiration/) for more detail. - `doNothing` : do nothing - `deleteSession` : delete session of the SIM if any - `deactivate` : change the SIM status to Inactive - `suspend` : change the SIM status to Suspended - `terminate` : forcibly end any existing connections, and terminate the SIM - `null`: No expiration date set. ' enum: - doNothing - deleteSession - deactivate - suspend - terminate - (null value) type: string expiryTime: description: IoT SIM expiration date (UNIX time in milliseconds). format: int64 type: integer groupId: description: The SIM group ID where the SIM belongs to. type: string iccid: description: The ICCID of the SIM. type: string imeiLock: $ref: '#/components/schemas/ImeiLock' imsi: description: The IMSI of the SIM. type: string ipAddress: type: string lastModifiedAt: description: UNIX time in milliseconds that the IoT SIM information was changed format: int64 type: integer lastModifiedTime: description: UNIX time in milliseconds that the IoT SIM information was changed format: int64 type: integer lastPortMappingCreatedTime: description: UNIX time in milliseconds that Napter was used with the SIM. If Napter has never been used with the SIM, null is returned. format: int64 type: integer locationRegistrationStatus: $ref: '#/components/schemas/LocationRegistrationStatus' description: Network registration status for each network. moduleType: description: 'The form factor of the physical SIM. - `mini`: standard (2FF) size. - `micro`: micro (3FF) size. - `nano`: nano (4FF) size. - `trio`: 3 in 1 (can be cut into 2FF/3FF/4FF depending on how you cut it). - `embedded`: Embedded (MFF2). - `virtual`: Virtual SIM/Subscriber. - `integrated`: Embedded (iSIM). - `profilePackage`: Profile Package (eSIM profile). - `null`: null for secondary subscriptions. ' enum: - mini - micro - nano - trio - embedded - virtual - integrated - profilePackage - (null value) type: string msisdn: description: The MSISDN of the SIM. type: string operatorId: description: The ID of the operator who owns this SIM. type: string packetCaptureSessions: items: type: object type: array plan: description: 'Whether or not the subscription supports SMS functionality. - `0`: SMS not supported. - `1`: SMS supported. ' type: integer previousSession: $ref: '#/components/schemas/PreviousSessionStatus' registeredTime: description: UNIX time (in milliseconds) that the IoT SIM was manually registered to the operator. When purchasing SIMs directly through the User Console, SIMs will automatically be registered to your account, the field is not present. format: int64 type: integer renewalFeeStatusSetTime: description: UNIX time (in milliseconds) that the IoT SIM status is either "ready", "standby", or "suspended". format: int64 type: integer serialNumber: description: The serial number of the SIM. Virtual SIM/Subscriber does not have a serial number. type: string sessionStatus: $ref: '#/components/schemas/SessionStatus' simId: description: The SIM ID of the SIM. type: string speedClass: description: The speed class of the SIM. type: string status: description: 'Status of the IoT SIM (Primary subscription of the IoT SIM) Note that the status of a virtual SIM/Subscriber added to an IoT SIM is either `active` or `terminated`. - `ready` - `active` - `inactive` - `standby` - `suspended` - `terminated` ' enum: - ready - active - inactive - standby - suspended - terminated type: string subscription: description: The name of the subscription for the SIM. type: string tags: $ref: '#/components/schemas/TagSet' terminationEnabled: description: 'Configure IoT SIM termination protection - `true`: Termination protection OFF (can be terminated). - `false`: Termination protection ON ' type: boolean type: description: The speed class of the SIM. type: string type: object DownlinkPingResponse: properties: rtt: description: The RTT of the ping result type: string stat: description: The stats information of the ping result type: string success: description: Whether the ping was succeeded or not type: boolean type: object RegisterSimRequest: properties: groupId: type: string registrationSecret: description: PUK or PASSCODE on SIM card type: string tags: $ref: '#/components/schemas/TagSet' required: - registrationSecret type: object SmsForwardingRequest: properties: encodingType: default: 2 description: "Encoding type of the message body. Default is `2` (`DCS_UCS2`).\n\n- `1`: Send in GSM 7-bit that only\ \ supports standard alphabet. Kanji, Cyrillic, and Arabic characters cannot be sent. Maximum 160 characters (maximum\ \ 140 bytes).\n\n Example: `{\"encodingType\": 1, \"payload\": \"Test message.\"}`\n- `2`: Send in UCS-2, which\ \ supports Kanji, Cyrillic, Arabic, etc. Maximum 70 characters.\n\n Example: `{\"encodingType\": 2, \"payload\"\ : \"テストメッセージ\"}`\n" type: integer payload: type: string type: object SimDownlinkSshPublicKeyAuthentication: description: 'Configuration for SSH connection using public key authentication (`"type": "publickey"`). ' properties: key: description: 'Private key (PEM) used for public key authentication. Use `\n` to represent line breaks. This field is ignored if `keyCredentialsId` is specified. ' type: string keyCredentialsId: description: 'Soracom credential set ID where the authentication credentials are registered. - **Type**: Select "Private Key (PEM)". - **Private Key (PEM)**: Enter the private key (PEM) used for public key authentication. ' type: string passphrase: description: 'If the private key (PEM) used for public key authentication is protected by a passphrase, specify the passphrase. ' type: string type: enum: - publickey type: string type: object SimDownlinkRtspCommandSnapshotHarvestFilesDestinationOptions: properties: filePath: description: 'The filePath to Harvest Files. The following strings can be entered, and they will be replaced according to the rules during export: - `{sim_id}`: The sim ID (e.g., `0000000000000000000`). - `{time}`: The timestamp when the snapshot was taken (UNIX time in milliseconds) (e.g., `1728393803000`). **Info**: It is recommended to end the file name with `.jpg` or `.jpeg`. ' example: /path/to/snapshot_{sim_id}_{time}.jpg type: string required: - filePath type: object SubscriptionContainer: properties: containerId: format: int64 type: integer downloaded: type: boolean subscriber: additionalProperties: $ref: '#/components/schemas/Subscriber' type: object type: object SmsForwardingReport: properties: messageId: type: string type: object SimProfileOrderResponse: description: Represents an eSIM profile order. properties: bundles: description: Bundles of the eSIM profile ordered. example: - X3-5MB items: type: string type: array completedTime: description: The time the order was completed (unix time in milliseconds). example: 1718756585000 format: int64 type: integer confirmedTime: description: The time the order was confirmed (unix time in milliseconds). example: 1718756585000 format: int64 type: integer description: description: The description of the eSIM profile order. example: This is a test order type: string orderedTime: description: The time the order was created (unix time in milliseconds). example: 1718756585000 format: int64 type: integer profileOrderId: description: The ID of the eSIM profile order. example: 01902ddd-1cf3-77d9-afc0-fe8d410cadb1 type: string quantity: description: The quantity of the eSIM profile ordered. example: 10 format: int32 type: integer speedClass: description: The speed class of the eSIM profile ordered. example: s1.4xfast type: string status: description: 'The status of the eSIM profile order. - `DRAFT`: Unconfirmed order - `CONFIRMED`: Order confirmed - `IN_PROGRESS`: Order in progress - `COMPLETED`: Order completed - `FAILED`: Order failed ' enum: - DRAFT - CONFIRMED - IN_PROGRESS - COMPLETED - FAILED example: COMPLETED type: string subscription: description: 'The subscription of the eSIM profile ordered. - `plan01s` - `planP1` - `planX1` - `planX2` - `planX3` - `plan-US` ' example: plan01s type: string required: - profileOrderId - subscription - quantity - status - orderedTime type: object SimDownlinkUdpRequest: properties: payload: description: 'Data to be sent, encoded as a string in the format specified by `payloadEncoding`. The maximum size is 1,472 bytes for the encoded string. **Warning**: Depending on the network path, the actual maximum size may be smaller. Data exceeding the maximum allowable size for the network path may be discarded. ' type: string payloadEncoding: $ref: '#/components/schemas/SimDownlinkBinaryEncoding' description: 'Encoding format for the data to be sent. Specify one of the following. The default is `string`. - `string`: Treated as a UTF-8 string. - `base64`: Base64 encoding. - `hex`: Hexadecimal encoding. Case insensitive. ' port: description: Port number for UDP. maximum: 65535 minimum: 1 type: integer required: - port - payload type: object SimDownlinkSshRequest: properties: authentication: description: 'Authentication method for SSH connection. Specify one of the following for `type`, and provide the required information according to the authentication method. - `password`: Password authentication. - `publickey`: Public key authentication. - `none`: No authentication. ' oneOf: - $ref: '#/components/schemas/SimDownlinkSshPasswordAuthentication' - $ref: '#/components/schemas/SimDownlinkSshPublicKeyAuthentication' - $ref: '#/components/schemas/SimDownlinkSshNoAuthentication' command: description: Command to be executed on the device via SSH connection. Maximum size is 8192 bytes. type: string port: default: 22 description: Port number for SSH connection. maximum: 65535 minimum: 1 type: integer username: description: Username for SSH connection. type: string required: - username - authentication - command type: object FileExportResponse: properties: exportedFileId: description: File Export ID. Specify this ID when calling [Files:getExportedFile API](#!/Files/getExportedFile) to get the URL to download the file. Included only if `export_mode` is `async`. type: string exportedFilePath: description: Path of the exported file. Included only if `export_mode` is `async`. type: string url: description: URL to download the file. Included only if `export_mode` is `sync`. type: string type: object PreviousSessionStatus: description: Information about the previous session. properties: cell: $ref: '#/components/schemas/Cell' createdTime: description: The time when the previous session was created. format: int64 type: integer deletedTime: description: The time when the previous session was deleted. format: int64 type: integer dnsServers: description: Array of IP address of the DNS servers. items: type: string type: array gatewayPrivateIpAddress: description: The private IP address of the VPG. In the case of VPG Type-F, the source IP address of the closed network communication from the IoT SIM to the customer's system is NAT-ed to this IP address. type: string gatewayPublicIpAddress: description: The fixed global IP address when using the VPG [Fixed Global IP Address Option](/en/docs/vpg/fixed-global-ip/). type: string imei: description: The IMEI of the device using the IoT SIM. If using a virtual SIM/subscriber, this will be `null`. type: string imsi: description: The IMSI of the IoT SIM. type: string sessionId: description: The session ID. type: string subscription: type: string ueIpAddress: description: The IP address of the device. type: string vpgId: description: The VPG ID. If the VPG was not used, this will not be output. type: string type: object SetImeiLockRequest: properties: imei: description: 'IMEI of the target device. If you want to establish a session even when the IMEI is temporarily not reported, append `|ANONYMOUS` to the IMEI value. For example, if the IMEI specified is `123456789012345`, specifying `123456789012345|ANONYMOUS` as the parameter value will allow a session to be established even when the IMEI is temporarily not reported. ' type: string type: object ArcSessionCreateResponse: properties: arcAllowedIPs: items: type: string type: array arcClientPeerIpAddress: type: string arcClientPeerPublicKey: type: string arcServerEndpoint: type: string arcServerPeerPublicKey: type: string type: object securitySchemes: api_key: description: 'API key for authentication. Obtain this from the Soracom User Console or via the Auth API. Required in combination with an API token for all authenticated requests. ' in: header name: X-Soracom-API-Key type: apiKey api_token: description: 'API token for authentication. This token has an expiration time and must be refreshed periodically. Required in combination with an API key for all authenticated requests.' in: header name: X-Soracom-Token type: apiKey