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\
[](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.
[](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