openapi: 3.0.0
info:
description: Soracom API v1
title: Soracom API
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:
/analysis/queries:
post:
description: Executes a SQL query asynchronously. You can check the status of
a SQL query execution with the [Analysis:getAnalysisQueries API](#/Analysis/getAnalysisQueries).
operationId: startAnalysisQueries
requestBody:
content:
application/json:
example:
from: 1743465600
sql: SELECT * FROM SIM_SESSION_EVENTS LIMIT 10
to: 1743552000
schema:
$ref: '#/components/schemas/StartAnalysisQueriesRequest'
description: A SQL query execution request.
required: true
responses:
"200":
content:
application/json:
example:
queryId: ffa91d0c371d45c4bf53d55ab5c14955
schema:
$ref: '#/components/schemas/StartAnalysisQueriesResponse'
description: A new SQL query execution has started.
security:
- api_key: []
api_token: []
summary: Execute a new SQL query asynchronously
tags:
- Analysis
x-soracom-cli:
- analysis queries start
/analysis/queries/{query_id}:
get:
description: Retrieve the execution status of a SQL query.
operationId: getAnalysisQueries
parameters:
- description: SQL query ID.
in: path
name: query_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
columnInfo:
- databaseType: FIXED
name: ICCID
type: string
- databaseType: TEXT
name: IMEI
type: string
- databaseType: NUMBER
name: IMSI
type: number
fileSize: 12345678
rowCount: 12345
status: COMPLETED
url: https://soracom-analysis-export.s3.amazonaws.com/ffa91d0c-371d-45c4-bf53-d55ab5c14955.csv.gz
schema:
$ref: '#/components/schemas/GetAnalysisQueriesResponse'
description: The execution status, results, and download URL of the SQL
query.
security:
- api_key: []
api_token: []
summary: Retrieve the execution status of a SQL query
tags:
- Analysis
x-soracom-cli:
- analysis queries get
/analysis/schemas:
get:
description: |
Retrieves the available schemas and their column information within the database. You can use this information as a reference when converting data types of data retrieved with the [Analysis:startAnalysisQueries API](#/Analysis/startAnalysisQueries).
Example: If the column `type` is `string` as shown below, it can be treated as a string.
```json
{
"name": "SIM_SESSION_EVENTS",
"columnInfo": [
{
"name": "APN",
"type": "string",
"databaseType": "TEXT",
"description": "Access Point Name indicating the network gateway for the SIM session."
}
]
}
```
operationId: getAnalysisSchemas
responses:
"200":
content:
application/json:
example:
- columnInfo:
- databaseType: TEXT
description: Access Point Name indicating the network gateway for
the SIM session.
name: APN
type: string
- databaseType: TEXT
description: The primary DNS server IP address used during the SIM
session.
name: DNS0
type: string
- databaseType: TEXT
description: The secondary DNS server IP address used during the
SIM session.
name: DNS1
type: string
- databaseType: TEXT
description: Describes the type of event associated with the SIM
session, such as Created, Deleted, or Updated.
name: EVENT
type: string
- databaseType: TEXT
description: Home Public Land Mobile Network code that identifies
the home network operator.
name: HPLMN
type: string
- databaseType: TEXT
description: The Integrated Circuit Card Identifier, a unique number
assigned to the SIM card.
name: ICCID
type: string
name: SIM_SESSION_EVENTS
schema:
$ref: '#/components/schemas/GetAnalysisSchemasResponse'
description: A list of available database schemas and their column information.
security:
- api_key: []
api_token: []
summary: Retrieve available database schemas
tags:
- Analysis
x-soracom-cli:
- analysis schemas
/audit_logs/api:
get:
description: Retrieve audit logs for Soracom API calls.
operationId: getApiAuditLogs
parameters:
- description: Filter item for audit log retrieval by API kind (e.g. `/v1/auth`).
in: query
name: api_kind
required: false
schema:
type: string
- description: Start time for the log search range (unixtime milliseconds).
in: query
name: from_epoch_ms
required: false
schema:
type: integer
- description: End time for the log search range (unixtime milliseconds).
in: query
name: to_epoch_ms
required: false
schema:
type: integer
- description: Maximum number of log entries to retrieve (value range is 1 to
1000).
in: query
name: limit
required: false
schema:
maximum: 1000
minimum: 1
type: integer
- description: The value of `requestedTimeEpochMs` in the last log entry retrieved
in the previous page. 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:
example:
- apiKind: /v1/bills
operatorId: OPXXXXXXXXXX
remoteIpAddress: xxx.xxx.xxx.xxx
requestPath: /v1/bills
requestedTimeEpocMs: 1234567890123
statusCode: 200
userName: SORACOMAPI
schema:
items:
$ref: '#/components/schemas/APIAuditLogEntry'
type: array
description: A list of Soracom API audit log entries.
security:
- api_key: []
api_token: []
summary: Retrieve audit logs for Soracom API calls
tags:
- AuditLog
x-soracom-cli:
- audit-logs api get
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/audit_logs/napter:
get:
description: Retrieve audit logs for Soracom Napter.
operationId: getNapterAuditLogs
parameters:
- description: Type of the target resource to query log entries.
in: query
name: resource_type
required: false
schema:
enum:
- Subscriber
type: string
- description: Identity of the target resource to query log entries.
in: query
name: resource_id
required: false
schema:
type: string
- description: Start time for the log search range (unixtime milliseconds).
in: query
name: from
required: false
schema:
type: integer
- description: End time for the log search range (unixtime milliseconds).
in: query
name: to
required: false
schema:
type: integer
- description: Maximum number of log entries to retrieve (value range is 1 to
1000).
in: query
name: limit
required: false
schema:
maximum: 1000
minimum: 1
type: integer
- description: The value of `time` in the last log entry retrieved in the previous
page. 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:
example:
- connectionId: 12345678-abcd-1234-abcd-123456789010
createdAt: 1234567890123
direction:
destinationIPAddress: xxx.xxx.xxx.xxx
destinationPort: 22
sourceIPAddress: xxx.xxx.xxx.xxx
sourcePort: 51720
imsi: "123456789012345"
operatorId: OPXXXXXXXXXX
tls: false
type: CLOSED
- connectionId: 12345678-abcd-1234-abcd-123456789011
createdAt: 1234567890123
direction:
destinationIPAddress: xxx.xxx.xxx.xxx
destinationPort: 22
sourceIPAddress: xxx.xxx.xxx.xxx
sourcePort: 51720
imsi: "234567890123456"
operatorId: OPXXXXXXXXXX
tls: false
type: EXPIRED
schema:
items:
$ref: '#/components/schemas/NapterAuditLogEntry'
type: array
description: A list of Napter audit log entries.
security:
- api_key: []
api_token: []
summary: Retrieve audit logs for Soracom Napter
tags:
- AuditLog
x-soracom-cli:
- audit-logs napter get
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/auth:
post:
description: |
Performs authentication to access to the Soracom API. Please include the following information in your request.
- To perform authentication by a root account, specify `email` and `password`.
- To perform authentication by an AuthKey, specify `authKeyId` and `authKey`.
- To perform authentication by a SAM user, specify `operatorId`, `userName` and `password`.
An API key and API token will be included in the response if successful. Use the API key and API token to perform subsequent requests.
operationId: auth
requestBody:
content:
application/json:
examples:
To perform authentication by a SAM user:
value:
operatorId: OPXXXXXXXXXX
password: p@$$w0rd
userName: SORACOMAPI
To perform authentication by a root account:
value:
email: soracomapi@example.com
password: p@$$w0rd
To perform authentication by an AuthKeyId and AuthKey:
value:
authKey: secret-abcde12345fghij67890klmno12345pqrst67890uvwxy12345abcde67890fghi...
authKeyId: keyId-abcde12345fghij67890klmno12345pq
schema:
$ref: '#/components/schemas/AuthRequest'
description: Authentication request.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/AuthResponse'
description: Authentication successful.
"401":
description: Authentication failed.
summary: Performs authentication to access to the Soracom API.
tags:
- Auth
x-soracom-cli:
- auth
/auth/logout:
post:
description: Revokes the API key and API token that was used to call this API.
Once revoked, the API key and API token cannot be used to make further requests
to the API, regardless of the key and token's original expiration time. This
API can be called regardless of any permission settings.
operationId: logout
responses:
"204":
description: Successfully revoked the API key and the API token.
security:
- api_key: []
api_token: []
summary: Revokes an API key and API token in order to remove access to the Soracom
API.
tags:
- Auth
x-soracom-cli:
- logout
/auth/password_reset_token/issue:
post:
description: Generates a password reset token and sends it to the operator's
primary email address. After receiving the password reset token, call /v1/auth/password_reset_token/verify
API with the token to update the operator's password.
operationId: issuePasswordResetToken
requestBody:
content:
application/json:
example:
email: soracomapi@example.com
schema:
$ref: '#/components/schemas/IssuePasswordResetTokenRequest'
description: email address
required: true
responses:
"200":
description: Password reset token successfully sent to the specified email
address.
"400":
description: Invalid email address.
summary: Issues a password reset token for the operator.
tags:
- Auth
x-soracom-cli:
- auth issue-password-reset-token
/auth/password_reset_token/verify:
post:
description: Updates the operator's password if the password reset token is
verified.
operationId: verifyPasswordResetToken
requestBody:
content:
application/json:
example:
password: p@$$w0rd
token: abcde12345fghij67890klmno12345pqrst67890uvwxy12345abcde67890fghi...
schema:
$ref: '#/components/schemas/VerifyPasswordResetTokenRequest'
description: token, password
required: true
responses:
"200":
description: Password successfully updated.
"400":
description: Invalid token.
"404":
description: Token expired.
summary: Verifies the password reset token and updates password.
tags:
- Auth
x-soracom-cli:
- auth verify-password-reset-token
/auth/switch_user:
post:
description: Using the API key and API token of the original user, call this
API to issue an API key and API token of the target user that you are switching
to. The original user should already be registered in the target user's trust
policy. See [User:updateUserTrustPolicy](#!/User/updateUserTrustPolicy) for
information on updating the trust policy.
operationId: switchUser
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SwitchUserRequest'
description: Specify the user to switch to and the validity period of the
API token to be issued.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/AuthResponse'
description: Authentication successful.
"400":
description: Switch user not allowed.
security:
- api_key: []
api_token: []
summary: Generates an API key and an API token to call APIs as a different user.
tags:
- Auth
x-soracom-cli:
- auth switch-user
/batch_groups:
get:
description: Returns a list of batch groups.
operationId: listBatchGroups
parameters:
- description: Maximum number of batch groups to retrieve. The number of batch
groups returned may be less than the specified value.
example: 10
in: query
name: limit
required: false
schema:
format: int32
type: integer
- description: The value of the `x-soracom-next-key` header returned in the
response to the last request. Specify this to retrieve the next page of
batch groups.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/BatchGroupResponse'
type: array
description: A list of batch groups was retrieved successfully.
security:
- api_key: []
api_token: []
summary: List batch groups.
tags:
- Batch
x-soracom-cli:
- batch-groups list
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
post:
description: |
Create a new batch group for organizing and managing batch jobs. To create a batch job, use the [Batch:createBatchJob](#/Batch/createBatchJob) instead.
operationId: createBatchGroup
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBatchGroupRequest'
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/BatchGroupResponse'
description: The batch group has been created.
security:
- api_key: []
api_token: []
summary: Create batch group.
tags:
- Batch
x-soracom-cli:
- batch-groups create
/batch_groups/{batch_group_id}:
delete:
description: |
Delete the specified batch group. Batch groups can only be deleted if there are no running batch jobs in the group.
operationId: deleteBatchGroup
parameters:
- description: Batch group ID.
in: path
name: batch_group_id
required: true
schema:
type: string
responses:
"204":
description: The batch group has been deleted.
"400":
description: The batch group cannot be deleted because there are running
batch jobs.
"404":
description: Batch group not found.
security:
- api_key: []
api_token: []
summary: Delete batch group.
tags:
- Batch
x-soracom-cli:
- batch-groups delete
get:
description: |
Returns details of the specified batch group.
operationId: getBatchGroup
parameters:
- description: Batch group ID.
in: path
name: batch_group_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/BatchGroupResponse'
description: The batch group was found.
"404":
description: Batch group not found.
security:
- api_key: []
api_token: []
summary: Get batch group.
tags:
- Batch
x-soracom-cli:
- batch-groups get
put:
description: |
Updates the name or description of the specified batch group.
operationId: updateBatchGroup
parameters:
- description: Batch group ID.
in: path
name: batch_group_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateBatchGroupRequest'
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/BatchGroupResponse'
description: The batch group was updated.
"404":
description: Batch group not found.
security:
- api_key: []
api_token: []
summary: Update batch group.
tags:
- Batch
x-soracom-cli:
- batch-groups update
/batch_groups/{batch_group_id}/jobs:
get:
description: Returns a list of batch jobs in the specified batch group.
operationId: listBatchJobs
parameters:
- description: Batch group ID.
in: path
name: batch_group_id
required: true
schema:
type: string
- description: Maximum number of batch jobs to retrieve. The number of batch
jobs returned may be less than the specified value.
example: 10
in: query
name: limit
required: false
schema:
format: int32
type: integer
- description: The value of the `x-soracom-next-key` header returned in the
response to the last request. Specify this to retrieve the next page of
batch jobs.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/BatchJobResponse'
type: array
description: A list of batch jobs was retrieved successfully.
"404":
description: Batch group not found.
security:
- api_key: []
api_token: []
summary: List batch jobs.
tags:
- Batch
x-soracom-cli:
- batch-groups jobs list
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
post:
description: |
Create a new batch job and run it. A batch job consists of multiple tasks, each representing an API operation to be performed. Tasks are executed using the permissions of the user that created the batch job API. Batch job information is retained for 32 days.
**System Limits:**
- Each batch job is limited to a single API action. Mixing different APIs in the same job is not supported.
- Each batch job is limited to a maximum of 10,000 tasks.
- Only one batch job per API action can be created and processed at a time.
- Batch jobs may be delayed or restricted if system load is high. If this occurs, please wait and try again later.
operationId: createBatchJob
parameters:
- description: Batch group ID.
in: path
name: batch_group_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBatchJobRequest'
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/BatchJobResponse'
description: The batch job has been created and execution has started.
"400":
description: |
Bad request. This error can occur in the following cases:
- Attempting to mix different APIs in a single batch job
- Already running a batch job with the same API for this operator
"404":
description: Batch group not found.
"429":
description: Batch job execution is restricted due to high system load.
security:
- api_key: []
api_token: []
summary: Create and run batch job.
tags:
- Batch
x-soracom-cli:
- batch-groups jobs create
/batch_groups/{batch_group_id}/jobs/{job_id}:
get:
description: |
Returns information about the specified batch job.
operationId: getBatchJob
parameters:
- description: Batch group ID.
in: path
name: batch_group_id
required: true
schema:
type: string
- description: Batch job ID.
in: path
name: job_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/BatchJobResponse'
description: The batch job was found.
"404":
description: Batch job not found.
security:
- api_key: []
api_token: []
summary: Get batch job.
tags:
- Batch
x-soracom-cli:
- batch-groups jobs get
/batch_groups/{batch_group_id}/jobs/{job_id}/tasks:
get:
description: |
Returns a list of tasks in the specified batch job. Each task represents an individual API operation executed as part of the batch job.
operationId: listTasksOfBatchJob
parameters:
- description: Batch group ID.
in: path
name: batch_group_id
required: true
schema:
type: string
- description: Batch job ID.
in: path
name: job_id
required: true
schema:
type: string
- description: Maximum number of tasks to retrieve. The number of tasks returned
may be less than the specified value.
example: 10
in: query
name: limit
required: false
schema:
format: int32
type: integer
- description: Filter by task status.
in: query
name: status
required: false
schema:
enum:
- pending
- success
- error
type: string
- description: The value of the `x-soracom-next-key` header returned in the
response to the last request. Specify this to retrieve the next page of
tasks.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/BatchTaskResponse'
type: array
description: A list of batch tasks was retrieved successfully.
"404":
description: Batch job not found.
security:
- api_key: []
api_token: []
summary: List tasks.
tags:
- Batch
x-soracom-cli:
- batch-groups jobs list-tasks
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/bills:
get:
description: |
Gets a list of finalized past billing history.
**Warning**: The maximum information you can get is for the last 18 months. If you need the information before that time, please contact [Soracom Support](https://support.soracom.io).
operationId: getBillingHistory
responses:
"200":
content:
application/json:
example:
billList:
- amount: 28734
paymentStatus: paid
paymentTransactionId: 12345678901234567_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
state: closed
yearMonth: "202208"
- amount: 27075
paymentStatus: paid
paymentTransactionId: 12345678901234567_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
state: closed
yearMonth: "202207"
schema:
$ref: '#/components/schemas/GetBillingHistoryResponse'
description: A list of finalized past billing history.
security:
- api_key: []
api_token: []
summary: Gets a list of finalized past billing history
tags:
- Billing
x-soracom-cli:
- bills list
/bills/{yyyyMM}:
get:
description: |
Gets a finalized past billing history for the specified month. If you specify current month (the month in which the usage fee has not yet been finalized), you will get the preliminary value.
**Warning**: The maximum information you can get is for the last 18 months. If you need the information before that time, please contact [Soracom Support](https://support.soracom.io).
operationId: getBilling
parameters:
- description: Target year and month
in: path
name: yyyyMM
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
amount: 28734
currency: JPY
paymentStatus: paid
paymentTransactionId: 12345678901234567_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
state: closed
yearMonth: "202208"
schema:
$ref: '#/components/schemas/MonthlyBill'
description: The billing history for the specified month.
"404":
description: |
- The billing history for the specified month has not been finalized.
- There is no charge for the specified month.
security:
- api_key: []
api_token: []
summary: Gets a finalized past billing history for the specified month
tags:
- Billing
x-soracom-cli:
- bills get
/bills/{yyyyMM}/daily:
get:
description: |
Gets a daily bill for the specified month. Fees charged on a monthly basis cannot be retrieved. If you specify current month (a month for which the fee has not yet been finalized), a preliminary value will be returned.
**Warning**: The maximum information you can get is for the last 18 months. If you need the information before that time, please contact [Soracom Support](https://support.soracom.io).
operationId: getBillingPerDay
parameters:
- description: Target year and month
in: path
name: yyyyMM
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
billList:
- amount: 285
currency: JPY
date: "20220902"
- amount: 580
currency: JPY
date: "20220901"
schema:
$ref: '#/components/schemas/DailyBillResponse'
description: Daily billing information for the specified month.
"404":
description: Bill not found.
security:
- api_key: []
api_token: []
summary: Get a daily bill
tags:
- Billing
x-soracom-cli:
- bills get-daily
/bills/{yyyyMM}/export:
post:
description: |
Export historical [Detailed billing CSV](/en/docs/account/billing/#detailed-billing-csv) to dedicated storage and issue URL to download.
**Warning**: The maximum information you can get is for the last 18 months. If you need the information before that time, please contact [Soracom Support](https://support.soracom.io).
operationId: exportBilling
parameters:
- description: Target year and month
in: path
name: yyyyMM
required: true
schema:
type: string
- description: |
Specify how to get the URL to download the billing details CSV.
- `async`: Get the `exportedFieldId` without waiting for the URL to be issued on the Soracom platform. Specify this `exportedFieldId` in [Files:getExportedFile API](#!/Files/getExportedFile) to get the URL. If the file size of the billing details CSV is huge, use `async`.
- `sync` (default): Wait for the URL to be issued on the Soracom platform. However, if the file size of the billing details CSV is huge, it may time out and the URL cannot be retrieved. If the timeout occurs, specify `async`.
in: query
name: export_mode
required: false
schema:
enum:
- async
- sync
type: string
responses:
"200":
content:
application/json:
examples:
(1) export_mode=async:
value:
exportedFileId: fe_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
exportedFilePath: //files/exported/fe_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
(2) export_mode=sync:
value:
url: https://soracom-xxxxxxxx-....
schema:
$ref: '#/components/schemas/FileExportResponse'
description: Export process successfully initiated. Contains the download
URL or export ID.
"404":
description: Bill not found.
security:
- api_key: []
api_token: []
summary: Export historical Detailed billing CSV to dedicated storage
tags:
- Billing
x-soracom-cli:
- bills export
/bills/latest:
get:
description: Retrieves the preliminary usage fee for the current month (the
month in which the usage fee has not yet been finalized).
operationId: getLatestBilling
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GetLatestBill'
description: The latest billing information for the current month.
security:
- api_key: []
api_token: []
summary: Get latest bill
tags:
- Billing
x-soracom-cli:
- bills get-latest
/bills/latest/export:
post:
description: Export [Detailed Billing CSV](/en/docs/account/billing/#detailed-billing-csv)
for current month (the month in which the usage fee has not yet been finalized)
to dedicated storage and issue a URL to download it. The fees will be finalized
by the second business day of the following month. The Detailed billing CSV
exported using this API will output preliminary values.
operationId: exportLatestBilling
parameters:
- description: |
Specify how to get the URL to download the billing details CSV.
- `async`: Get the `exportedFieldId` without waiting for the URL to be issued on the Soracom platform. Specify this `exportedFieldId` in [Files:getExportedFile API](#!/Files/getExportedFile) to get the URL. If the file size of the billing details CSV is huge, use `async`.
- `sync` (default): Wait for the URL to be issued on the Soracom platform. However, if the file size of the billing details CSV is huge, it may time out and the URL cannot be retrieved. If the timeout occurs, specify `async`.
in: query
name: export_mode
required: false
schema:
enum:
- async
- sync
type: string
responses:
"200":
content:
application/json:
examples:
(1) export_mode=async:
value:
exportedFileId: fe_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
exportedFilePath: //files/exported/fe_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
(2) export_mode=sync:
value:
url: https://soracom-xxxxxxxx-....
schema:
$ref: '#/components/schemas/FileExportResponse'
description: Export process successfully initiated. Contains the download
URL or export ID.
security:
- api_key: []
api_token: []
summary: Export latest billing CSV file to S3
tags:
- Billing
x-soracom-cli:
- bills export-latest
/bills/summaries/bill_items:
get:
description: |
Get a billing summary of bill items for the last 4 months (this month to 3 months ago). Sorted by date from newest to oldest.
The summary you can get from this API is equivalent to the usage fees displayed in the [COSTS BY SERVICE] panel of the Billing Dashboard. For more information, please refer to [Billing Information](/en/docs/account/billing/).
operationId: getBillingSummaryOfBillItems
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/BillingSummaryResponseOfBillItems'
type: array
description: A billing summary of bill items for the last 4 months.
security:
- api_key: []
api_token: []
summary: Gets a billing summary of bill items.
tags:
- Billing
x-soracom-cli:
- bills summaries get-bill-items
/bills/summaries/sims:
get:
description: |
Get a billing summary of SIMs for the last 4 months (current month to 3 months ago). Sorted by date from newest to oldest.
The summary you get from this API is equivalent to the rates displayed in the [COSTS PER SIM (TOP 100)] panel of the Rates Dashboard. For more information, please refer to [Billing Information](/en/docs/account/billing/).
operationId: getBillingSummaryOfSims
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/BillingSummaryResponseOfSims'
type: array
description: A billing summary of SIMs for the last 4 months.
security:
- api_key: []
api_token: []
summary: Gets a billing summary of SIMs
tags:
- Billing
x-soracom-cli:
- bills summaries get-sims
/cell_locations:
get:
description: |
Retrieves location information (latitude/longitude) for a cell tower 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.
3G example
```
$ curl -X GET "https://api.soracom.io/v1/cell_locations?mcc=440&mnc=10&lac=196" \
-H "X-Soracom-API-Key: $X_SORACOM_API_KEY" \
-H "X-Soracom-Token: $X_SORACOM_TOKEN"
```
- For LTE (4G), please specify MCC, MNC, TAC, and ECID.
4G example
```
$ curl -X GET "https://api.soracom.io/v1/cell_locations?mcc=440&mnc=10&tac=5680&ecid=48872466" \
-H "X-Soracom-API-Key: $X_SORACOM_API_KEY" \
-H "X-Soracom-Token: $X_SORACOM_TOKEN"
```
The 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.
[](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: 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
/coupons:
get:
description: Returns a list of currently registered coupons.
operationId: listCoupons
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ListCouponResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: List coupons.
tags:
- Payment
x-soracom-cli:
- coupons list
post:
description: Creates a new coupon quotation. If the orderId is put in /coupons/{order_id}/confirm,
the order is complete.
operationId: createCouponQuotation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateEstimatedCouponRequest'
description: Coupon details.
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/EstimatedCouponModel'
description: Created.
security:
- api_key: []
api_token: []
summary: Create coupon quotation
tags:
- Order
x-soracom-cli:
- coupons create
/coupons/{coupon_code}/register:
post:
description: Registers a coupon.
operationId: registerCoupon
parameters:
- description: Coupon code.
in: path
name: coupon_code
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/CouponResponse'
description: OK.
"400":
description: The coupon code is invalid or the coupon code registration
limit has been reached.
security:
- api_key: []
api_token: []
summary: Register Coupon
tags:
- Payment
x-soracom-cli:
- coupons register
/coupons/{order_id}/confirm:
put:
description: Performs a credit limit and confirms the order if no problems are
encountered.
operationId: confirmCouponOrder
parameters:
- description: Order ID. You can get it by calling [Order:createCouponQuotation
API](#/Order/createCouponQuotation).
in: path
name: order_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/CouponResponse'
description: The confirmed coupon order.
security:
- api_key: []
api_token: []
summary: Confirm coupon order
tags:
- Order
x-soracom-cli:
- coupons confirm
/credentials:
get:
description: Returns a list of credential sets.
operationId: listCredentials
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/CredentialsModel'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: List credential sets
tags:
- Credential
x-soracom-cli:
- credentials list
/credentials/{credentials_id}:
delete:
description: Deletes a credential set.
operationId: deleteCredential
parameters:
- description: Credential set ID.
in: path
name: credentials_id
required: true
schema:
type: string
responses:
"204":
description: Credential set has been deleted.
"404":
description: Not Found.
security:
- api_key: []
api_token: []
summary: Delete a credential set
tags:
- Credential
x-soracom-cli:
- credentials delete
post:
description: Creates a new credential set.
operationId: createCredential
parameters:
- description: Credential set ID.
in: path
name: credentials_id
required: true
schema:
type: string
requestBody:
content:
application/json:
examples:
API Token credentials:
$ref: '#/components/examples/APITokenCredentials'
AWS IAM Role credentials:
$ref: '#/components/examples/IAMRoleCredentials'
AWS credentials:
$ref: '#/components/examples/AWSCredentials'
Asteria Platio credentials:
$ref: '#/components/examples/InfoteriaPlatioCredentials'
Azure IoT credentials:
$ref: '#/components/examples/AzureIoTCredentials'
Azure credentials:
$ref: '#/components/examples/AzureCredentials'
Esri Japan ArcGIS Online credentials:
$ref: '#/components/examples/EsrijCredentials'
Google Cloud IoT Core credentials:
$ref: '#/components/examples/GoogleIoTCredentials'
Google Service Account (JSON):
$ref: '#/components/examples/GoogleServiceAccountJson'
Kii Thing-IF credentials:
$ref: '#/components/examples/KiiThingifCredentials'
LANDLOG credentials:
$ref: '#/components/examples/LandlogCredentials'
OPTiM Cloud IoT OS credentials:
$ref: '#/components/examples/OptimCloudCredentials'
Pre-Shared Key:
$ref: '#/components/examples/PreSharedKey'
PubNub credentials:
$ref: '#/components/examples/PubnubCredentials'
SensorCorpus credentials:
$ref: '#/components/examples/SensorcorpusCredentials'
Username password credentials:
$ref: '#/components/examples/UsernamePasswordCredentials'
WingArc1st MotionBoard credentials:
$ref: '#/components/examples/MotionboardCredentials'
X.509 certificate:
$ref: '#/components/examples/X509Certificate'
YE DIGITAL MMCloud credentials:
$ref: '#/components/examples/MmcloudCredentials'
schema:
$ref: '#/components/schemas/CreateAndUpdateCredentialsModel'
description: Credential set.
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/CredentialsModel'
description: Credential set has been created.
security:
- api_key: []
api_token: []
summary: Create a credential set
tags:
- Credential
x-soracom-cli:
- credentials create
put:
description: Updates a credential set.
operationId: updateCredential
parameters:
- description: Credential set ID.
in: path
name: credentials_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAndUpdateCredentialsModel'
description: Credential set.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/CredentialsModel'
description: OK.
"400":
description: There was an error in the request or the specified token has
already expired. (In the latter case, you will need to use the /auth API
to do authentication once again.)
security:
- api_key: []
api_token: []
summary: Update a credential set
tags:
- Credential
x-soracom-cli:
- credentials update
/data/{resource_type}/{resource_id}:
get:
description: |
Returns a list of data entries sent to Harvest Data from a device that match certain criteria. If the total number of entries does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response.
operationId: getDataEntries
parameters:
- description: Type of data source resource.
in: path
name: resource_type
required: true
schema:
enum:
- Subscriber
- LoraDevice
- Sim
- SigfoxDevice
- Device
- SoraCam
type: string
- description: |
ID of data source resource. The ID to be specified depends on the value of `resource_type`.
| `resource_type` | The ID you specify |
|-|-|
| `Subscriber` | IMSI of the IoT SIM |
| `LoraDevice` | ID of the LoRaWAN device |
| `Sim` | SIM ID of the IoT SIM |
| `SigfoxDevice` | ID of the Sigfox device |
| `Device` | ID of the Inventory device |
| `SoraCam` | Device ID of the compatible camera device |
in: path
name: resource_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 sent to Harvest Data from the specified
resource.
security:
- api_key: []
api_token: []
summary: Get data sent to Harvest Data from a resource.
tags:
- DataEntry
x-soracom-cli:
- data get-entries
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/data/{resource_type}/{resource_id}/{time}:
delete:
description: Deletes a data entry identified with resource ID and timestamp
operationId: deleteDataEntry
parameters:
- description: Type of data source resource.
in: path
name: resource_type
required: true
schema:
enum:
- Subscriber
- LoraDevice
- Sim
- SigfoxDevice
- Device
- SoraCam
type: string
- description: |
ID of data source resource. The ID to be specified depends on the value of `resource_type`.
| `resource_type` | The ID you specify |
|-|-|
| `Subscriber` | IMSI of the IoT SIM |
| `LoraDevice` | ID of the LoRaWAN device |
| `Sim` | SIM ID of the IoT SIM |
| `SigfoxDevice` | ID of the Sigfox device |
| `Device` | ID of the Inventory device |
| `SoraCam` | Device ID of the compatible camera device |
in: path
name: resource_id
required: true
schema:
type: string
- description: Timestamp of the target data entry to delete (UNIX time in milliseconds).
in: path
name: time
required: true
schema:
type: integer
responses:
"204":
description: The data entry has been successfully deleted
security:
- api_key: []
api_token: []
summary: Deletes a data entry
tags:
- DataEntry
x-soracom-cli:
- data delete-entry
get:
description: Gets a data entry identified with resource ID and timestamp
operationId: getDataEntry
parameters:
- description: Type of data source resource.
in: path
name: resource_type
required: true
schema:
enum:
- Subscriber
- LoraDevice
- Sim
- SigfoxDevice
- Device
- SoraCam
type: string
- description: |
ID of data source resource. The ID to be specified depends on the value of `resource_type`.
| `resource_type` | The ID you specify |
|-|-|
| `Subscriber` | IMSI of the IoT SIM |
| `LoraDevice` | ID of the LoRaWAN device |
| `Sim` | SIM ID of the IoT SIM |
| `SigfoxDevice` | ID of the Sigfox device |
| `Device` | ID of the Inventory device |
| `SoraCam` | Device ID of the compatible camera device |
in: path
name: resource_id
required: true
schema:
type: string
- description: Timestamp of the target data entry to get (UNIX time in milliseconds).
in: path
name: time
required: true
schema:
type: integer
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/DataEntry'
description: The data entry specified with resource ID and timestamp
"404":
description: No such entry found
security:
- api_key: []
api_token: []
summary: Gets a data entry
tags:
- DataEntry
x-soracom-cli:
- data get-entry
/data/categories/{category}:
get:
description: |
Returns a list of data entries that belong to a specific category. If the total number of entries does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response.
operationId: getDataEntriesByCategory
parameters:
- description: Name of the category to filter data entries.
in: path
name: category
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 belonging to the specified category.
security:
- api_key: []
api_token: []
summary: Get data entries for a specific category
tags:
- DataEntry
x-soracom-cli:
- data get-entries-by-category
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/data/metadata/resources:
get:
description: |
Returns a list of data source resources that have sent data. If the total number of data source resources does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response.
operationId: listDataResourceMetadata
parameters:
- description: |
Type of data source resource.
- `Subscriber`: IoT SIM.
- `LoraDevice`: LoRaWAN device.
- `Sim`: IoT SIM.
- `SigfoxDevice`: Sigfox device.
- `Device`: Inventory device.
- `SoraCam`: Compatible camera device.
in: query
name: resource_type
required: false
schema:
enum:
- Subscriber
- LoraDevice
- Sim
- SigfoxDevice
- Device
- SoraCam
type: string
- description: Maximum number of data entries to retrieve.
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/DataResourceMetadata'
type: array
description: A list of data source resources that have sent data to Harvest
Data.
security:
- api_key: []
api_token: []
summary: Get the list of data source resources
tags:
- DataEntry
x-soracom-cli:
- data list-resource-metadata
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/data/resources:
get:
deprecated: true
description: |
Returns a list of data source resources that have sent data. If the total number of data source resources does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response.
operationId: listDataSourceResources
parameters:
- description: |
Type of data source resource.
- `Subscriber`: IoT SIM.
- `LoraDevice`: LoRaWAN device.
- `Sim`: IoT SIM.
- `SigfoxDevice`: Sigfox device.
- `Device`: Inventory device.
- `SoraCam`: Compatible camera device.
in: query
name: resource_type
required: false
schema:
enum:
- Subscriber
- LoraDevice
- Sim
- SigfoxDevice
- Device
- SoraCam
type: string
- description: Maximum number of data entries to retrieve.
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/DataResourceMetadata'
type: array
description: A list of data source resources that have sent data to Harvest
Data.
security:
- api_key: []
api_token: []
summary: Get the list of data source resources
tags:
- DataEntry
x-soracom-cli:
- data list-source-resources
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/device_object_models:
get:
description: Returns a list of device object models
operationId: listDeviceObjectModels
parameters:
- description: ID of the last device object model in the previous page. By specifying
this parameter, you can continue to retrieve the list from the next device
object models onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
- description: Max number of device object models in a response
in: query
name: limit
required: false
schema:
default: -1
format: int32
type: integer
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/DeviceObjectModel'
type: array
description: List of device object models
security:
- api_key: []
api_token: []
summary: Returns a list of device object models
tags:
- DeviceObjectModel
x-soracom-cli:
- devices list-object-models
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
post:
description: Creates a new device object model
operationId: createDeviceObjectModel
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceObjectModel'
application/xml:
schema:
$ref: '#/components/schemas/DeviceObjectModel'
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceObjectModel'
description: Device object model created
"400":
description: Failed to parse device object model definition
security:
- api_key: []
api_token: []
summary: Creates a new device object model
tags:
- DeviceObjectModel
x-soracom-cli:
- devices create-object-model
/device_object_models/{model_id}:
delete:
description: Deletes a device object model
operationId: deleteDeviceObjectModel
parameters:
- description: Target device object model ID
in: path
name: model_id
required: true
schema:
type: string
responses:
"204":
description: Successfully deleted
"404":
description: No such device object model found
security:
- api_key: []
api_token: []
summary: Deletes a device object model
tags:
- DeviceObjectModel
x-soracom-cli:
- devices delete-object-model
get:
description: Gets a device object model
operationId: getDeviceObjectModel
parameters:
- description: Target device object model ID
in: path
name: model_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceObjectModel'
description: Device object model
"404":
description: No such device object model found
security:
- api_key: []
api_token: []
summary: Gets a device object model
tags:
- DeviceObjectModel
x-soracom-cli:
- devices get-object-model
post:
description: Updates a device object model
operationId: updateDeviceObjectModel
parameters:
- description: Target device object model ID
in: path
name: model_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceObjectModel'
application/xml:
schema:
$ref: '#/components/schemas/DeviceObjectModel'
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceObjectModel'
description: Device object model updated
"400":
description: Failed to parse device object model definition
"404":
description: No such device object model found
security:
- api_key: []
api_token: []
summary: Updates a device object model
tags:
- DeviceObjectModel
x-soracom-cli:
- devices update-object-model
/device_object_models/{model_id}/set_scope:
post:
description: Sets scope for a device object model
operationId: setDeviceObjectModelScope
parameters:
- description: Target device object model ID
in: path
name: model_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetDeviceObjectModelScopeRequest'
description: Scope value that is applied to the target device object model
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceObjectModel'
description: Scope is set to the target device object model
"404":
description: No such device object model found
security:
- api_key: []
api_token: []
summary: Sets scope for a device object model
tags:
- DeviceObjectModel
x-soracom-cli:
- devices set-object-model-scope
/devices:
get:
description: Returns a list of Devices
operationId: listDevices
parameters:
- description: Tag name
in: query
name: tag_name
required: false
schema:
type: string
- description: Tag value
in: query
name: tag_value
required: false
schema:
type: string
- description: Tag value match mode (exact | prefix)
in: query
name: tag_value_match_mode
required: false
schema:
type: string
- description: ID of the last Device in the previous page. By specifying this
parameter, you can continue to retrieve the list from the next device onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
- description: Max number of Devices in a response
in: query
name: limit
required: false
schema:
default: -1
format: int32
type: integer
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Device'
type: array
description: List of Devices
security:
- api_key: []
api_token: []
summary: Returns a list of Devices
tags:
- Device
x-soracom-cli:
- devices list
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
post:
description: Creates a new Device
operationId: createDevice
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
description: Device to create
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
description: Device created
security:
- api_key: []
api_token: []
summary: Creates a new Device
tags:
- Device
x-soracom-cli:
- devices create
/devices/{device_id}:
delete:
description: Delete Device
operationId: deleteDevice
parameters:
- description: Device to delete
in: path
name: device_id
required: true
schema:
type: string
responses:
"204":
description: Device deleted
"404":
description: No such device found
security:
- api_key: []
api_token: []
summary: Delete Device
tags:
- Device
x-soracom-cli:
- devices delete
get:
description: Returns a Device identified by device ID
operationId: getDevice
parameters:
- description: Device ID
in: path
name: device_id
required: true
schema:
type: string
- description: Whether or not to add model information
in: query
name: model
required: false
schema:
default: false
type: boolean
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
description: A Device identified by device ID
"404":
description: No such device found
security:
- api_key: []
api_token: []
summary: Returns a Device identified by device ID
tags:
- Device
x-soracom-cli:
- devices get
/devices/{device_id}/{object}/{instance}:
get:
description: Get resources under an object instance of a device
operationId: readDeviceResources
parameters:
- description: Target device
in: path
name: device_id
required: true
schema:
type: string
- description: Object ID
in: path
name: object
required: true
schema:
type: string
- description: Instance ID
in: path
name: instance
required: true
schema:
type: string
- description: Whether or not to add model information
in: query
name: model
required: false
schema:
default: false
type: boolean
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectInstance'
description: Resources under the specified object instance
"400":
description: Object instance is not readable (including cases of connection
errors such as device offline).
"404":
description: Object instance is not found
security:
- api_key: []
api_token: []
summary: Get resources under an object instance of a device
tags:
- Device
x-soracom-cli:
- devices get-instance
/devices/{device_id}/{object}/{instance}/{resource}:
get:
description: Get the specified resource of a device
operationId: readDeviceResource
parameters:
- description: Target device
in: path
name: device_id
required: true
schema:
type: string
- description: Object ID
in: path
name: object
required: true
schema:
type: string
- description: Instance ID
in: path
name: instance
required: true
schema:
type: string
- description: Resource ID
in: path
name: resource
required: true
schema:
type: string
- description: Whether or not to add model information
in: query
name: model
required: false
schema:
default: false
type: boolean
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceInstance'
description: Resource
"400":
description: Resource is not readable (including cases of connection errors
such as device offline).
"404":
description: Resource is not found
security:
- api_key: []
api_token: []
summary: Get the specified resource of a device
tags:
- Device
x-soracom-cli:
- devices get-resource
put:
description: Write value to a resource of a device
operationId: writeDeviceResource
parameters:
- description: Target device
in: path
name: device_id
required: true
schema:
type: string
- description: Object ID
in: path
name: object
required: true
schema:
type: string
- description: Instance ID
in: path
name: instance
required: true
schema:
type: string
- description: Resource ID
in: path
name: resource
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
value:
oneOf:
- type: string
- type: number
- type: boolean
type: object
description: Value(s) to write to the resource. This value accepts LwM2M basic
data types. You have to use the property name `values` (instead of `value`)
with an array value if the resource model is multiple-mode.
required: true
responses:
"202":
description: Updating resource is accepted
"400":
description: Specified Resource does not support write (Including case of
connection error such as offline device)
"404":
description: Resource is not found
"500":
description: Error response from the device. (It includes the case where
the LwM2M response message is error from the device. The error message
from the device is included in the response 'message'. )
security:
- api_key: []
api_token: []
summary: Write value to a resource of a device
tags:
- Device
x-soracom-cli:
- devices put-resource
/devices/{device_id}/{object}/{instance}/{resource}/execute:
post:
description: Executes a resource of a device
operationId: executeDeviceResource
parameters:
- description: Target device
in: path
name: device_id
required: true
schema:
type: string
- description: Object ID
in: path
name: object
required: true
schema:
type: string
- description: Instance ID
in: path
name: instance
required: true
schema:
type: string
- description: Resource ID
in: path
name: resource
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
properties:
value:
type: string
type: object
description: Argument string when executing the resource
responses:
"202":
description: Execution request is accepted
"400":
description: Resource is not executable (including cases of connection errors
such as device offline)
"404":
description: Resource is not found
security:
- api_key: []
api_token: []
summary: Executes a resource of a device
tags:
- Device
x-soracom-cli:
- devices execute-resource
/devices/{device_id}/{object}/{instance}/{resource}/observe:
post:
description: Triggers observation of the specified resource of a device. Once
observation is started, the server will be notified when there is a change
in value on the device side.
operationId: observeDeviceResource
parameters:
- description: Target device
in: path
name: device_id
required: true
schema:
type: string
- description: Object ID
in: path
name: object
required: true
schema:
type: string
- description: Instance ID
in: path
name: instance
required: true
schema:
type: string
- description: Resource ID
in: path
name: resource
required: true
schema:
type: string
- description: Whether or not to add model information
in: query
name: model
required: false
schema:
default: false
type: boolean
responses:
"202":
description: Observation started.
"400":
description: Resource is not readable (including cases of connection errors
such as device offline).
"404":
description: Resource is not found
security:
- api_key: []
api_token: []
summary: Triggers observation of the specified resource of a device
tags:
- Device
x-soracom-cli:
- devices observe-resource
/devices/{device_id}/{object}/{instance}/{resource}/unobserve:
post:
description: Stops observation of a resource of a device
operationId: unobserveDeviceResource
parameters:
- description: Target device
in: path
name: device_id
required: true
schema:
type: string
- description: Object ID
in: path
name: object
required: true
schema:
type: string
- description: Instance ID
in: path
name: instance
required: true
schema:
type: string
- description: Resource ID
in: path
name: resource
required: true
schema:
type: string
responses:
"204":
description: Observation cancelled
"404":
description: Resource is not found
security:
- api_key: []
api_token: []
summary: Stops observation of a resource of a device
tags:
- Device
x-soracom-cli:
- devices unobserve-resource
/devices/{device_id}/{object}/{instance}/observe:
post:
description: Triggers observation of resources under an object instance of a
device
operationId: observeDeviceResources
parameters:
- description: Target device
in: path
name: device_id
required: true
schema:
type: string
- description: Object ID
in: path
name: object
required: true
schema:
type: string
- description: Instance ID
in: path
name: instance
required: true
schema:
type: string
- description: Whether or not to add model information
in: query
name: model
required: false
schema:
default: false
type: boolean
responses:
"202":
description: Observation started.
"400":
description: Resource is not readable (including cases of connection errors
such as device offline).
"404":
description: Resource is not found
security:
- api_key: []
api_token: []
summary: Triggers observation of resources under an object instance of a device
tags:
- Device
x-soracom-cli:
- devices observe-resources
/devices/{device_id}/{object}/{instance}/unobserve:
post:
description: Stops observation of resources under an object instance of a device
operationId: unobserveDeviceResources
parameters:
- description: Target device
in: path
name: device_id
required: true
schema:
type: string
- description: Object ID
in: path
name: object
required: true
schema:
type: string
- description: Instance ID
in: path
name: instance
required: true
schema:
type: string
responses:
"204":
description: Observation cancelled
"404":
description: Resource is not found
security:
- api_key: []
api_token: []
summary: Stops observation of resources under an object instance of a device
tags:
- Device
x-soracom-cli:
- devices unobserve-resources
/devices/{device_id}/data:
get:
description: |
Retrieves data that matches the specified conditions from the data sent by the specified Inventory device to Harvest Data. If the data entries do not fit in one page, a URL to retrieve the next page with the same conditions will be included in the `link` header of the response.
operationId: getDataFromDevice
parameters:
- description: ID of the Inventory device from which to retrieve data. The ID
of an Inventory device can be obtained using the [Device:listDevices API](#!/Device/listDevices).
in: path
name: device_id
required: true
schema:
type: string
- description: Start time of the target period (UNIX time in milliseconds).
in: query
name: from
required: false
schema:
type: integer
- description: End time of the target period (UNIX time in milliseconds).
in: query
name: to
required: false
schema:
type: integer
- description: Sort order of data entries. Either descending order (latest data
entry first) or ascending order (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 (1 to 1000). The default
is `10`.
in: query
name: limit
required: false
schema:
maximum: 1000
minimum: 1
type: integer
- description: Timestamp of the last data entry retrieved on the previous page.
By specifying this parameter, the list starting from the next data entry
can be obtained.
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: Retrieves data sent from an Inventory device to Harvest Data
tags:
- Device
x-soracom-cli:
- devices get-data
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/devices/{device_id}/set_group:
post:
description: Adds an Inventory device to an Inventory group.
operationId: setDeviceGroup
parameters:
- description: Device ID of the target Inventory device.
in: path
name: device_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/Device'
description: Inventory device was successfully added to the group.
"404":
description: Specified Inventory device was not found.
security:
- api_key: []
api_token: []
summary: Adds an Inventory device to an Inventory group
tags:
- Device
x-soracom-cli:
- devices set-group
/devices/{device_id}/tags:
put:
description: Updates device tags
operationId: putDeviceTags
parameters:
- description: Device to update
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
items:
$ref: '#/components/schemas/TagUpdateRequest'
type: array
description: Array of values for tags to be updated.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
description: Device updated
"404":
description: No such device found
security:
- api_key: []
api_token: []
summary: Updates device tags
tags:
- Device
x-soracom-cli:
- devices put-device-tags
/devices/{device_id}/tags/{tag_name}:
delete:
description: Delete device tag
operationId: deleteDeviceTag
parameters:
- description: Device to update
in: path
name: device_id
required: true
schema:
type: string
- description: Name of tag to delete
in: path
name: tag_name
required: true
schema:
type: string
responses:
"204":
description: Device tag deleted
"404":
description: No such device or tag found
security:
- api_key: []
api_token: []
summary: Delete device tag
tags:
- Device
x-soracom-cli:
- devices delete-device-tag
/devices/{device_id}/unset_group:
post:
description: Removes an Inventory device from an Inventory group.
operationId: unsetDeviceGroup
parameters:
- description: Device ID of the target Inventory device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
description: Inventory device was successfully removed from the group.
"404":
description: Specified Inventory device was not found.
security:
- api_key: []
api_token: []
summary: Removes an Inventory device from an Inventory group
tags:
- Device
x-soracom-cli:
- devices unset-group
/diagnostics:
post:
description: Send a diagnostic request.
operationId: sendDiagnosticRequest
requestBody:
content:
application/json:
examples:
Diagnosing SORACOM Air for Cellular:
value:
from: 1655251200000
resouceType: sim
resourceId: XXXXXXXXXXXXXXXXXXX
service: Air
to: 1655337600000
schema:
$ref: '#/components/schemas/DiagnosticRequest'
description: request
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/DiagnosticResponse'
description: Successfully accepted a diagnostic request.
"400":
description: Bad definitions among diagnostic time range (from/to queries).
"404":
description: The specified resource is not found.
security:
- api_key: []
api_token: []
summary: Send diagnostic request
tags:
- Diagnostic
x-soracom-cli:
- diagnostics send-request
/diagnostics/{diagnostic_id}:
get:
description: Returns a diagnostic.
operationId: getDiagnostic
parameters:
- description: The identifier of diagnostic request.
in: path
name: diagnostic_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/DiagnosticResponse'
description: OK.
"404":
description: The specified diagnostic_id is not found.
security:
- api_key: []
api_token: []
summary: Get diagnostic
tags:
- Diagnostic
x-soracom-cli:
- diagnostics get
/event_handlers:
get:
description: Returns a list of event handlers.
operationId: listEventHandlers
parameters:
- description: The event handler target (the target for executing events).
in: query
name: target
required: false
schema:
enum:
- operator
- imsi
- sim
- group
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/EventHandlerModel'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: List Event Handlers
tags:
- EventHandler
x-soracom-cli:
- event-handlers list
post:
description: Creates a new event handler. Please see also https://developers.soracom.io/en/docs/air/event-handler/.
operationId: createEventHandler
requestBody:
content:
application/json:
examples:
(01) Execute multiple actions when a subscriber's monthly data traffic volume exceeds a certain limit.:
value:
actionConfigList:
- properties:
executionDateTimeConst: IMMEDIATELY
speedClass: s1.minimum
type: ChangeSpeedClassAction
- properties:
executionDateTimeConst: BEGINNING_OF_NEXT_MONTH
speedClass: s1.standard
type: ChangeSpeedClassAction
- properties:
message: |-
Target IoT SIM: ${imsi}
The monthly data traffic volume of the IoT SIM has reached 1024 MiB, and the communication speed has been limited to "s1.minimum".
title: Notification of Speed Limitation
type: SendMailToOperatorAction
- properties:
message: |-
Target IoT SIM: ${imsi}
Since the speed limitation period has ended, the communication speed has been set to "s1.standard".
title: Notification of Speed Limitation Release
type: SendMailToOperatorAction
description: Sample description
name: Event handler
ruleConfig:
properties:
inactiveTimeoutDateConst: BEGINNING_OF_NEXT_MONTH
limitTotalTrafficMegaByte: 1024
type: SubscriberMonthlyTrafficRule
status: active
targetOperatorId: OP0000000000
(02) Notify on Slack when the speed class of an IoT SIM changes.:
value:
actionConfigList:
- properties:
body: '{"text":"${imsi} speed class changed from ${oldSpeedClass}
to ${newSpeedClass}"}'
contentType: application/json
executionDateTimeConst: IMMEDIATELY
headers: '{"contentType":"application/json; charset=utf-8"}'
httpMethod: POST
url: https://hooks.slack.com/services/XXXX
type: ExecuteWebRequestAction
name: SpeedClass
ruleConfig:
properties:
inactiveTimeoutDateConst: IMMEDIATELY
type: SimSpeedClassAttributeRule
status: active
targetOperatorId: OP0000000000
(03) If the daily data traffic volume exceeds 100 MiB, limit the speed for 24 hours and send an email notification.:
value:
actionConfigList:
- properties:
executionDateTimeConst: IMMEDIATELY
speedClass: s1.slow
type: ChangeSpeedClassAction
- properties:
executionDateTimeConst: AFTER_ONE_DAY
speedClass: s1.fast
type: ChangeSpeedClassAction
- properties:
executionDateTimeConst: IMMEDIATELY
message: Speed limitation will be implemented as the daily data
traffic volume has reached 100 MiB.
title: Notification from Soracom
to: notify@exmaple.com
type: SendMailAction
- properties:
executionDateTimeConst: AFTER_ONE_DAY
message: Speed limitation will be released
title: Notification from Soracom
to: notify@exmaple.com
type: SendMailAction
description: Limit speed for 24 hours if daily data traffic volume
exceeds 100 MiB.
name: 100 MiB Limit
ruleConfig:
properties:
inactiveTimeoutDateConst: AFTER_ONE_DAY
limitTotalTrafficMegaByte: "100"
type: SubscriberDailyTrafficRule
status: active
targetImsi: xxxxxxxxxxxx
(04) Call AWS Lambda when the cumulative data traffic volume reaches 3000 MiB.:
description: |
For cumulative events, `inactiveTimeoutDateConst` is set to `NEVER` (not re-evaluated).
value:
actionConfigList:
- properties:
credentialsId: '{Authentication ID}'
endpoint: https://lambda.ap-northeast-1.amazonaws.com
executionDateTimeConst: IMMEDIATELY
functionName: '{Lambda function name}'
parameter1: param1
parameter2: param2
parameter3: param3
type: InvokeAWSLambdaAction
description: Call AWS Lambda when cumulative data traffic volume
reaches 3000 MiB.
name: 3000 MiB Limit
ruleConfig:
properties:
inactiveTimeoutDateConst: NEVER
limitTotalTrafficMegaByte: "3000"
type: SimCumulativeTotalTrafficRule
status: active
targetOperatorId: OP0000000000
(05) Save history in AWS Lambda when changing speed class.:
description: |
The idea is to send the before and after speed classes to AWS Lambda using variables available in the speed class change rule (`${newSpeedClass}` and `${oldSpeedClass}`), and save the history in a database or similar in AWS Lambda.
value:
actionConfigList:
- properties:
credentialsId: '{Authentication ID}'
endpoint: https://lambda.ap-northeast-1.amazonaws.com
executionDateTimeConst: IMMEDIATELY
functionName: '{Lambda function name}'
parameter1: ${oldSpeedClass}
parameter2: ${newSpeedClass}
type: InvokeAWSLambdaAction
description: Save history in AWS Lambda when changing speed class.
name: SpeedClass Change
ruleConfig:
properties:
inactiveTimeoutDateConst: IMMEDIATELY
targetSpeedClass: null
type: SubscriberSpeedClassAttributeRule
status: active
targetOperatorId: OP0000000000
(06) Send a request to a specified URL when the data traffic volume of a subscriber is recorded for the first time.:
value:
actionConfigList:
- properties:
body: '{"text":"${imsi} speed class changed from ${oldSpeedClass}
to ${newSpeedClass}"}'
contentType: application/json
executionDateTimeConst: IMMEDIATELY
headers: '{"contentType":"application/json; charset=utf-8"}'
httpMethod: POST
url: https://hooks.slack.com/services/XXXX
type: ExecuteWebRequestAction
description: Sample description
name: Event handler
ruleConfig:
properties:
inactiveTimeoutDateConst: NEVER
type: SubscriberFirstTrafficRule
status: active
targetOperatorId: OP0000000000
(07) Send an email when a subscriber's daily data traffic volume exceeds a certain limit.:
value:
actionConfigList:
- properties:
executionDateTimeConst: IMMEDIATELY
message: 'IMSI: ${imsi} daily data traffic volume has reached
10 MiB.'
title: Notification from SORACOM
to: notify@exmaple.com
type: SendMailAction
description: Sample description
name: Event handler
ruleConfig:
properties:
inactiveTimeoutDateConst: BEGINNING_OF_NEXT_DAY
inactiveTimeoutOffsetMinutes: "5"
limitTotalTrafficMegaByte: "10"
type: SubscriberDailyTrafficRule
status: active
targetOperatorId: OP0000000000
(08) Change the speed class of an IoT SIM when a subscriber's monthly data traffic volume exceeds a certain limit.:
value:
actionConfigList:
- properties:
executionDateTimeConst: IMMEDIATELY
speedClass: s1.minimum
type: ChangeSpeedClassAction
description: Sample description
name: Event handler
ruleConfig:
properties:
inactiveTimeoutDateConst: BEGINNING_OF_NEXT_MONTH
limitTotalTrafficMegaByte: "1024"
type: SubscriberMonthlyTrafficRule
status: active
targetOperatorId: OP0000000000
(09) Change the status of an IoT SIM when the cumulative data traffic volume from the start of use exceeds a certain limit.:
value:
actionConfigList:
- properties:
executionDateTimeConst: IMMEDIATELY
type: SuspendAction
description: Sample description
name: Event handler
ruleConfig:
properties:
inactiveTimeoutDateConst: NEVER
limitTotalTrafficMegaByte: "10240"
type: SubscriberCumulativeTrafficRule
status: active
targetOperatorId: OP0000000000
(10) Send a request to a specified URL when the status of an IoT SIM changes.:
value:
actionConfigList:
- properties:
body: '{"text":"${imsi} status changed from ${oldStatus} to
${newStatus}"}'
contentType: application/json
executionDateTimeConst: IMMEDIATELY
headers: '{"contentType":"application/json; charset=utf-8"}'
httpMethod: POST
url: https://hooks.slack.com/services/XXXX
type: ExecuteWebRequestAction
description: Sample description
name: Event handler
ruleConfig:
properties:
inactiveTimeoutDateConst: NEVER
sourceStatus: ready
targetStatus: active
type: SimStatusAttributeRule
status: active
targetOperatorId: OP0000000000
(11) Call AWS Lambda when the speed class of an IoT SIM changes.:
value:
actionConfigList:
- properties:
credentialsId: '{Authentication ID}'
endpoint: https://lambda.ap-northeast-1.amazonaws.com
executionDateTimeConst: IMMEDIATELY
functionName: '{Lambda function name}'
parameter1: param1
parameter2: param2
parameter3: param3
type: InvokeAWSLambdaAction
description: Sample description
name: Event handler
ruleConfig:
properties:
inactiveTimeoutDateConst: IMMEDIATELY
targetSpeedClass: s1.4xfast
type: SimSpeedClassAttributeRule
status: active
targetOperatorId: OP0000000000
(12) Send an email to the operator's primary email address when the validity period of an IoT SIM expires.:
value:
actionConfigList:
- properties:
executionDateTimeConst: IMMEDIATELY
message: 'IMSI: ${imsi}''s validity period has expired.'
title: Notification from Soracom
type: SendMailToOperatorAction
description: Sample description
name: Event handler
ruleConfig:
properties:
inactiveTimeoutDateConst: BEGINNING_OF_NEXT_MONTH
type: SubscriberExpiredRule
status: active
targetOperatorId: OP0000000000
(13) Call AWS Lambda when an IoT SIM fails to connect due to an IMEI lock.:
value:
actionConfigList:
- properties:
credentialsId: '{Authentication ID}'
endpoint: https://lambda.ap-northeast-1.amazonaws.com
executionDateTimeConst: IMMEDIATELY
functionName: '{Lambda function name}'
parameter1: param1
parameter2: param2
parameter3: param3
type: InvokeAWSLambdaAction
description: Sample description
name: Event handler
ruleConfig:
properties:
inactiveTimeoutDateConst: AFTER_ONE_DAY
type: SubscriberImeiMismatchedRule
status: active
targetOperatorId: OP0000000000
(14) Send an email when the total daily data traffic volume of all subscribers linked to an IoT SIM exceeds a certain limit.:
value:
actionConfigList:
- properties:
executionDateTimeConst: IMMEDIATELY
message: 'SIM ID: ${simId}''s total daily data traffic volume
has reached 10 MiB.'
title: Notification from Soracom
to: notify@exmaple.com
type: SendMailAction
description: Sample description
name: Event handler
ruleConfig:
properties:
inactiveTimeoutDateConst: BEGINNING_OF_NEXT_DAY
inactiveTimeoutOffsetMinutes: "5"
limitTotalTrafficMegaByte: "10"
runOnceAmongTarget: "true"
type: SimDailyTotalTrafficRule
status: active
targetOperatorId: OP0000000000
? (15) Change the speed class of an IoT SIM when the total monthly data
traffic volume of all subscribers linked to it exceeds a certain limit.
: value:
actionConfigList:
- properties:
executionDateTimeConst: IMMEDIATELY
speedClass: s1.minumum
type: ChangeSpeedClassAction
description: Sample description
name: Event handler
ruleConfig:
properties:
inactiveTimeoutDateConst: BEGINNING_OF_NEXT_MONTH
limitTotalTrafficMegaByte: "1024"
runOnceAmongTarget: "true"
type: SimMonthlyTotalTrafficRule
status: active
targetOperatorId: OP0000000000
? (16) Change the status of an IoT SIM when the total cumulative data
traffic volume from the start of use of all linked subscribers exceeds
a certain limit.
: value:
actionConfigList:
- properties:
executionDateTimeConst: IMMEDIATELY
type: SuspendAction
description: Sample description
name: Event handler
ruleConfig:
properties:
inactiveTimeoutDateConst: NEVER
limitTotalTrafficMegaByte: "10240"
runOnceAmongTarget: "true"
type: SimCumulativeTotalTrafficRule
status: active
targetOperatorId: OP0000000000
(17) Call AWS Lambda when a subscription is added to an IoT SIM.:
value:
actionConfigList:
- properties:
credentialsId: '{Authentication ID}'
endpoint: https://lambda.ap-northeast-1.amazonaws.com
executionDateTimeConst: IMMEDIATELY
functionName: '{Lambda function name}'
parameter1: param1
parameter2: param2
parameter3: param3
type: InvokeAWSLambdaAction
description: Sample description
name: Event handler
ruleConfig:
properties:
inactiveTimeoutDateConst: NEVER
runOnceAmongTarget: "false"
targetOtaStatus: started
type: SimSubscriptionStatusRule
status: active
targetOperatorId: OP0000000000
? (18) Send an email to the operator's primary email address when the
total daily data traffic volume of all IoT SIMs linked to the operator
exceeds a certain limit.
: value:
actionConfigList:
- properties:
executionDateTimeConst: IMMEDIATELY
message: The total daily data traffic volume of all IoT SIMs
linked to the operator has exceeded 1024 MiB.
title: Notification from Soracom
type: SendMailToOperatorAction
description: Sample description
name: Event handler
ruleConfig:
properties:
inactiveTimeoutDateConst: BEGINNING_OF_NEXT_DAY
limitTotalTrafficMegaByte: "1024"
runOnceAmongTarget: "false"
type: DailyTotalTrafficRule
status: active
targetOperatorId: OP0000000000
? (19) Change the speed class of IoT SIMs when the total monthly data
traffic volume of all IoT SIMs linked to an operator exceeds a certain
limit.
: value:
actionConfigList:
- properties:
executionDateTimeConst: IMMEDIATELY
speedClass: s1.minumum
type: ChangeSpeedClassAction
description: Sample description
name: Event handler
ruleConfig:
properties:
inactiveTimeoutDateConst: BEGINNING_OF_NEXT_MONTH
limitTotalTrafficMegaByte: "10240"
runOnceAmongTarget: "false"
type: MonthlyTotalTrafficRule
status: active
targetOperatorId: OP0000000000
(20) Change the status of IoT SIMs when this month's usage fee exceeds a set amount.:
value:
actionConfigList:
- properties:
executionDateTimeConst: IMMEDIATELY
type: SuspendAction
description: Sample description
name: Event handler
ruleConfig:
properties:
inactiveTimeoutDateConst: BEGINNING_OF_NEXT_MONTH
limitTotalAmount: "10000"
type: MonthlyChargeRule
status: active
targetOperatorId: OP0000000000
schema:
$ref: '#/components/schemas/CreateEventHandlerRequest'
description: Event handler settings.
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/EventHandlerModel'
description: Created.
security:
- api_key: []
api_token: []
summary: Create Event Handler
tags:
- EventHandler
x-soracom-cli:
- event-handlers create
/event_handlers/{handler_id}:
delete:
description: Deletes the specified event handler.
operationId: deleteEventHandler
parameters:
- description: Event handler ID.
in: path
name: handler_id
required: true
schema:
type: string
responses:
"204":
description: OK.
"404":
description: Event Handler not found.
security:
- api_key: []
api_token: []
summary: Delete Event Handler
tags:
- EventHandler
x-soracom-cli:
- event-handlers delete
get:
description: Returns information about the specified event handler.
operationId: getEventHandler
parameters:
- description: Event handler ID.
in: path
name: handler_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/EventHandlerModel'
description: OK.
"404":
description: Event Handler not found.
security:
- api_key: []
api_token: []
summary: Get Event Handler
tags:
- EventHandler
x-soracom-cli:
- event-handlers get
put:
description: Updates the specified event handler. Please see also https://developers.soracom.io/en/docs/air/event-handler/.
operationId: updateEventHandler
parameters:
- description: Event handler ID.
in: path
name: handler_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateEventHandlerRequest'
description: Event handler settings.
required: true
responses:
"200":
description: OK.
"400":
description: Invalid event handler ID.
security:
- api_key: []
api_token: []
summary: Update Event Handler
tags:
- EventHandler
x-soracom-cli:
- event-handlers update
/event_handlers/{handler_id}/subscribers/{imsi}/ignore:
delete:
description: Deletes the setting for ignoring the specified event handler of
the specified IMSI.
operationId: deleteIgnoreEventHandler
parameters:
- description: IMSI.
in: path
name: imsi
required: true
schema:
type: string
- description: Event handler ID.
in: path
name: handler_id
required: true
schema:
type: string
responses:
"204":
description: OK.
"404":
description: Event Handler not found.
security:
- api_key: []
api_token: []
summary: Delete Ignore Event Handler
tags:
- EventHandler
x-soracom-cli:
- event-handlers unignore
post:
description: Adds a setting for ignoring the specified event handler of the
specified IMSI.
operationId: setIgnoreEventHandler
parameters:
- description: IMSI.
in: path
name: imsi
required: true
schema:
type: string
- description: Event handler ID.
in: path
name: handler_id
required: true
schema:
type: string
responses:
"200":
description: OK.
security:
- api_key: []
api_token: []
summary: Ignore Event Handler
tags:
- EventHandler
x-soracom-cli:
- event-handlers ignore
/event_handlers/subscribers/{imsi}:
get:
description: Returns a list of event handlers related to the specified IMSI.
operationId: listEventHandlersBySubscriber
parameters:
- description: IMSI.
in: path
name: imsi
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/EventHandlerModel'
type: array
description: OK.
"404":
description: Event Handler not found.
security:
- api_key: []
api_token: []
summary: List Event Handlers related to Subscriber
tags:
- EventHandler
x-soracom-cli:
- event-handlers list-for-subscriber
/files:
get:
description: Returns a list of file entries which beginnings of their file paths
are matched with the `prefix` query string in the ascending sorted UTF-8 bytes
order of their file paths. An empty list is returned if the prefix does not
match with any paths of file entries.
operationId: findFiles
parameters:
- description: Scope of the request. Specify `private` to handle files uploaded
to Harvest Files.
in: query
name: scope
required: true
schema:
enum:
- private
- public
type: string
- description: Prefix to match with file path.
in: query
name: prefix
required: true
schema:
type: string
- description: Maximum number of file entries to be returned.
in: query
name: limit
required: false
schema:
default: 10
type: integer
- description: The filePath of the last file entry retrieved on the previous
page. By specifying this parameter, you can continue to retrieve the list
from the next file entry onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/FileEntry'
type: array
description: List of file entries found with query parameters. Empty list
if there is no file entry matching prefix.
"404":
description: The specified scope does not exist.
security:
- api_key: []
api_token: []
summary: Find files with prefix query parameter in the scope
tags:
- FileEntry
x-soracom-cli:
- files find
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/files/{scope}/{path}:
delete:
description: Deletes the file specified by scope and path. Only `private` scope
is allowed for the operation.
operationId: deleteFile
parameters:
- description: Scope of the request. Specify `private` to handle files uploaded
to Harvest Files.
in: path
name: scope
required: true
schema:
default: private
enum:
- private
type: string
- description: Target path.
in: path
name: path
required: true
schema:
type: string
responses:
"204":
description: The specified file is successfully deleted.
"404":
description: No such file.
security:
- api_key: []
api_token: []
summary: Deletes the file specified by scope and path.
tags:
- FileEntry
x-soracom-cli:
- files delete
get:
description: Download file specified by the path and the scope. Note that [FileEntry:listFiles
API](#!/FileEntry/listFiles) will be called if the path ends with `/`.
operationId: getFile
parameters:
- description: Scope of the request. Specify `private` to handle files uploaded
to Harvest Files.
in: path
name: scope
required: true
schema:
default: private
enum:
- private
- public
type: string
- description: Target path.
in: path
name: path
required: true
schema:
type: string
responses:
"302":
description: Redirection to a link to download a file. If the specified
path is a directory, redirection to the listFiles API.
"404":
description: No such file.
security:
- api_key: []
api_token: []
summary: Download file specified by the path and the scope
tags:
- FileEntry
x-soracom-cli:
- files get
head:
description: Gets the metadata of the file specified by the path and the scope.
operationId: getFileMetadata
parameters:
- description: Scope of the request. Specify `private` to handle files uploaded
to Harvest Files.
in: path
name: scope
required: true
schema:
default: private
enum:
- private
- public
type: string
- description: Target path.
in: path
name: path
required: true
schema:
type: string
responses:
"200":
description: Metadata of the file
headers:
Content-Length:
description: File size (bytes)
schema:
type: integer
Content-Type:
description: File's Content-Type
schema:
type: string
ETag:
description: Identifier representing the file version
schema:
type: string
"404":
description: No such file.
security:
- api_key: []
api_token: []
summary: Gets the metadata of the file specified by the path and the scope
tags:
- FileEntry
x-soracom-cli:
- files get-metadata
put:
description: Uploads the file to the specified path in the scope. Only `private`
scope is allowed for the operation.
operationId: putFile
parameters:
- description: Scope of the request. Specify `private` to handle files uploaded
to Harvest Files.
in: path
name: scope
required: true
schema:
default: private
enum:
- private
type: string
- description: Target path.
in: path
name: path
required: true
schema:
type: string
- description: Content-Type of the file to be uploaded.
in: header
name: content-type
schema:
type: string
requestBody:
content:
'*/*':
schema:
format: binary
type: string
description: Contents of the file to be updated.
required: true
responses:
"200":
description: File is successfully updated with the content.
"201":
description: File is successfully created.
security:
- api_key: []
api_token: []
summary: Uploads the file to the specified path in the scope.
tags:
- FileEntry
x-soracom-cli:
- files put
/files/{scope}/{path}/:
delete:
description: Deletes the directory specified by scope and path. Only `private`
scope is allowed for the operation.
operationId: deleteDirectory
parameters:
- description: Scope of the request. Specify `private` to handle files uploaded
to Harvest Files.
in: path
name: scope
required: true
schema:
default: private
enum:
- private
type: string
- description: Target path.
in: path
name: path
required: true
schema:
type: string
responses:
"204":
description: The specified directory is successfully deleted.
"400":
description: The specified directory is not empty.
"404":
description: No such directory.
security:
- api_key: []
api_token: []
summary: Deletes the directory specified by scope and path
tags:
- FileEntry
x-soracom-cli:
- files delete-directory
get:
description: |
Returns files and directories from the directory specified by the scope and path. Note that [FileEntry:getFile API](#!/FileEntry/getFile) will be called if the path does not end in `/`. If the total number of entries does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response.
operationId: listFiles
parameters:
- description: Scope of the request. Specify `private` to handle files uploaded
to Harvest Files.
in: path
name: scope
required: true
schema:
default: private
enum:
- private
- public
type: string
- description: Target path.
in: path
name: path
required: true
schema:
default: /
type: string
- description: Maximum number of file entries to be returned.
in: query
name: limit
required: false
schema:
default: 10
type: integer
- description: The filename of the last file entry retrieved on the previous
page. By specifying this parameter, you can continue to retrieve the list
from the next file entry onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/FileEntry'
type: array
description: Files and directories from the directory specified by the scope
and path.
"404":
description: No such directory.
security:
- api_key: []
api_token: []
summary: Returns files and directories from the directory specified by the scope
and path.
tags:
- FileEntry
x-soracom-cli:
- files list
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/files/exported/{exported_file_id}:
get:
description: |
Get the progress of the process when the file is exported asynchronously. If the export is complete, you will get the URL to download the file. You can download the file from the URL.
The following APIs are available to export files asynchronously. The `exported_file_id` is the file output ID (the value of `exportedFileId`) obtained from the following API.
- [Billing:exportBilling API](#!/Billing/exportBilling)
- [Billing:exportLatestBilling API](#!/Billing/exportLatestBilling)
- [Payment:exportPaymentStatement API](#!/Payment/exportPaymentStatement)
- [Stats:exportAirStats API](#!/Stats/exportAirStats)
- [Stats:exportBeamStats API](#!/Stats/exportBeamStats)
- [Stats:exportFunkStats API](#!/Stats/exportFunkStats)
- [Stats:exportFunnelStats API](#!/Stats/exportFunnelStats)
- [Subscriber:exportSubscribers API](#!/Subscriber/exportSubscribers)
operationId: getExportedFile
parameters:
- description: File export ID.
in: path
name: exported_file_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
status: exported
url: https://soracom-xxxxxxxx-....
schema:
$ref: '#/components/schemas/GetExportedFileResponse'
description: OK
security:
- api_key: []
api_token: []
summary: Get the progress of the process when the file is exported asynchronously.
tags:
- Files
x-soracom-cli:
- files get-exported
/gadgets:
get:
description: |
Returns a list of gadgets that match certain criteria. If the total number of gadgets does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response.
operationId: listGadgets
parameters:
- description: |
Product ID of the target Gadget API compatible device for filtering the search.
- `wimax`: Soracom Cloud Camera Services Cellular Pack.
in: query
name: product_id
required: false
schema:
enum:
- button
- wimax
type: string
- description: Tag name for filtering the search. The search is always an exact
match, regardless of the setting of `tag_value_match_mode`.
in: query
name: tag_name
required: false
schema:
type: string
- description: Specifies a tag value to search for in a URL-encoded (percent-encoded)
string. Required when `tag_name` has been specified.
in: query
name: tag_value
required: false
schema:
type: string
- description: |
Tag match mode.
- `exact`: exact match.
- `prefix`: prefix match.
in: query
name: tag_value_match_mode
required: false
schema:
default: exact
enum:
- exact
- prefix
type: string
- description: Maximum number of Gadget API compatible devices data to retrieve.
in: query
name: limit
required: false
schema:
type: integer
- description: |
The ID (`{product_id}/{serial_number}`) of the last gadget retrieved on the previous page in URL encoding (percent encoding).
By specifying this parameter, you can continue to retrieve the list from the next Gadget API compatible device onward.
The value of the `last_evaluated_key` of `rel=next` returned in the `link` header when the API is called is expected to be specified in the next call, but any ID (`{productId}/{serialNumber}`) can be specified.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Gadget'
type: array
description: A list of Gadget API compatible devices.
security:
- api_key: []
api_token: []
summary: List gadgets
tags:
- Gadget
x-soracom-cli:
- gadgets list
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/gadgets/{product_id}/{serial_number}:
get:
description: Returns information about the specified Gadget API compatible device.
operationId: getGadget
parameters:
- description: |
Product ID of the target Gadget API compatible device.
- `wimax`: Soracom Cloud Camera Services Cellular Pack.
in: path
name: product_id
required: true
schema:
enum:
- button
- wimax
type: string
- description: Serial Number of the target Gadget API compatible device.
in: path
name: serial_number
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Gadget'
description: Detailed information about the specified Gadget API compatible
device.
"404":
description: The specified Gadget API compatible device does not exist.
security:
- api_key: []
api_token: []
summary: Get Gadget API compatible device
tags:
- Gadget
x-soracom-cli:
- gadgets get
/gadgets/{product_id}/{serial_number}/disable_termination:
post:
description: Disables termination of specified Gadget API compatible device.
operationId: disableTerminationOnGadget
parameters:
- description: |
Product ID of the target Gadget API compatible device.
- `wimax`: Soracom Cloud Camera Services Cellular Pack.
in: path
name: product_id
required: true
schema:
enum:
- button
- wimax
type: string
- description: Serial Number of the target Gadget API compatible device.
in: path
name: serial_number
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Gadget'
description: Detailed information about the updated Gadget API compatible
device.
"404":
description: The specified Gadget API compatible device does not exist.
security:
- api_key: []
api_token: []
summary: Disables Termination of Gadget API compatible device
tags:
- Gadget
x-soracom-cli:
- gadgets disable-termination
/gadgets/{product_id}/{serial_number}/enable_termination:
post:
description: Enables termination of specified Gadget API compatible device.
operationId: enableTerminationOnGadget
parameters:
- description: |
Product ID of the target Gadget API compatible device.
- `wimax`: Soracom Cloud Camera Services Cellular Pack.
in: path
name: product_id
required: true
schema:
enum:
- button
- wimax
type: string
- description: Serial Number of the target Gadget API compatible device.
in: path
name: serial_number
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Gadget'
description: Detailed information about the updated Gadget API compatible
device.
"404":
description: The specified Gadget API compatible device does not exist.
security:
- api_key: []
api_token: []
summary: Enables Termination of Gadget API compatible device
tags:
- Gadget
x-soracom-cli:
- gadgets enable-termination
/gadgets/{product_id}/{serial_number}/register:
post:
description: Registers a Gadget API compatible device.
operationId: registerGadget
parameters:
- description: |
Product ID of the target Gadget API compatible device.
- `wimax`: Soracom Cloud Camera Services Cellular Pack.
in: path
name: product_id
required: true
schema:
enum:
- button
- wimax
type: string
- description: Serial Number of the target Gadget API compatible device.
in: path
name: serial_number
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GadgetRegistrationRequest'
description: Gadget registration request.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Gadget'
description: Gadget API compatible device successfully registered.
"404":
description: No such resource found.
security:
- api_key: []
api_token: []
summary: Registers a Gadget API compatible device
tags:
- Gadget
x-soracom-cli:
- gadgets register
/gadgets/{product_id}/{serial_number}/tags:
put:
description: Inserts/updates tags for the specified Gadget API compatible device.
operationId: putGadgetTags
parameters:
- description: |
Product ID of the target Gadget API compatible device.
- `wimax`: Soracom Cloud Camera Services Cellular Pack.
in: path
name: product_id
required: true
schema:
enum:
- button
- wimax
type: string
- description: Serial Number of the target Gadget API compatible device.
in: path
name: serial_number
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/Gadget'
description: Detailed information about the updated Gadget API compatible
device.
"404":
description: The specified Gadget API compatible device does not exist.
security:
- api_key: []
api_token: []
summary: Bulk Insert or Update Gadget API compatible device tags
tags:
- Gadget
x-soracom-cli:
- gadgets put-tags
/gadgets/{product_id}/{serial_number}/tags/{tag_name}:
delete:
description: Deletes a tag from the specified Gadget API compatible device.
operationId: deleteGadgetTag
parameters:
- description: |
Product ID of the target Gadget API compatible device.
- `wimax`: Soracom Cloud Camera Services Cellular Pack.
in: path
name: product_id
required: true
schema:
enum:
- button
- wimax
type: string
- description: Serial Number of the target Gadget API compatible device.
in: path
name: serial_number
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 Gadget API compatible devices or the tags does
not exist.
security:
- api_key: []
api_token: []
summary: Deletes tags from Gadget API compatible device
tags:
- Gadget
x-sam-operationId: deleteTag
x-soracom-cli:
- gadgets delete-tag
/gadgets/{product_id}/{serial_number}/terminate:
post:
description: Terminates the specified Gadget API compatible device.
operationId: terminateGadget
parameters:
- description: |
Product ID of the target Gadget API compatible device.
- `wimax`: Soracom Cloud Camera Services Cellular Pack.
in: path
name: product_id
required: true
schema:
enum:
- button
- wimax
type: string
- description: Serial Number of the target Gadget API compatible device.
in: path
name: serial_number
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Gadget'
description: Detailed information about the updated Gadget API compatible
device.
"404":
description: The specified Gadget API compatible device does not exist.
security:
- api_key: []
api_token: []
summary: Terminates the specified Gadget API compatible device
tags:
- Gadget
x-soracom-cli:
- gadgets terminate
/groups:
get:
description: Returns a list of Groups.
operationId: listGroups
parameters:
- description: Tag name of the group. Filters through all groups that exactly
match the tag name. When tag_name is specified, tag_value is required.
in: query
name: tag_name
required: false
schema:
type: string
- description: Tag value of the groups.
in: query
name: tag_value
required: false
schema:
type: string
- description: Search criteria for tag strings (`tag_value`).
in: query
name: tag_value_match_mode
required: false
schema:
default: exact
enum:
- exact
- prefix
type: string
- description: Maximum number of results per response page.
in: query
name: limit
required: false
schema:
type: integer
- description: The last Group ID retrieved on the current page. By specifying
this parameter, you can continue to retrieve the list from the next group
onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Group'
type: array
description: A list of groups.
security:
- api_key: []
api_token: []
summary: List Groups.
tags:
- Group
x-soracom-cli:
- groups list
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
post:
description: Create a new group.
operationId: createGroup
requestBody:
content:
application/json:
example:
configuration:
SoracomAir:
metadata:
enabled: true
SoracomHarvest:
enabled: true
SoracomHarvestFiles:
enabled: true
tags:
name: Group name
schema:
$ref: '#/components/schemas/CreateGroupRequest'
description: Tags and configuration for a new group to be created.
required: true
responses:
"201":
content:
application/json:
example:
configuration:
SoracomAir:
metadata:
enabled: true
SoracomHarvest:
enabled: true
SoracomHarvestFiles:
enabled: true
createdAt: 1698796800000
createdTime: 1698796800000
groupId: 12345678-abcd-9012-efab-345678901234
lastModifiedAt: 1698796800000
lastModifiedTime: 1698796800000
operatorId: OP0012345678
tags:
name: Group name
schema:
$ref: '#/components/schemas/Group'
description: Created.
security:
- api_key: []
api_token: []
summary: Create Group
tags:
- Group
x-soracom-cli:
- groups create
/groups/{group_id}:
delete:
description: Deletes the group specified by Group ID.
operationId: deleteGroup
parameters:
- description: ID of the target Group.
in: path
name: group_id
required: true
schema:
type: string
responses:
"204":
description: Deletion of specified group complete.
"404":
description: The specified group does not exist.
security:
- api_key: []
api_token: []
summary: Delete Group
tags:
- Group
x-soracom-cli:
- groups delete
get:
description: Returns the group specified by the group ID.
operationId: getGroup
parameters:
- description: ID of the target Group.
in: path
name: group_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
description: Specified Group.
"404":
description: The specified group does not exist.
security:
- api_key: []
api_token: []
summary: Get Group
tags:
- Group
x-soracom-cli:
- groups get
/groups/{group_id}/configuration/{namespace}:
delete:
description: Delete a namespace for the specified group.
operationId: deleteConfigurationNamespace
parameters:
- description: ID of the target Group.
in: path
name: group_id
required: true
schema:
type: string
- description: Namespace to be deleted.
in: path
name: namespace
required: true
schema:
enum:
- SoracomAir
- SoracomBeam
- SoracomEndorse
- SoracomOrbit
- SoracomFunk
- SoracomFunnel
- SoracomHarvest
- SoracomHarvestFiles
- SoracomKrypton
- UnifiedEndpoint
type: string
responses:
"204":
description: The namespace was successfully deleted.
"400":
description: The specified namespace does not exist.
"404":
description: The specified group does not exist.
security:
- api_key: []
api_token: []
summary: Delete Group Configuration Namespace
tags:
- Group
x-soracom-cli:
- groups delete-config-namespace
put:
description: Updates the configuration of the specified group.
operationId: putConfigurationParameters
parameters:
- description: ID of the target group. The group ID can be obtained via the
[Group:listGroups API](#!/Group/listGroups).
in: path
name: group_id
required: true
schema:
type: string
- description: |
A string indicating the configuration target. It varies depending on the configuration content.
- `SoracomAir`: Custom DNS, Metadata service, VPG (Virtual Private Gateway), CHAP authentication, Simple Location function, Binary Parser.
- `SoracomBeam`: SORACOM Beam.
- `SoracomEndorse`: SORACOM Endorse.
- `SoracomFunk`: SORACOM Funk.
- `SoracomFunnel`: SORACOM Funnel.
- `SoracomHarvest`: SORACOM Harvest Data.
- `SoracomHarvestFiles`: SORACOM Harvest Files.
- `SoracomKrypton`: SORACOM Krypton.
- `SoracomOrbit`: SORACOM Orbit.
- `UnifiedEndpoint`: Unified Endpoint.
in: path
name: namespace
required: true
schema:
enum:
- SoracomAir
- SoracomBeam
- SoracomEndorse
- SoracomFunk
- SoracomFunnel
- SoracomHarvest
- SoracomHarvestFiles
- SoracomKrypton
- SoracomOrbit
- UnifiedEndpoint
type: string
requestBody:
content:
application/json:
examples:
(1) Configuring Custom DNS (SoracomAir):
description: |
When configuring [Custom DNS](/en/docs/air/custom-dns/) for IoT SIM, please note the following points.
- Specify `SoracomAir` for the `namespace` path parameter.
- For more information about the `key` and `value` pairs, refer to [Advanced Configuration](/en/docs/air/custom-dns/#advanced-configuration).
value:
- key: useCustomDns
value: true
- key: dnsServers
value:
- 192.168.0.5
- 192.168.0.6
(2) Configuring Metadata Service (SoracomAir):
description: |
When configuring [Metadata Service](/en/docs/air/metadata-service/), please note the following points.
- Specify `SoracomAir` for the `namespace` path parameter.
- For more information about the `key` and `value` pairs, refer to [Advanced Configuration](/en/docs/air/metadata-service/#advanced-configuration).
value:
- key: metadata
value:
allowOrigin: http://some.example.com
enabled: true
minimizeResponseBody: true
readonly: true
- key: userdata
value: foobar
(3) Configuring CHAP Authentication (SoracomAir):
description: |
When [using arbitrary username and password with CHAP authentication](/en/docs/air/chap-authentication/), please note the following points.
- Specify `SoracomAir` for the `namespace` path parameter.
value:
- key: authenticationRequired
value: true
- key: username
value: xxxxx
- key: password
value: yyyyy
(4) Enabling Endorse (SoracomEndorse):
description: |
When [enabling Endorse](/en/docs/endorse/configuration/), please note the following points.
- Specify `SoracomEndorse` for the `namespace` path parameter.
- For more information about the `key` and `value` pairs, refer to [Advanced Configuration](/en/docs/endorse/configuration/#advanced-configuration).
value:
- key: enabled
value: true
- key: parametersToEndorse
value:
imei: true
imsi: true
msisdn: false
requestParameters: true
simId: true
- key: tokenTimeoutSeconds
value: 600
- key: allowOrigin
value: https://soracom.io
- key: authorizedRedirectUrls
value:
- https://soracom.io
- http://localhost:3000
(5) Overwriting timestamp with payload data (SoracomHarvest):
description: |
When overwriting timestamp with payload data on Harvest Data, please note the following points.
- Specify `SoracomHarvest` for the `namespace` path parameter.
- For more information about the `key` and `value` pairs, refer to [Advanced Configuration](/en/docs/harvest/configuration/#advanced-configuration).
value:
- key: enabled
value: true
- key: customTimestamp
value:
format: iso-8601
type: jsonpointer
value: /time
schema:
items:
$ref: '#/components/schemas/GroupConfigurationUpdateRequest'
type: array
description: |
Group configuration.
**Warning**: If you change the settings included in the same `namespace`, please include all existing settings in the request body, not just the changes. Any settings not included in the request body will be reset to their default values.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
description: The Group after the update.
"404":
description: The specified Group does not exist.
security:
- api_key: []
api_token: []
summary: Update group configuration
tags:
- Group
x-soracom-cli:
- groups put-config
/groups/{group_id}/configuration/{namespace}/{name}:
delete:
description: Delete parameters for the specified group.
operationId: deleteConfigurationParameter
parameters:
- description: ID of the target Group.
in: path
name: group_id
required: true
schema:
type: string
- description: Namespace of target parameters.
in: path
name: namespace
required: true
schema:
enum:
- SoracomAir
- SoracomBeam
- SoracomEndorse
- SoracomFunk
- SoracomFunnel
- SoracomHarvest
- SoracomHarvestFiles
- SoracomKrypton
- UnifiedEndpoint
type: string
- description: Parameter 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: name
required: true
schema:
type: string
responses:
"204":
description: The parameter was successfully deleted.
"404":
description: The specified group does not exist.
security:
- api_key: []
api_token: []
summary: Delete Group Configuration Parameters
tags:
- Group
x-soracom-cli:
- groups delete-config
/groups/{group_id}/subscribers:
get:
description: Returns a list of subscribers that belong to the specified group
by group ID.
operationId: listSubscribersInGroup
parameters:
- description: ID of the target Group.
in: path
name: group_id
required: true
schema:
type: string
- description: Maximum number of results per response page.
in: query
name: limit
required: false
schema:
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/Sim'
type: array
description: Specified Group.
"404":
description: The specified group does not exist.
security:
- api_key: []
api_token: []
summary: List Subscribers in a group
tags:
- Group
x-sam-operationId: listSubscribers
x-soracom-cli:
- groups list-subscribers
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/groups/{group_id}/tags:
put:
description: Adds/updates tags of specified configuration group.
operationId: putGroupTags
parameters:
- description: ID of the target Group.
in: path
name: group_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
items:
$ref: '#/components/schemas/TagUpdateRequest'
type: array
description: Array of values for tags to be updated.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
description: The group after the update.
"404":
description: The specified group does not exist.
security:
- api_key: []
api_token: []
summary: Update Group Tags
tags:
- Group
x-sam-operationId: putTags
x-soracom-cli:
- groups put-tags
/groups/{group_id}/tags/{tag_name}:
delete:
description: Deletes tag from the specified group.
operationId: deleteGroupTag
parameters:
- description: ID of the target Group.
in: path
name: group_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().)
in: path
name: tag_name
required: true
schema:
type: string
responses:
"204":
description: Tag deletion complete.
"404":
description: The specified group or the tag does not exist.
security:
- api_key: []
api_token: []
summary: Delete Group Tag
tags:
- Group
x-sam-operationId: deleteTag
x-soracom-cli:
- groups delete-tag
/lagoon/image/link:
get:
description: Get a custom icon image link of Soracom Lagoon Console.
operationId: getImageLink
responses:
"200":
content:
application/json:
schema:
type: string
description: OK.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Get a custom icon image link of Soracom Lagoon Console
tags:
- Lagoon
x-soracom-cli:
- lagoon get-image-link
/lagoon/license_packs:
get:
description: Get the status of active Soracom Lagoon license packs.
operationId: listLagoonLicensePackStatus
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/LagoonLicensePackStatusResponse'
type: array
description: OK.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Get the status of active Soracom Lagoon license packs
tags:
- Lagoon
x-soracom-cli:
- lagoon license-packs list-status
put:
description: |
Update the quantities for license packs of Soracom Lagoon.
**Warning**: This API must be called with the root user credentials. The quantities for license packs of Soracom Lagoon cannot be updated with SAM user credentials.
operationId: updateLagoonLicensePack
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LagoonLicensePacksUpdatingRequest'
description: Request.
required: true
responses:
"204":
description: Updated.
"400":
description: Bad request.
"404":
description: Operator not found.
security:
- api_key: []
api_token: []
summary: Update the quantities for license packs of Soracom Lagoon
tags:
- Lagoon
x-soracom-cli:
- lagoon license-packs update
/lagoon/plan:
put:
description: |
Update the plan of Soracom Lagoon.
**Warning**: This API must be called with the root user credentials. The plan of Lagoon cannot be updated with SAM user credentials.
operationId: updateLagoonPlan
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LagoonPlanChangingRequest'
required: true
responses:
"204":
description: Updated.
"400":
description: Bad request.
"404":
description: Operator not found.
security:
- api_key: []
api_token: []
summary: Update the plan of Soracom Lagoon
tags:
- Lagoon
x-soracom-cli:
- lagoon updated-plan
/lagoon/register:
post:
description: |
Register (activate) Soracom Lagoon.
**Warning**: This API must be called with the root user credentials. Lagoon cannot be registered with SAM user credentials.
operationId: registerLagoon
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LagoonRegistrationRequest'
description: Request.
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/LagoonRegistrationResponse'
description: Registered.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Register (activate) Soracom Lagoon
tags:
- Lagoon
x-soracom-cli:
- lagoon register
/lagoon/terminate:
post:
description: |
Terminate (deactivate) Soracom Lagoon.
**Warning**: This API must be called with the root user credentials. Lagoon cannot be terminated with SAM user credentials.
operationId: terminateLagoon
responses:
"204":
description: Terminated.
"400":
description: Bad request.
"404":
description: Operator not found.
security:
- api_key: []
api_token: []
summary: Terminate (deactivate) Soracom Lagoon
tags:
- Lagoon
x-soracom-cli:
- lagoon terminate
/lagoon/users:
get:
description: List Soracom Lagoon users that belong to operator.
operationId: listLagoonUsers
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/LagoonUser'
type: array
description: OK.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: List Soracom Lagoon users that belong to operator
tags:
- Lagoon
x-soracom-cli:
- lagoon list-users
- lagoon users list
post:
description: Create a Soracom Lagoon user.
operationId: createLagoonUser
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LagoonUserCreationRequest'
description: Request.
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/LagoonUserCreationResponse'
description: Created.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Create a Soracom Lagoon user
tags:
- Lagoon
x-soracom-cli:
- lagoon create-user
- lagoon users create
/lagoon/users/{lagoon_user_id}:
delete:
description: Delete a Soracom Lagoon user.
operationId: deleteLagoonUser
parameters:
- description: Target ID of the lagoon user.
in: path
name: lagoon_user_id
required: true
schema:
type: integer
responses:
"204":
description: Deleted.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Delete a Soracom Lagoon user
tags:
- Lagoon
x-soracom-cli:
- lagoon delete-user
- lagoon users delete
/lagoon/users/{lagoon_user_id}/email:
put:
description: Update email address of a Soracom Lagoon user.
operationId: updateLagoonUserEmail
parameters:
- description: Target ID of the lagoon user.
in: path
name: lagoon_user_id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LagoonUserEmailUpdatingRequest'
description: Request.
required: true
responses:
"200":
description: OK.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Update email address of a Soracom Lagoon user
tags:
- Lagoon
x-soracom-cli:
- lagoon update-user-email
- lagoon users update-email
/lagoon/users/{lagoon_user_id}/password:
put:
description: Update password of a Soracom Lagoon user.
operationId: updateLagoonUserPassword
parameters:
- description: Target ID of the lagoon user.
in: path
name: lagoon_user_id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LagoonUserPasswordUpdatingRequest'
description: Request.
required: true
responses:
"200":
description: OK.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Update password of a Soracom Lagoon user
tags:
- Lagoon
x-soracom-cli:
- lagoon update-user-password
- lagoon users update-password
/lagoon/users/{lagoon_user_id}/permission:
put:
description: Update permission of a Soracom Lagoon user.
operationId: updateLagoonUserPermission
parameters:
- description: Target ID of the lagoon user.
in: path
name: lagoon_user_id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LagoonUserPermissionUpdatingRequest'
description: Request.
required: true
responses:
"200":
description: OK.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Update permission of a Soracom Lagoon user
tags:
- Lagoon
x-soracom-cli:
- lagoon update-user-permission
- lagoon users update-permission
/logs:
get:
description: |
Fetches error logs that meet specified criteria. If the error logs exceed one page, a URL to retrieve the next page under the same conditions is included in the `link` header of the response.
operationId: getLogs
parameters:
- description: |
The type of resource for which to retrieve error logs.
- `Subscriber`: IoT SIM.
- `Device`: Inventory device.
- `LoraDevice`: LoRaWAN device.
- `SigfoxDevice`: Sigfox device.
in: query
name: resource_type
required: false
schema:
enum:
- Subscriber
- Device
- LoraDevice
- SigfoxDevice
type: string
- description: |
The ID of the resource for which to retrieve error logs. The ID to specify varies depending on the value of `resource_type`.
| `resource_type` | ID to specify |
|-|-|
| `Subscriber` | The IMSI of the IoT SIM. The IMSI can be obtained from the [Sim:listSims API](#!/Sim/listSims). |
| `Device` | The ID of the Inventory device. The ID can be obtained from the [Device:listDevices API](#!/Device/listDevices). |
| `LoraDevice` | The ID of the LoRaWAN device. The ID can be obtained from the [LoraDevice:listLoraDevices API](#!/LoraDevice/listLoraDevices). |
| `SigfoxDevice` | The ID of the Sigfox device. The ID can be obtained from the [SigfoxDevice:listSigfoxDevices API](#!/SigfoxDevice/listSigfoxDevices). |
in: query
name: resource_id
required: false
schema:
type: string
- description: |
The service name to filter error logs.
- `Air`: SORACOM Air
- `Beam`: SORACOM Beam
- `Funk`: SORACOM Funk
- `Funnel`: SORACOM Funnel
- `Harvest`: SORACOM Harvest Data/Files
- `Napter`: SORACOM Napter
- `Orbit`: SORACOM Orbit
- `Unified`: Unified Endpoint
in: query
name: service
required: false
schema:
enum:
- Air
- Beam
- Funk
- Funnel
- Harvest
- Napter
- Orbit
- Unified
type: string
- description: Start time of the period for which to retrieve error logs (UNIX
time in milliseconds).
in: query
name: from
required: false
schema:
type: integer
- description: End time of the period for which to retrieve error logs (UNIX
time in milliseconds).
in: query
name: to
required: false
schema:
type: integer
- description: The maximum number of error logs to retrieve.
in: query
name: limit
required: false
schema:
type: integer
- description: The value contained in the `x-soracom-next-key` header returned
when fetching the previous page. Specify this to retrieve the next page.
For more information, see [Retrieving Large Amounts of Data (Paging)](/en/docs/tools/api/paging/).
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/LogEntry'
type: array
description: A list of error logs.
security:
- api_key: []
api_token: []
summary: Retrieve Error Logs
tags:
- Log
x-soracom-cli:
- logs get
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/lora_devices:
get:
description: |
Returns a list of LoRaWAN devices that match certain criteria. If the total number of LoRaWAN devices does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response.
operationId: listLoraDevices
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: Maximum number of LoRaWAN devices to retrieve.
in: query
name: limit
required: false
schema:
type: integer
- description: The device ID of the last LoRaWAN device retrieved on the previous
page. By specifying this parameter, you can continue to retrieve the list
from the next LoRaWAN device onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/LoraDevice'
type: array
description: A list of LoRaWAN devices matching the criteria.
security:
- api_key: []
api_token: []
summary: List LoRaWAN devices.
tags:
- LoraDevice
x-soracom-cli:
- lora-devices list
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/lora_devices/{device_id}:
get:
description: Returns information about the specified LoRaWAN device.
operationId: getLoraDevice
parameters:
- description: Device ID of the target LoRaWAN device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LoraDevice'
description: The LoRaWAN device's detailed information.
"404":
description: The specified LoRaWAN device does not exist.
security:
- api_key: []
api_token: []
summary: Get LoRaWAN device.
tags:
- LoraDevice
x-soracom-cli:
- lora-devices get
/lora_devices/{device_id}/data:
get:
description: |
Retrieves data that matches the specified conditions from the data sent by the specified LoRaWAN device to Harvest Data. If the data entries do not fit in one page, a URL to retrieve the next page with the same conditions will be included in the `link` header of the response.
operationId: getDataFromLoraDevice
parameters:
- description: ID of the LoRaWAN device from which to retrieve data. The ID
of a LoRaWAN device can be obtained using the [LoraDevice:listLoraDevices
API](#!/LoraDevice/listLoraDevices).
in: path
name: device_id
required: true
schema:
type: string
- description: Start time of the target period (UNIX time in milliseconds).
in: query
name: from
required: false
schema:
type: integer
- description: End time of the target period (UNIX time in milliseconds).
in: query
name: to
required: false
schema:
type: integer
- description: Sort order of data entries. Either descending order (latest data
entry first) or ascending order (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 (1 to 1000). The default
is `10`.
in: query
name: limit
required: false
schema:
maximum: 1000
minimum: 1
type: integer
- description: Timestamp of the last data entry retrieved on the previous page.
By specifying this parameter, the list starting from the next data entry
can be obtained.
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: Retrieves data sent from a LoRaWAN device to Harvest Data
tags:
- LoraDevice
x-soracom-cli:
- lora-devices get-data
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
post:
description: Sends data to the specified LoRaWAN device. The data is sent to
the LoRa network server, to be sent out to the device using the next available
slot. If another message destined for the same LoRaWAN device ID is already
waiting to be sent on the LoRa Network Server, the existing message will be
discarded, and the new message will be sent instead. Data is discarded if
it is not received by the device for a certain period of time (2 hours).
operationId: sendDataToLoraDevice
parameters:
- description: ID of the recipient device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LoraData'
description: Binary data encoded as a hexadecimal string. Maximum length of
original binary data is 11 octets (22 characters when encoded as a hexadecimal
string). The number of characters must be even. fPort can be specified optionally.
fPort MUST be equal to or greater than 0. 0 is used for the control plane
and 1 or greater values should be used in general. It defaults to 2 to avoid
the issues of some devices from some vendors and all invalid values that
can not be parsed fallback to 2.
required: true
responses:
"204":
description: Data has been received and sent to the LoRa network server
for the recipient device to retrieve.
"400":
description: The payload JSON data contains one or more invalid parameters.
"404":
description: No such device found.
security:
- api_key: []
api_token: []
summary: Send data to a LoRaWAN device.
tags:
- LoraDevice
x-soracom-cli:
- lora-devices send-data
/lora_devices/{device_id}/disable_termination:
post:
description: Disables termination of specified LoRaWAN device.
operationId: disableTerminationOnLoraDevice
parameters:
- description: Device ID of the target LoRaWAN device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LoraDevice'
description: The LoRaWAN device's detailed information after the update.
"404":
description: The specified LoRaWAN device does not exist.
security:
- api_key: []
api_token: []
summary: Disable Termination of LoRaWAN device.
tags:
- LoraDevice
x-soracom-cli:
- lora-devices disable-termination
/lora_devices/{device_id}/enable_termination:
post:
description: Enables termination of specified LoRaWAN device.
operationId: enableTerminationOnLoraDevice
parameters:
- description: Device ID of the target LoRaWAN device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LoraDevice'
description: The LoRaWAN device's detailed information after the update.
"404":
description: The specified LoRaWAN device does not exist.
security:
- api_key: []
api_token: []
summary: Enable Termination of LoRaWAN device.
tags:
- LoraDevice
x-soracom-cli:
- lora-devices enable-termination
/lora_devices/{device_id}/register:
post:
description: Register a LoRaWAN device.
operationId: registerLoraDevice
parameters:
- description: Device ID of the target LoRaWAN device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterLoraDeviceRequest'
description: LoRaWAN Device
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/LoraDevice'
description: LoRaWAN device registration complete.
security:
- api_key: []
api_token: []
summary: Register LoRaWAN device.
tags:
- LoraDevice
x-soracom-cli:
- lora-devices register
/lora_devices/{device_id}/set_group:
post:
description: Adds a LoRaWAN device to a LoRaWAN group.
operationId: setLoraDeviceGroup
parameters:
- description: ID of the target LoRaWAN device. The ID of a LoRaWAN device can
be obtained using the [LoraDevice:listLoraDevices API](#!/LoraDevice/listLoraDevices).
in: path
name: device_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/LoraDevice'
description: Detailed information of the updated LoRaWAN device.
"404":
description: The specified LoRaWAN device does not exist.
security:
- api_key: []
api_token: []
summary: Adds a LoRaWAN device to a LoRaWAN group
tags:
- LoraDevice
x-soracom-cli:
- lora-devices set-group
/lora_devices/{device_id}/tags:
put:
description: Inserts/updates tags for the specified LoRaWAN device.
operationId: putLoraDeviceTags
parameters:
- description: Device ID of the target LoRaWAN device.
in: path
name: device_id
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/LoraDevice'
description: The LoRaWAN device's detailed information after the update.
"404":
description: The specified LoRaWAN device does not exist.
security:
- api_key: []
api_token: []
summary: Bulk Insert or Update LoRaWAN device Tags.
tags:
- LoraDevice
x-soracom-cli:
- lora-devices put-tags
/lora_devices/{device_id}/tags/{tag_name}:
delete:
description: Deletes a tag from the specified LoRaWAN device.
operationId: deleteLoraDeviceTag
parameters:
- description: Device ID of the target LoRaWAN device.
in: path
name: device_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().)
in: path
name: tag_name
required: true
schema:
type: string
responses:
"204":
description: Deletion of specified tag complete.
"404":
description: The specified LoRaWAN device or the tag does not exist.
security:
- api_key: []
api_token: []
summary: Delete LoRaWAN device Tag.
tags:
- LoraDevice
x-sam-operationId: deleteTag
x-soracom-cli:
- lora-devices delete-tag
/lora_devices/{device_id}/terminate:
post:
description: Terminates the specified LoRaWAN device.
operationId: terminateLoraDevice
parameters:
- description: Device ID of the target LoRaWAN device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LoraDevice'
description: The LoRaWAN device's detailed information after the update.
"404":
description: The specified LoRaWAN device does not exist.
security:
- api_key: []
api_token: []
summary: Terminate LoRaWAN device.
tags:
- LoraDevice
x-soracom-cli:
- lora-devices terminate
/lora_devices/{device_id}/unset_group:
post:
description: Removes a LoRaWAN device from a LoRaWAN group.
operationId: unsetLoraDeviceGroup
parameters:
- description: ID of the target LoRaWAN device. The ID of a LoRaWAN device can
be obtained using the [LoraDevice:listLoraDevices API](#!/LoraDevice/listLoraDevices).
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LoraDevice'
description: Detailed information of the updated LoRaWAN device.
"404":
description: The specified LoRaWAN device does not exist.
security:
- api_key: []
api_token: []
summary: Removes a LoRaWAN device from a LoRaWAN group
tags:
- LoraDevice
x-soracom-cli:
- lora-devices unset-group
/lora_gateways:
get:
description: |
Returns a list of LoRaWAN gateways that match certain criteria. If the total number of LoRaWAN gateways does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response.
operationId: listLoraGateways
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: Maximum number of LoRaWAN gateways to retrieve.
in: query
name: limit
required: false
schema:
format: int32d
type: integer
- description: The Gateway ID of the last LoRaWAN gateway retrieved on the current
page. By specifying this parameter, you can continue to retrieve the list
from the next LoRaWAN gateway onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/LoraGateway'
type: array
description: A list of LoRaWAN gateways.
security:
- api_key: []
api_token: []
summary: List LoRaWAN Gateways
tags:
- LoraGateway
x-soracom-cli:
- lora-gateways list
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/lora_gateways/{gateway_id}:
get:
description: Returns information about the specified LoRaWAN gateway.
operationId: getLoraGateway
parameters:
- description: Gateway ID of the target LoRaWAN gateway.
in: path
name: gateway_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LoraGateway'
description: The LoRaWAN gateway's detailed information.
"404":
description: The specified LoRaWAN gateway does not exist.
security:
- api_key: []
api_token: []
summary: Get LoRaWAN gateway
tags:
- LoraGateway
x-soracom-cli:
- lora-gateways get
/lora_gateways/{gateway_id}/disable_termination:
post:
description: Disables termination of specified LoRaWAN gateway.
operationId: disableTerminationOnLoraGateway
parameters:
- description: ID of the target LoRaWAN gateway.
in: path
name: gateway_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LoraGateway'
description: The LoRaWAN gateway's detailed information after the update.
"404":
description: The specified LoRaWAN gateway does not exist.
security:
- api_key: []
api_token: []
summary: Disable Termination of LoRaWAN gateway
tags:
- LoraGateway
x-soracom-cli:
- lora-gateways disable-termination
/lora_gateways/{gateway_id}/enable_termination:
post:
description: Enables termination of specified LoRaWAN gateway.
operationId: enableTerminationOnLoraGateway
parameters:
- description: ID of the target LoRaWAN gateway.
in: path
name: gateway_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LoraGateway'
description: The LoRaWAN gateway's detailed information after the update.
"404":
description: The specified LoRaWAN gateway does not exist.
security:
- api_key: []
api_token: []
summary: Enable Termination of LoRaWAN gateway
tags:
- LoraGateway
x-soracom-cli:
- lora-gateways enable-termination
/lora_gateways/{gateway_id}/set_network_set:
post:
description: Sets or overwrites network set ID for the specified LoRaWAN gateway.
operationId: setLoraNetworkSet
parameters:
- description: ID of the target LoRaWAN gateway.
in: path
name: gateway_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetNetworkSetRequest'
description: LoRaWAN Network Set ID.
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LoraGateway'
description: The LoRaWAN gateway's detailed information after the update.
"404":
description: The specified LoRaWAN gateway does not exist.
security:
- api_key: []
api_token: []
summary: Set Network Set ID of LoRaWAN gateway
tags:
- LoraGateway
x-soracom-cli:
- lora-gateways set-network-set
/lora_gateways/{gateway_id}/tags:
put:
description: Inserts/updates tags for the specified LoRaWAN gateway.
operationId: putLoraGatewayTags
parameters:
- description: ID of the target LoRaWAN gateway.
in: path
name: gateway_id
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/LoraGateway'
description: The LoRaWAN gateway's detailed information after the update.
"404":
description: The specified LoRaWAN gateway does not exist.
security:
- api_key: []
api_token: []
summary: Bulk Insert or Update LoRaWAN gateway Tags
tags:
- LoraGateway
x-soracom-cli:
- lora-gateways put-tags
/lora_gateways/{gateway_id}/tags/{tag_name}:
delete:
description: Deletes a tag from the specified LoRaWAN gateway.
operationId: deleteLoraGatewayTag
parameters:
- description: ID of the target LoRaWAN gateway.
in: path
name: gateway_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().)
in: path
name: tag_name
required: true
schema:
type: string
responses:
"204":
description: Deletion of specified tag complete.
"404":
description: The specified LoRaWAN gateway or the tag does not exist.
security:
- api_key: []
api_token: []
summary: Delete LoRaWAN gateway tag
tags:
- LoraGateway
x-soracom-cli:
- lora-gateways delete-tag
/lora_gateways/{gateway_id}/terminate:
post:
description: Terminates the specified LoRaWAN gateway.
operationId: terminateLoraGateway
parameters:
- description: ID of the target LoRaWAN gateway.
in: path
name: gateway_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LoraGateway'
description: The LoRaWAN gateway's detailed information after the update.
"404":
description: The specified LoRaWAN gateway does not exist.
security:
- api_key: []
api_token: []
summary: Terminate LoRaWAN gateway
tags:
- LoraGateway
x-soracom-cli:
- lora-gateways terminate
/lora_gateways/{gateway_id}/unset_network_set:
post:
description: Unset network set ID of the specified LoRaWAN gateway.
operationId: unsetLoraNetworkSet
parameters:
- description: ID of the target LoRaWAN gateway.
in: path
name: gateway_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LoraGateway'
description: The LoRaWAN gateway's detailed information after the update.
"404":
description: The specified LoRaWAN gateway does not exist.
security:
- api_key: []
api_token: []
summary: Unset Network Set ID of LoRaWAN gateway
tags:
- LoraGateway
x-soracom-cli:
- lora-gateways unset-network-set
/lora_network_sets:
get:
description: |
Returns a list of LoRaWAN network sets that match certain criteria. If the total number of LoRaWAN network sets does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response.
operationId: listLoraNetworkSets
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: Maximum number of LoRaWAN network set to retrieve.
in: query
name: limit
required: false
schema:
format: int32d
type: integer
- description: The ID of the last network set retrieved on the current page.
By specifying this parameter, you can continue to retrieve the list from
the next device onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/LoraNetworkSet'
type: array
description: A list of LoRaWAN network sets.
security:
- api_key: []
api_token: []
summary: List LoRaWAN Network Sets
tags:
- LoraNetworkSet
x-soracom-cli:
- lora-network-sets list
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
post:
description: Creates a specified LoRaWAN network set.
operationId: createLoraNetworkSet
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LoraNetworkSet'
description: Additional metadata such as tags for a LoRaWAN network set to
create.
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/LoraNetworkSet'
description: A LoRaWAN network set was created.
security:
- api_key: []
api_token: []
summary: Create a LoRaWAN network set
tags:
- LoraNetworkSet
x-soracom-cli:
- lora-network-sets create
/lora_network_sets/{ns_id}:
delete:
description: Deletes the specified LoRaWAN network set.
operationId: deleteLoraNetworkSet
parameters:
- description: ID of the target LoRaWAN network set.
in: path
name: ns_id
required: true
schema:
type: string
responses:
"204":
description: Successfully deleted.
"404":
description: The specified LoRaWAN network set does not exist.
security:
- api_key: []
api_token: []
summary: Delete LoRaWAN network set
tags:
- LoraNetworkSet
x-soracom-cli:
- lora-network-sets delete
get:
description: Returns information about the specified LoRaWAN network set.
operationId: getLoraNetworkSet
parameters:
- description: ID of the target LoRaWAN network set.
in: path
name: ns_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LoraNetworkSet'
description: The LoRaWAN network set's detailed information.
"404":
description: The specified LoRaWAN network set does not exist.
security:
- api_key: []
api_token: []
summary: Get LoRaWAN network set
tags:
- LoraNetworkSet
x-soracom-cli:
- lora-network-sets get
/lora_network_sets/{ns_id}/add_permission:
post:
description: Adds permission to allow another operator to use the network set.
operationId: addPermissionToLoraNetworkSet
parameters:
- description: ID of the target LoRaWAN network set.
in: path
name: ns_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePermissionRequest'
description: ID of the operator to be added to the list of allowed operators.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LoraNetworkSet'
description: Permission added to the network set.
security:
- api_key: []
api_token: []
summary: Adds permission to a LoRaWAN network set
tags:
- LoraNetworkSet
x-soracom-cli:
- lora-network-sets add-permission
/lora_network_sets/{ns_id}/gateways:
get:
description: |
Returns a list of LoRaWAN gateways that belong to the specified network set. If the total number of LoRaWAN gateways does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response.
operationId: listGatewaysInLoraNetworkSet
parameters:
- description: ID of the target LoRaWAN network set.
in: path
name: ns_id
required: true
schema:
type: string
- description: Maximum number of LoRaWAN gateways to retrieve.
in: query
name: limit
required: false
schema:
format: int32d
type: integer
- description: The Gateway ID of the last LoRaWAN gateway retrieved on the current
page. By specifying this parameter, you can continue to retrieve the list
from the next LoRaWAN gateway onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/LoraGateway'
type: array
description: A list of LoRaWAN gateways.
"404":
description: The specified LoRaWAN network set does not exist.
security:
- api_key: []
api_token: []
summary: List LoRaWAN Gateways in a Network Set
tags:
- LoraNetworkSet
x-soracom-cli:
- lora-network-sets list-gateways
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/lora_network_sets/{ns_id}/revoke_permission:
post:
description: Revokes a permission and removes an operator from the list of allowed
operators in the network set.
operationId: revokePermissionFromLoraNetworkSet
parameters:
- description: ID of the target LoRaWAN network set.
in: path
name: ns_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePermissionRequest'
description: ID of the operator to be added to the list of allowed operators.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/LoraNetworkSet'
description: Permission revoked from the network set.
security:
- api_key: []
api_token: []
summary: Revokes a permission from a LoRaWAN network set
tags:
- LoraNetworkSet
x-soracom-cli:
- lora-network-sets revoke-permission
/lora_network_sets/{ns_id}/tags:
put:
description: Inserts/updates tags for the specified LoRaWAN network set.
operationId: putLoraNetworkSetTags
parameters:
- description: ID of the target LoRaWAN network set.
in: path
name: ns_id
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/LoraNetworkSet'
description: The LoRaWAN network set's detailed information after the update.
"404":
description: The specified LoRaWAN network set does not exist.
security:
- api_key: []
api_token: []
summary: Bulk Insert or Update LoRaWAN network set tags
tags:
- LoraNetworkSet
x-soracom-cli:
- lora-network-sets put-tag
/lora_network_sets/{ns_id}/tags/{tag_name}:
delete:
description: Deletes a tag from the specified LoRaWAN network set.
operationId: deleteLoraNetworkSetTag
parameters:
- description: ID of the target LoRaWAN network set.
in: path
name: ns_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().)
in: path
name: tag_name
required: true
schema:
type: string
responses:
"204":
description: Deletion of specified tag complete.
"404":
description: The specified LoRaWAN network set or the tag does not exist.
security:
- api_key: []
api_token: []
summary: Delete LoRaWAN network set tag
tags:
- LoraNetworkSet
x-soracom-cli:
- lora-network-sets delete-tag
/operators/{operator_id}:
get:
description: Returns information about the operator.
operationId: getOperator
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GetOperatorResponse'
description: OK.
"400":
description: Invalid Operator Id.
security:
- api_key: []
api_token: []
summary: Get Operator
tags:
- Operator
x-soracom-cli:
- operator get
/operators/{operator_id}/auth_keys:
get:
description: Returns the operator's AuthKey list.
operationId: listOperatorAuthKeys
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AuthKeyResponse'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: List Operator AuthKeys
tags:
- Operator
x-soracom-cli:
- operator auth-keys list
post:
description: Generates an AuthKey for the operator.
operationId: generateOperatorAuthKey
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateOperatorsAuthKeyResponse'
description: AuthKey was generated.
security:
- api_key: []
api_token: []
summary: Generate Operator AuthKey
tags:
- Operator
x-soracom-cli:
- operator auth-keys generate
/operators/{operator_id}/auth_keys/{auth_key_id}:
delete:
description: Deletes an AuthKey from the operator.
operationId: deleteOperatorAuthKey
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: AuthKey ID.
in: path
name: auth_key_id
required: true
schema:
type: string
responses:
"204":
description: AuthKey was deleted.
security:
- api_key: []
api_token: []
summary: Delete Operator AuthKey
tags:
- Operator
x-soracom-cli:
- operator auth-keys delete
/operators/{operator_id}/company_information:
get:
description: Gets the operator's company information.
operationId: getCompanyInformation
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyInformationModel'
description: OK.
security:
- api_key: []
api_token: []
summary: Get company information
tags:
- Operator
x-soracom-cli:
- operator get-company-information
post:
description: Creates the operator's company information.
operationId: createCompanyInformation
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyInformationModel'
description: Model.
required: true
responses:
"201":
description: Created.
security:
- api_key: []
api_token: []
summary: Create company information
tags:
- Operator
x-soracom-cli:
- operator create-company-information
put:
description: Updates the operator's company information.
operationId: updateCompanyInformation
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CompanyInformationModel'
description: Model.
required: true
responses:
"200":
description: OK.
security:
- api_key: []
api_token: []
summary: Update company information
tags:
- Operator
x-soracom-cli:
- operator update-company-information
/operators/{operator_id}/configuration/{namespace}:
delete:
description: Deletes operator configuration of the namespace.
operationId: deleteOperatorConfigurationNamespace
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: Namespace of operator configuration.
in: path
name: namespace
required: true
schema:
type: string
responses:
"204":
description: Deleted.
"400":
description: Bad request.
"404":
description: Configuration not found.
security:
- api_key: []
api_token: []
summary: Delete operator configuration of the namespace
tags:
- Operator
x-soracom-cli:
- operator configuration delete
get:
description: Gets operator configuration of the namespace.
operationId: getOperatorConfigurationNamespace
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: Namespace of operator configuration.
in: path
name: namespace
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorConfigurationModel'
description: OK.
"400":
description: Bad request.
"404":
description: Configuration not found.
security:
- api_key: []
api_token: []
summary: Get operator configuration of the namespace
tags:
- Operator
x-soracom-cli:
- operator configuration get
post:
description: Sets operator configuration of the namespace.
operationId: setOperatorConfigurationNamespace
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: Namespace of operator configuration.
in: path
name: namespace
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetOperatorConfigurationNamespaceRequest'
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorConfigurationModel'
description: OK.
"400":
description: Bad request.
"409":
description: Update has been conflicted. Get the latest configuration, then
update again.
security:
- api_key: []
api_token: []
summary: Set operator configuration of the namespace
tags:
- Operator
x-soracom-cli:
- operator configuration set
/operators/{operator_id}/contracts:
post:
description: Adds the operator's contract.
operationId: addOperatorContract
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ContractUpdatingRequest'
description: Model.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ContractUpdatedResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: Add Operator Contract
tags:
- Operator
x-soracom-cli:
- operator add-contract
/operators/{operator_id}/contracts/{contract_name}:
delete:
description: Deletes the operator's contract.
operationId: deleteOperatorContract
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: Contract name.
in: path
name: contract_name
required: true
schema:
enum:
- api_audit_log
- harvest
- napter
- support
type: string
responses:
"204":
description: Deleted.
security:
- api_key: []
api_token: []
summary: Delete Operator Contract
tags:
- Operator
x-soracom-cli:
- operator delete-contract
/operators/{operator_id}/coverage_type/{coverage_type}:
post:
description: Adds the operator's coverage type.
operationId: addCoverageType
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: Coverage type.
in: path
name: coverage_type
required: true
schema:
type: string
responses:
"201":
description: Created.
security:
- api_key: []
api_token: []
summary: Add coverage type
tags:
- Operator
x-soracom-cli:
- operator add-coverage-type
/operators/{operator_id}/emails:
get:
description: |
Retrieves a list of email addresses registered to the operator.
operationId: listEmails
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/EmailsModel'
type: array
description: A list of email addresses registered to the operator.
"400":
description: |
Invoked using SAM user credentials. This operation is allowed only for root user.
security:
- api_key: []
api_token: []
summary: List email addresses
tags:
- Email
x-soracom-cli:
- emails list
/operators/{operator_id}/emails/{email_id}:
delete:
description: |
Deletes the email address corresponding to the specified email address ID from the operator.
operationId: deleteEmail
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: Email address ID.
in: path
name: email_id
required: true
schema:
type: string
responses:
"204":
description: Email address successfully deleted.
security:
- api_key: []
api_token: []
summary: Delete email address
tags:
- Email
x-soracom-cli:
- emails delete
get:
description: |
Retrieves information for the email address corresponding to the specified email address ID.
operationId: getEmail
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: Email address ID.
in: path
name: email_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/EmailsModel'
description: Information about the specified email address.
security:
- api_key: []
api_token: []
summary: Get email address
tags:
- Email
x-soracom-cli:
- emails get
/operators/{operator_id}/individual_information:
get:
description: Gets the operator's individual information.
operationId: getIndividualInformation
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/IndividualInformationModel'
description: OK.
security:
- api_key: []
api_token: []
summary: Get individual information
tags:
- Operator
x-soracom-cli:
- operator get-individual-information
post:
description: Creates the operator's individual information.
operationId: createIndividualInformation
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IndividualInformationModel'
description: Model.
required: true
responses:
"201":
description: Created.
security:
- api_key: []
api_token: []
summary: Create individual information
tags:
- Operator
x-soracom-cli:
- operator create-individual-information
put:
description: Updates the operator's individual information.
operationId: updateIndividualInformation
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IndividualInformationModel'
description: Model.
required: true
responses:
"200":
description: OK.
security:
- api_key: []
api_token: []
summary: Update individual information
tags:
- Operator
x-soracom-cli:
- operator update-individual-information
/operators/{operator_id}/mfa:
delete:
description: Revokes operator's MFA without backup codes.
operationId: revokeMFA
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MFARevokeRequest'
required: true
responses:
"204":
description: Revoked.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Revoke Operator's MFA
tags:
- Operator
x-soracom-cli:
- operator revoke-mfa
get:
description: Gets operator's MFA status. The MFA status is one of `ACTIVE`,
`INACTIVE` or `UNCONFIRMED`.
operationId: getMFAStatus
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/MFAStatusOfUseResponse'
description: OK.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Get Operator's MFA Status
tags:
- Operator
x-soracom-cli:
- operator get-mfa-status
post:
description: Enables operator's MFA. After calling this API, it should be verified
by calling `Operator:verifyMFA` API.
operationId: enableMFA
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/EnableMFAOTPResponse'
description: OK.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Enable Operator's MFA
tags:
- Operator
x-soracom-cli:
- operator enable-mfa
/operators/{operator_id}/mfa/verify:
post:
description: Verifies operator's MFA with OTP code. This API must be called
after calling `Operator:enableMFA`. MFA will not be activated unless the MFA
OTP is verified with this API. Be sure to securely store the backup code returned
in the response to this API.
operationId: verifyMFA
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MFAAuthenticationRequest'
description: Request.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/OperatorMFAVerifyingResponse'
description: OK.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Verify Operator's MFA OTP Code
tags:
- Operator
x-soracom-cli:
- operator verify-mfa-otp
/operators/{operator_id}/password:
post:
description: Updates the operator's password.
operationId: updateOperatorPassword
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePasswordRequest'
description: current password, new password.
required: true
responses:
"200":
description: OK.
"400":
description: Invalid password.
security:
- api_key: []
api_token: []
summary: Update Operator Password
tags:
- Operator
x-soracom-cli:
- operator update-password
/operators/{operator_id}/roles:
get:
description: Returns a list of roles.
operationId: listRoles
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: |
Filters by the type of the role. Specify one of the following:
- `operator`: Operator managed role (default)
- `soracom`: Soracom managed role
- `all`: All roles
in: query
name: owner
required: false
schema:
enum:
- operator
- soracom
- all
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ListRolesResponse'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: List Roles
tags:
- Role
x-soracom-cli:
- roles list
/operators/{operator_id}/roles/{role_id}:
delete:
description: Deletes an operator managed role.
operationId: deleteRole
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: Role ID.
in: path
name: role_id
required: true
schema:
type: string
responses:
"204":
description: The role was deleted.
"400":
description: The role is still in use.
"404":
description: Role not found.
security:
- api_key: []
api_token: []
summary: Delete Operator Managed Role
tags:
- Role
x-soracom-cli:
- roles delete
get:
description: Retrieves a role.
operationId: getRole
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: |
Role ID. For operator managed roles, specify the role ID provided during role creation. For Soracom managed roles, specify in SRN (Soracom Resource Name) format.
in: path
name: role_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/RoleResponse'
description: OK.
"404":
description: Role not found.
security:
- api_key: []
api_token: []
summary: Get Role
tags:
- Role
x-soracom-cli:
- roles get
post:
description: Adds a new operator managed role.
operationId: createRole
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: Role ID.
in: path
name: role_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrUpdateRoleRequest'
description: Permission.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRoleResponse'
description: OK.
"400":
description: Failed to create an operator managed role.
security:
- api_key: []
api_token: []
summary: Create Operator Managed Role
tags:
- Role
x-soracom-cli:
- roles create
put:
description: Edits an operator managed role.
operationId: updateRole
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: Role ID.
in: path
name: role_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrUpdateRoleRequest'
description: Permission.
required: true
responses:
"200":
description: OK.
"404":
description: Operator managed role not found.
security:
- api_key: []
api_token: []
summary: Update Operator Managed Role
tags:
- Role
x-soracom-cli:
- roles update
/operators/{operator_id}/roles/{role_id}/users:
get:
description: Retrieves a list of users attached to a role.
operationId: listRoleAttachedUsers
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: |
Role ID. For operator managed roles, specify the role ID provided during role creation. For Soracom managed roles, specify in SRN (Soracom Resource Name) format.
in: path
name: role_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/UserDetailResponse'
type: array
description: OK.
"404":
description: Role not found.
security:
- api_key: []
api_token: []
summary: List Role Attached Users
tags:
- Role
x-soracom-cli:
- roles list-users
/operators/{operator_id}/roles/{role_id}/versions:
get:
description: Retrieves a list of versions for a Soracom managed role.
operationId: listRoleVersions
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: SRN (Soracom Resource Name) of the Soracom managed role. The
format is `srn:soracom:::Role:[roleName]`.
in: path
name: role_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/RoleVersionResponse'
type: array
description: OK.
"400":
description: Operator managed roles cannot be specified.
"404":
description: Soracom managed role not found.
security:
- api_key: []
api_token: []
summary: Get Soracom Managed Role Versions
tags:
- Role
x-soracom-cli:
- roles list-versions
/operators/{operator_id}/shipping_addresses:
get:
description: Returns a list of shipping addresses.
operationId: listShippingAddresses
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ListShippingAddressResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: List shipping addresses
tags:
- ShippingAddress
x-soracom-cli:
- shipping-addresses list
post:
description: Creates a new shipping address.
operationId: createShippingAddress
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ShippingAddressModel'
description: Shipping address.
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/GetShippingAddressResponse'
description: Shipping address was registered.
security:
- api_key: []
api_token: []
summary: Create shipping address
tags:
- ShippingAddress
x-soracom-cli:
- shipping-addresses create
/operators/{operator_id}/shipping_addresses/{shipping_address_id}:
delete:
description: Deletes a shipping address.
operationId: deleteShippingAddress
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: Shipping address ID.
in: path
name: shipping_address_id
required: true
schema:
type: string
responses:
"200":
description: OK.
security:
- api_key: []
api_token: []
summary: Delete shipping address
tags:
- ShippingAddress
x-soracom-cli:
- shipping-addresses delete
get:
description: Returns a shipping address.
operationId: getShippingAddress
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: Shipping address ID.
in: path
name: shipping_address_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GetShippingAddressResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: Get shipping address
tags:
- ShippingAddress
x-soracom-cli:
- shipping-addresses get
put:
description: Updates a shipping address.
operationId: updateShippingAddress
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: Shipping address ID.
in: path
name: shipping_address_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ShippingAddressModel'
description: Shipping address.
required: true
responses:
"200":
description: OK.
security:
- api_key: []
api_token: []
summary: Update shipping address
tags:
- ShippingAddress
x-soracom-cli:
- shipping-addresses update
/operators/{operator_id}/support/token:
post:
description: Returns a token for accessing the support console.
operationId: generateSupportToken
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/SupportTokenResponse'
description: OK.
"400":
description: Invalid Operator Id.
"403":
description: Invalid token.
security:
- api_key: []
api_token: []
summary: Generate Token for Support Console
tags:
- Operator
x-soracom-cli:
- operator get-support-token
/operators/{operator_id}/system_notifications:
get:
description: Returns a list of email settings.
operationId: listSystemNotifications
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/SystemNotificationsModel'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: List email settings
tags:
- SystemNotification
x-soracom-cli:
- system-notifications list
/operators/{operator_id}/system_notifications/{type}:
delete:
description: Delete an email address from the email settings.
operationId: deleteSystemNotification
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: Email address type.
in: path
name: type
required: true
schema:
enum:
- recovery
- billing
- support
type: string
responses:
"204":
description: OK.
security:
- api_key: []
api_token: []
summary: Delete an email address from the email settings
tags:
- SystemNotification
x-soracom-cli:
- system-notifications delete
get:
description: Return information on email settings.
operationId: getSystemNotification
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: Email address type.
in: path
name: type
required: true
schema:
enum:
- primary
- recovery
- billing
- support
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/SystemNotificationsModel'
description: OK.
security:
- api_key: []
api_token: []
summary: Get information on email settings
tags:
- SystemNotification
x-soracom-cli:
- system-notifications get
post:
description: Set an email address in the email settings.
operationId: setSystemNotification
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: Email address type.
in: path
name: type
required: true
schema:
enum:
- primary
- recovery
- billing
- support
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetSystemNotificationsRequest'
description: Request.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/SystemNotificationsModel'
description: OK.
security:
- api_key: []
api_token: []
summary: Set an email address in the email settings
tags:
- SystemNotification
x-soracom-cli:
- system-notifications set
/operators/{operator_id}/token:
post:
description: Generates a new API token. If you insert the current API token
into the header and make a request, a response is returned containing the
new API token. You can then use the new API token in future requests.
operationId: generateAuthToken
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateTokenRequest'
description: Token timeout seconds.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateTokenResponse'
description: OK.
"400":
content:
application/json:
schema:
$ref: '#/components/schemas/APICallError'
description: There was an error in the request or the specified token has
already expired. (In the latter case, you will need to use the /auth API
to do authentication once again.)
security:
- api_key: []
api_token: []
summary: Generate API Token
tags:
- Operator
x-soracom-cli:
- operator generate-api-token
/operators/{operator_id}/tokens:
delete:
description: Revoke all API keys and API tokens that were generated by the root
user. Once revoked, the API key and API token cannot be used to call the Soracom
API, regardless of their expiration time.
operationId: revokeOperatorAuthTokens
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
responses:
"204":
description: Successfully revoked all API keys and API tokens.
"400":
description: Invalid Operator Id.
security:
- api_key: []
api_token: []
summary: Revoke all API keys and API tokens that were generated by the root
user
tags:
- Operator
x-soracom-cli:
- operator revoke-operator-auth-tokens
/operators/{operator_id}/users:
get:
description: Retrieves a list of SAM users.
operationId: listUsers
parameters:
- description: The operator ID.
in: path
name: operator_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/UserDetailResponse'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: Retrieve a list of SAM users
tags:
- User
x-soracom-cli:
- users list
/operators/{operator_id}/users/{user_name}:
delete:
description: Deletes the SAM user.
operationId: deleteUser
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: user_name
in: path
name: user_name
required: true
schema:
type: string
responses:
"204":
description: The SAM user was deleted.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/APICallError'
description: SAM User not found.
security:
- api_key: []
api_token: []
summary: Delete User.
tags:
- User
x-soracom-cli:
- users delete
get:
description: Returns a SAM user.
operationId: getUser
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: user_name
in: path
name: user_name
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetailResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: Get User.
tags:
- User
x-soracom-cli:
- users get
post:
description: Adds a new SAM user.
operationId: createUser
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: user_name
in: path
name: user_name
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserRequest'
description: description
required: true
responses:
"201":
description: A new user was added.
"400":
description: Failed to create a new user.
security:
- api_key: []
api_token: []
summary: Create User.
tags:
- User
x-soracom-cli:
- users create
put:
description: Updates the SAM user.
operationId: updateUser
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: user_name
in: path
name: user_name
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateUserRequest'
description: description
required: true
responses:
"200":
description: OK
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/APICallError'
description: SAM User not found.
security:
- api_key: []
api_token: []
summary: Update User.
tags:
- User
x-soracom-cli:
- users update
/operators/{operator_id}/users/{user_name}/auth_keys:
get:
description: Returns the SAM user's AuthKey list.
operationId: listUserAuthKeys
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: user_name
in: path
name: user_name
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AuthKeyResponse'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: List User AuthKeys.
tags:
- User
x-soracom-cli:
- users auth-keys list
post:
description: Generates an AuthKey for the SAM user.
operationId: generateUserAuthKey
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: user_name
in: path
name: user_name
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateUserAuthKeyResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: Generate AuthKey.
tags:
- User
x-soracom-cli:
- users auth-keys generate
/operators/{operator_id}/users/{user_name}/auth_keys/{auth_key_id}:
delete:
description: Deletes an AuthKey from the SAM user.
operationId: deleteUserAuthKey
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: user_name
in: path
name: user_name
required: true
schema:
type: string
- description: auth_key_id
in: path
name: auth_key_id
required: true
schema:
type: string
responses:
"204":
description: The AuthKey was deleted.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/APICallError'
description: AuthKey not found.
security:
- api_key: []
api_token: []
summary: Delete User AuthKey.
tags:
- User
x-soracom-cli:
- users auth-keys delete
get:
description: Returns the SAM user's AuthKey.
operationId: getUserAuthKey
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: user_name
in: path
name: user_name
required: true
schema:
type: string
- description: auth_key_id
in: path
name: auth_key_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/AuthKeyResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: Get AuthKey.
tags:
- User
x-soracom-cli:
- users auth-keys get
/operators/{operator_id}/users/{user_name}/mfa:
delete:
description: Revoke SAM user's MFA
operationId: revokeUserMFA
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: SAM user name
in: path
name: user_name
required: true
schema:
type: string
responses:
"204":
description: Revoked
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Revoke SAM user's MFA
tags:
- User
x-soracom-cli:
- users mfa revoke
get:
description: Get SAM user's MFA status
operationId: getUserMFAStatus
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: SAM user name
in: path
name: user_name
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/MFAStatusOfUseResponse'
description: OK
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Get SAM user's MFA status
tags:
- User
x-soracom-cli:
- users mfa get
post:
description: Enable SAM user's MFA
operationId: enableUserMFA
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: SAM user name
in: path
name: user_name
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/EnableMFAOTPResponse'
description: OK
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Enable SAM user's MFA
tags:
- User
x-soracom-cli:
- users mfa enable
/operators/{operator_id}/users/{user_name}/mfa/verify:
post:
description: Verify SAM user's MFA OTP code when MFA activation phase
operationId: verifyUserMFA
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: SAM user name
in: path
name: user_name
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MFAAuthenticationRequest'
description: request
required: true
responses:
"204":
description: Verified
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Verify SAM user's MFA OTP code when MFA activation phase
tags:
- User
x-soracom-cli:
- users mfa verify
/operators/{operator_id}/users/{user_name}/password:
delete:
description: Deletes the user's password.
operationId: deleteUserPassword
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: user_name
in: path
name: user_name
required: true
schema:
type: string
responses:
"204":
description: The user's password was deleted.
"404":
content:
application/json:
schema:
$ref: '#/components/schemas/APICallError'
description: Password registration is required.
security:
- api_key: []
api_token: []
summary: Delete Password.
tags:
- User
x-soracom-cli:
- users password delete
get:
description: Retrieves whether the SAM user has a password or not.
operationId: hasUserPassword
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: user_name
in: path
name: user_name
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GetUserPasswordResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: Has User Password.
tags:
- User
x-soracom-cli:
- users password configured
post:
description: Creates a password for the SAM user.
operationId: createUserPassword
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: user_name
in: path
name: user_name
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserPasswordRequest'
description: password
required: true
responses:
"201":
description: Password for the SAM user was registered.
security:
- api_key: []
api_token: []
summary: Create Password.
tags:
- User
x-soracom-cli:
- users password create
put:
description: Updates the password of the SAM user.
operationId: updateUserPassword
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: user_name
in: path
name: user_name
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePasswordRequest'
description: password
required: true
responses:
"200":
description: OK
security:
- api_key: []
api_token: []
summary: Update Password.
tags:
- User
x-soracom-cli:
- users password update
/operators/{operator_id}/users/{user_name}/permission:
delete:
description: Deletes the SAM user's permission.
operationId: deleteUserPermission
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: SAM user name
in: path
name: user_name
required: true
schema:
type: string
responses:
"204":
description: Deleted
"400":
description: Invalid Operator ID or SAM user name
security:
- api_key: []
api_token: []
summary: Delete user permission.
tags:
- User
x-soracom-cli:
- users permissions delete
get:
description: Retrieves the SAM user's permissions.
operationId: getUserPermission
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: SAM user name
in: path
name: user_name
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GetUserPermissionResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: Get User Permission.
tags:
- User
x-soracom-cli:
- users permissions get
put:
description: Updates the SAM user's permissions.
operationId: updateUserPermission
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: SAM user name
in: path
name: user_name
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetUserPermissionRequest'
description: permission
required: true
responses:
"200":
description: OK
security:
- api_key: []
api_token: []
summary: Update user permission.
tags:
- User
x-soracom-cli:
- users permissions update
/operators/{operator_id}/users/{user_name}/roles:
get:
description: Retrieves a list of the user's roles.
operationId: listUserRoles
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: SAM user name.
in: path
name: user_name
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/RoleResponse'
type: array
description: OK.
"404":
description: SAM user not found.
security:
- api_key: []
api_token: []
summary: List User Roles
tags:
- Role
x-soracom-cli:
- users list-roles
post:
description: Attaches a role to a user.
operationId: attachRole
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: SAM user name.
in: path
name: user_name
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AttachRoleRequest'
description: Role ID.
required: true
responses:
"200":
description: OK.
"400":
description: The role has already been attached or not found.
"404":
description: SAM user not found.
security:
- api_key: []
api_token: []
summary: Attach Role to User
tags:
- Role
x-soracom-cli:
- users attach-role
/operators/{operator_id}/users/{user_name}/roles/{role_id}:
delete:
description: Detaches a role from a user.
operationId: detachRole
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: SAM user name.
in: path
name: user_name
required: true
schema:
type: string
- description: |
Role ID. For operator managed roles, specify the role ID provided during role creation. For Soracom managed roles, specify in SRN (Soracom Resource Name) format.
in: path
name: role_id
required: true
schema:
type: string
responses:
"200":
description: OK.
"404":
description: SAM user or role not found.
security:
- api_key: []
api_token: []
summary: Detach Role from User
tags:
- Role
x-soracom-cli:
- users detach-role
/operators/{operator_id}/users/{user_name}/tokens:
delete:
description: Revoke all API keys and API tokens that were generated by the specified
SAM user. Once revoked, the API key and API token cannot be used to call the
SORACOM API, regardless of their expiration time.
operationId: revokeUserAuthTokens
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: SAM user name
in: path
name: user_name
required: true
schema:
type: string
responses:
"204":
description: Successfully revoked all API keys and API tokens
"400":
description: Wrong operator ID or username was specified.
security:
- api_key: []
api_token: []
summary: Revoke all API keys and API tokens that were generated by the specified
SAM user.
tags:
- User
x-soracom-cli:
- users revoke-user-auth-tokens
/operators/{operator_id}/users/{user_name}/trust_policy:
delete:
description: Deletes user trust policy for switching user.
operationId: deleteUserTrustPolicy
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: SAM user name.
in: path
name: user_name
required: true
schema:
type: string
responses:
"204":
description: Successfully deleted a trust policy for the user.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Deletes user trust policy.
tags:
- User
x-soracom-cli:
- users trust-policy delete
get:
description: Gets user trust policy for switching user.
operationId: getUserTrustPolicy
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: SAM user name.
in: path
name: user_name
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GetUserTrustPolicyResponse'
description: Successfully obtained trust policy.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Gets user trust policy.
tags:
- User
x-soracom-cli:
- users trust-policy get
put:
description: |
Updates the trust policy of the user specified by `operator_id` and `user_name` parameters.
**Warning**: Setting a trust policy will allow the operator(s) or user(s) specified in the request body to switch to this SAM user. When switching, the trusted operator(s) or user(s) will be granted the same permissions as this SAM user, and may be able to see session history, traffic history, and other account information.
operationId: updateUserTrustPolicy
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: SAM user name.
in: path
name: user_name
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetUserTrustPolicyRequest'
description: Specify a trust policy.
required: true
responses:
"204":
description: Successfully updated a trust policy for the user.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Updates user trust policy
tags:
- User
x-soracom-cli:
- users trust-policy update
/operators/{operator_id}/users/default_permissions:
delete:
description: Delete the default permissions rule that is applied to all of the
SAM
operationId: deleteDefaultPermissions
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
responses:
"204":
description: Deleted.
"403":
description: Not privileged
"404":
description: Operator Not Found
security:
- api_key: []
api_token: []
summary: Delete the default permissions
tags:
- User
x-soracom-cli:
- users default-permissions delete
get:
description: Get the default permissions rule that is applied to all of the
SAM users
operationId: getDefaultPermissions
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GetDefaultPermissionsResponse'
description: OK
"403":
description: Not privileged
"404":
description: Operator Not Found
security:
- api_key: []
api_token: []
summary: Get the default permissions
tags:
- User
x-soracom-cli:
- users default-permissions get
put:
description: Update the default permissions rule that is applied to all of the
SAM
operationId: updateDefaultPermissions
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDefaultPermissionsRequest'
description: request
required: true
responses:
"202":
description: Accepted
"400":
description: Bad request.
"403":
description: Not privileged
security:
- api_key: []
api_token: []
summary: Update the default permissions
tags:
- User
x-soracom-cli:
- users default-permissions update
/operators/add_email_token/issue:
post:
description: |
Generates an authentication token for adding a new email address and sends it to the specified email address. This authentication token is used with [Email:verifyAddEmailToken API](#/Email/verifyAddEmailToken) to complete email address verification and addition.
**Warning**: This API can only be executed with root user credentials.
operationId: issueAddEmailToken
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IssueAddEmailTokenRequest'
description: Request.
required: true
responses:
"200":
description: Authentication token successfully issued and sent to the specified
email address.
"400":
description: Exceeds maximum number of emails.
security:
- api_key: []
api_token: []
summary: Issue an authentication token to add an email address
tags:
- Email
x-soracom-cli:
- emails issue-add-email-token
/operators/add_email_token/verify:
post:
description: |
Verifies the authentication token issued by [Email:issueAddEmailToken API](#/Email/issueAddEmailToken) and adds the email address to the operator.
**Warning**: Authentication tokens have an expiration time. Expired authentication tokens cannot be used.
operationId: verifyAddEmailToken
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VerifyAddEmailTokenRequest'
description: Request.
required: true
responses:
"200":
description: Email address successfully verified and added to the operator.
summary: Verify an authentication token to add an email address
tags:
- Email
x-soracom-cli:
- emails verify-add-email-token
/operators/mfa_revoke_token/issue:
post:
description: Issues a token to revoke operator's MFA. The issued token will
be sent to the operator via email.
operationId: issueMFARevokingToken
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MFAIssueRevokingTokenRequest'
description: Request.
required: true
responses:
"200":
description: OK.
"400":
description: Bad request.
"404":
description: Operator not found.
summary: Issue Operator's MFA Revoke Token
tags:
- Operator
x-soracom-cli:
- operator issue-mfa-revoke-token
/operators/mfa_revoke_token/verify:
post:
description: Verifies the one-time token which is previously issued by calling
`/operators/mfa_revoke_token/issue` API, operator's email address, password,
and one of the backup codes. If verified, operator's MFA is going to be revoked.
operationId: verifyMFARevokingToken
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MFARevokingTokenVerifyRequest'
description: Request.
required: true
responses:
"200":
description: Revoked.
"400":
description: Bad request.
"403":
description: Invalid username or password.
summary: Verify Operator's MFA revoke token
tags:
- Operator
x-soracom-cli:
- operator verify-mfa-revoke-token
/orders:
get:
description: |
Get a list of confirmed order history.
**Warning**: The maximum information you can get is for the last 18 months. If you need the information before that time, please contact [Soracom Support](https://support.soracom.io).
operationId: listOrders
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ListOrderResponse'
description: A list of confirmed order history.
security:
- api_key: []
api_token: []
summary: Get a list of confirmed order history
tags:
- Order
x-soracom-cli:
- orders list
post:
description: Creates a new order quotation. If the orderId is put in /orders/{order_id}/confirm,
the order is complete.
operationId: createQuotation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateEstimatedOrderRequest'
description: Order item list and shipping address ID.
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/EstimatedOrderModel'
description: A new order quotation was created.
security:
- api_key: []
api_token: []
summary: Create Quotation
tags:
- Order
x-soracom-cli:
- orders create
/orders/{order_id}:
get:
description: |
Returns a confirmed order.
**Warning**: The maximum information you can get is for the last 18 months. If you need the information before that time, please contact [Soracom Support](https://support.soracom.io).
operationId: getOrder
parameters:
- description: Order ID. You can get it by calling [Order:listOrders API](#/Order/listOrders).
in: path
name: order_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GetOrderResponse'
description: The confirmed order information.
security:
- api_key: []
api_token: []
summary: Get a confirmed order
tags:
- Order
x-soracom-cli:
- orders get
/orders/{order_id}/cancel:
put:
description: Cancels an order. If the order has already been dispatched, an
error is returned.
operationId: cancelOrder
parameters:
- description: Order ID. You can get it by calling [Order:listOrders API](#/Order/listOrders).
in: path
name: order_id
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema:
type: string
description: The order was cancelled.
security:
- api_key: []
api_token: []
summary: Cancel order
tags:
- Order
x-soracom-cli:
- orders cancel
/orders/{order_id}/confirm:
put:
description: |
Performs a credit limit and confirms the order if no problems are encountered.
**Warning**: Only orders completed within the past month can be confirmed. If one month has elapsed, please redo the order placement operation.
operationId: confirmOrder
parameters:
- description: Order ID. You can get it by calling [Order:listOrders API](#/Order/listOrders).
in: path
name: order_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GetOrderResponse'
description: The confirmed order information.
security:
- api_key: []
api_token: []
summary: Confirm order
tags:
- Order
x-soracom-cli:
- orders confirm
/orders/{order_id}/resource_initial_setting:
put:
description: |
Update resource initial setting for an order.
**Warning**: Initial settings of IoT SIM cannot be specified after confirmation of receipt.
operationId: updateOrderedResourceInitialSetting
parameters:
- description: Order ID. You can get it by calling [Order:listOrders API](#/Order/listOrders).
in: path
name: order_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceInitialSetting'
description: Resource initial setting for an order.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GetOrderResponse'
description: The initial setting has been successfully updated.
"400":
content:
application/json:
schema:
type: string
description: The specified request has a problem.
"404":
content:
application/json:
schema:
type: string
description: Order ID not found.
security:
- api_key: []
api_token: []
summary: Update resource initial setting for an order
tags:
- Order
x-soracom-cli:
- orders resource-initial-setting update
/orders/{order_id}/subscribers:
get:
description: |
List ordered subscribers.
**Warning**: The maximum information you can get is for the last 18 months. If you need the information before that time, please contact [Soracom Support](https://support.soracom.io).
operationId: listOrderedSubscribers
parameters:
- description: Order ID. You can get it by calling [Order:listOrders API](#/Order/listOrders).
in: path
name: order_id
required: true
schema:
type: string
- description: The value of the `x-soracom-next-key` header returned when the
previous page was retrieved. Specify if the next page is to be retrieved.
For details, see [Handling Pagination](/en/docs/tools/api-reference/#handling-pagination).
in: query
name: last_evaluated_key
required: false
schema:
type: string
- description: Maximum number of subscribers in a response.
in: query
name: limit
required: false
schema:
format: int32
type: integer
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ListOrderedSubscriberResponse'
description: A list of ordered subscribers.
security:
- api_key: []
api_token: []
summary: List ordered subscribers
tags:
- Order
x-soracom-cli:
- orders list-subscribers
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/orders/{order_id}/subscribers/register:
post:
description: |
Registers the ordered SIM with the operator.
**Warning**: IoT SIMs can only be registered for the past 18 months. If you need to register an IoT SIM that was ordered before the time period, please contact [Soracom Support](https://support.soracom.io).
operationId: registerOrderedSim
parameters:
- description: Order ID. You can get it by calling [Order:listOrders API](#/Order/listOrders).
in: path
name: order_id
required: true
schema:
type: string
responses:
"204":
content:
application/json:
schema:
type: string
description: Subscribers were registered for the operator.
security:
- api_key: []
api_token: []
summary: Register subscribers for operator
tags:
- Order
x-soracom-cli:
- orders register-subscribers
/payment_history/transactions/{payment_transaction_id}:
get:
description: |
Returns result of a payment transaction.
**Warning**: The maximum information you can get is for the last 18 months. If you need the information before that time, please contact [Soracom Support](https://support.soracom.io).
operationId: getPaymentTransaction
parameters:
- description: Payment transaction ID. It can be obtained via [Billing:getBillingHistory
API](#!/Billing/getBillingHistory) or [Billing:getBilling API](#!/Billing/getBilling).
in: path
name: payment_transaction_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GetPaymentTransactionResult'
description: OK.
"400":
description: Invalid payment transaction ID.
"404":
description: Payment transaction result not found.
security:
- api_key: []
api_token: []
summary: Get payment transaction result.
tags:
- Payment
x-soracom-cli:
- payment-history get
/payment_methods/current:
get:
description: Returns current payment methods. Detailed information is included
in the properties.
operationId: getPaymentMethod
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GetPaymentMethodResult'
description: OK.
"404":
description: Payment method not found.
security:
- api_key: []
api_token: []
summary: Get current payment method information.
tags:
- Payment
x-soracom-cli:
- payment-methods get-current
/payment_methods/current/activate:
post:
description: Activates a current payment method that has an error.
operationId: activatePaymentMethod
responses:
"200":
content:
application/json:
schema:
type: object
description: OK.
"404":
description: Payment method not found.
security:
- api_key: []
api_token: []
summary: Activate current payment method
tags:
- Payment
x-soracom-cli:
- payment-methods reactivate-current
/payment_statements:
get:
description: |
List payment statements.
**Warning**: The maximum information you can get is for the last 18 months. If you need the information before that time, please contact [Soracom Support](https://support.soracom.io).
operationId: listPaymentStatements
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ListPaymentStatementResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: List payment statements
tags:
- Payment
x-soracom-cli:
- payment-statements list
/payment_statements/{payment_statement_id}/export:
post:
description: |
Export payment statement.
**Warning**: The maximum information you can get is for the last 18 months. If you need the information before that time, please contact [Soracom Support](https://support.soracom.io).
operationId: exportPaymentStatement
parameters:
- description: Payment statement ID
in: path
name: payment_statement_id
required: true
schema:
type: string
- description: Export mode (async, sync)
in: query
name: export_mode
required: false
schema:
enum:
- async
- sync
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/FileExportResponse'
description: OK.
"400":
description: Invalid payment statement ID.
security:
- api_key: []
api_token: []
summary: Export payment statement
tags:
- Payment
x-soracom-cli:
- payment-statements export
/payment_statements/payer_information:
get:
description: Export payer information.
operationId: getPayerInformation
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterPayerInformationModel'
description: OK.
"400":
description: Payer information not found.
security:
- api_key: []
api_token: []
summary: Export payer information
tags:
- Payment
x-soracom-cli:
- payer-information get
post:
description: Register payer information.
operationId: registerPayerInformation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterPayerInformationModel'
description: Payer information to be registered in the accounting specification.
required: true
responses:
"201":
description: Created.
"400":
description: Invalid payer information.
security:
- api_key: []
api_token: []
summary: Register payer information
tags:
- Payment
x-soracom-cli:
- payer-information register
/port_mappings:
get:
description: Returns a list of Napter On-Demand Remote Access entries.
operationId: listPortMappings
parameters:
- description: Maximum number of results per response page.
in: query
name: limit
required: false
schema:
type: integer
- description: The last On-Demand Remote Access ID retrieved on the previous
page. By specifying this parameter, you can continue to retrieve the list
from the next entry onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/PortMapping'
type: array
description: A list of On-Demand Remote Access entries.
security:
- api_key: []
api_token: []
summary: Retrieve a list of Napter On-Demand Remote Access entries
tags:
- PortMapping
x-soracom-cli:
- port-mappings list
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
post:
description: Create a new Napter On-Demand Remote Access entry.
operationId: createPortMapping
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePortMappingRequest'
description: Settings for the On-Demand Remote Access to be created.
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/PortMapping'
description: The On-Demand Remote Access entry has been created.
security:
- api_key: []
api_token: []
summary: Create Napter On-Demand Remote Access entry
tags:
- PortMapping
x-soracom-cli:
- port-mappings create
/port_mappings/{ip_address}/{port}:
delete:
description: Deletes the specified Napter On-Demand Remote Access entry.
operationId: deletePortMapping
parameters:
- description: IP address of the On-Demand Remote Access entry to be deleted.
in: path
name: ip_address
required: true
schema:
type: string
- description: Port number of the On-Demand Remote Access entry to be deleted.
in: path
name: port
required: true
schema:
type: string
responses:
"204":
description: The specified On-Demand Remote Access entry has been deleted.
"404":
description: The specified On-Demand Remote Access entry does not exist.
security:
- api_key: []
api_token: []
summary: Delete Napter On-Demand Remote Access entry
tags:
- PortMapping
x-soracom-cli:
- port-mappings delete
/port_mappings/sims/{sim_id}:
get:
description: Retrieves a list of Napter On-Demand Remote Access entries created
with the specified SIM ID.
operationId: listPortMappingsForSim
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:
items:
$ref: '#/components/schemas/PortMapping'
type: array
description: A list of On-Demand Remote Access entries created with the
specified SIM ID.
"404":
description: No On-Demand Remote Access entries exist for the specified
SIM ID.
security:
- api_key: []
api_token: []
summary: Retrieve a list of Napter On-Demand Remote Access entries created with
specified SIM ID
tags:
- PortMapping
x-soracom-cli:
- port-mappings list-for-sim
post:
description: Create a new Napter On-Demand Remote Access entry with the specified
SIM ID.
operationId: createPortMappingForSim
parameters:
- description: SIM ID of the target IoT SIM.
in: path
name: sim_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePortMappingRequestForSim'
description: Settings for the On-Demand Remote Access to be created.
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/PortMapping'
description: The On-Demand Remote Access entry has been created.
security:
- api_key: []
api_token: []
summary: Create Napter On-Demand Remote Access entry with specified SIM ID
tags:
- PortMapping
x-soracom-cli:
- port-mappings create-for-sim
/port_mappings/subscribers/{imsi}:
get:
description: |
Retrieves a list of Napter On-Demand Remote Access entries where `destinationChoosingStrategy` is `IMSI_PRIORITIZED` (entries created with specified IMSI).
operationId: listPortMappingsForSubscriber
parameters:
- description: IMSI of the target.
in: path
name: imsi
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/PortMapping'
type: array
description: |
A list of On-Demand Remote Access entries where `destinationChoosingStrategy` is `IMSI_PRIORITIZED`.
"404":
description: No On-Demand Remote Access entries exist for the specified
IMSI.
security:
- api_key: []
api_token: []
summary: Retrieve a list of Napter On-Demand Remote Access entries created with
specified IMSI
tags:
- PortMapping
x-soracom-cli:
- port-mappings get
- port-mappings list-for-subscriber
/products:
get:
description: Returns a list of products.
operationId: listProducts
parameters:
- in: query
name: campaign_code
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ListProductResponse'
description: A list of available products.
security:
- api_key: []
api_token: []
summary: List products
tags:
- Order
x-soracom-cli:
- products list
/query/devices:
get:
description: |
Search Soracom Inventory devices by query terms. It returns partial match results. When this API permission is allowed, it grants the authority to search and retrieve all Soracom Inventory devices that include their group information.
**Warning**: Use this API when the device ID of the target Inventory device is unknown, or when you want to retrieve a list of Inventory devices that match conditions. If you know the device ID, use the [Device:getDevice API](#/Device/getDevice).
operationId: searchDevices
parameters:
- description: Name to search.
explode: true
in: query
name: name
required: false
schema:
items:
type: string
type: array
- description: Group name to search.
explode: true
in: query
name: group
required: false
schema:
items:
type: string
type: array
- description: Group ID to search.
explode: true
in: query
name: group_id
required: false
schema:
items:
type: string
type: array
- description: Soracom Inventory device ID to search.
explode: true
in: query
name: deviceId
required: false
schema:
items:
type: string
type: array
- description: String of tag values to search.
explode: true
in: query
name: tag
required: false
schema:
items:
type: string
type: array
- description: IMSI of the device that was used on bootstrapping.
explode: true
in: query
name: imsi
required: false
schema:
items:
type: string
type: array
- description: IMEI of the device that was used on bootstrapping.
explode: true
in: query
name: imei
required: false
schema:
items:
type: string
type: array
- description: The maximum number of items to retrieve.
in: query
name: limit
required: false
schema:
default: 10
format: int32
maximum: 100
type: integer
- description: The Soracom Inventory device ID of the last Inventory device
retrieved on the previous page. By specifying this parameter, you can continue
to retrieve the list from the next Inventory device onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
- description: Type of the search ('AND searching' or 'OR searching').
in: query
name: search_type
required: false
schema:
default: and
enum:
- and
- or
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Device'
type: array
description: Returns result of searching.
"400":
description: Invalid search queries.
security:
- api_key: []
api_token: []
summary: Search Soracom Inventory devices by query
tags:
- Query
x-soracom-cli:
- query devices
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/query/sigfox_devices:
get:
description: |
Search Sigfox devices by query terms. It returns partial match results. When this API permission is allowed, it grants the authority to search and retrieve all Sigfox devices that includes their group information.
**Warning**: Use this API when the device ID of the target Sigfox device is unknown, or when you want to retrieve a list of Sigfox devices that match conditions. If you know the device ID, use the [SigfoxDevice:getSigfoxDevice API](#/SigfoxDevice/getSigfoxDevice).
operationId: searchSigfoxDevices
parameters:
- description: Name to search.
explode: true
in: query
name: name
required: false
schema:
items:
type: string
type: array
- description: Group name to search.
explode: true
in: query
name: group
required: false
schema:
items:
type: string
type: array
- description: Group ID to search.
explode: true
in: query
name: group_id
required: false
schema:
items:
type: string
type: array
- description: Sigfox device ID to search.
explode: true
in: query
name: deviceId
required: false
schema:
items:
type: string
type: array
- description: String of tag values to search.
explode: true
in: query
name: tag
required: false
schema:
items:
type: string
type: array
- description: Status of Sigfox devices.
in: query
name: status
required: false
schema:
default: and
enum:
- active
- inactive
- suspended
- terminated
- shipped
- ready
- inStock
- banned
- standby
type: string
- description: Registration status of Sigfox devices.
in: query
name: registration
required: false
schema:
default: and
enum:
- notStarted
- pending
- success
- failed
type: string
- description: The maximum number of items to retrieve.
in: query
name: limit
required: false
schema:
default: 10
format: int32
maximum: 100
type: integer
- description: The Sigfox device ID of the last Sigfox device retrieved on the
previous page. By specifying this parameter, you can continue to retrieve
the list from the next Sigfox device onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
- description: Type of the search ('AND searching' or 'OR searching').
in: query
name: search_type
required: false
schema:
default: and
enum:
- and
- or
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/SigfoxDevice'
type: array
description: Returns result of searching.
"400":
description: Invalid search queries.
security:
- api_key: []
api_token: []
summary: Search Sigfox devices by query
tags:
- Query
x-soracom-cli:
- query sigfox-devices
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/query/sims:
get:
description: |
Searches for SIMs using specified query parameters.
- Supports partial matching.
- Case-insensitive.
- Multiple search values can be specified for the following parameters by separating each value with a comma `,` (or `%2C` when URL-encoded). Note that the literal character `,` itself cannot be used as part of a search value.
- `name`
- `group`
- `sim_id`
- `imsi`
- `msisdn`
- `iccid`
- `serial_number`
- `tag`
- `status`
- `subscription`
- `module_type`
- Each search value must be at least 2 characters long. When using a comma `,` to specify multiple search values, each value must also be at least 2 characters long (e.g., `ab,c` is invalid because `c` is only 1 character long).
- When multiple query parameters are specified, the search type (AND search or OR search) can be specified using `search_type`.
**Warning**: When this API permission is allowed, it grants the authority to search and retrieve all SIMs that include their group information.
**Warning**: Use this API when the SIM ID of the target IoT SIM is unknown, or when you want to retrieve a list of SIMs that match certain conditions. If you know the SIM ID, please use the [Sim:getSim API](#/Sim/getSim) instead.
operationId: searchSims
parameters:
- description: Name to search.
examples:
0_no_filter:
summary: No filter
value: []
1_filter_example:
summary: Search for IoT SIMs with specific name
value:
- example-sim
explode: true
in: query
name: name
required: false
schema:
items:
type: string
type: array
- description: Name of the [group](/en/docs/groups/) to which the IoT SIM belongs.
examples:
0_no_filter:
summary: No filter
value: []
1_filter_example:
summary: Search for IoT SIMs in specific group
value:
- example-group
explode: true
in: query
name: group
required: false
schema:
items:
type: string
type: array
- description: Search for IoT SIMs whose group ID matches the specified value.
explode: true
in: query
name: group_id
required: false
schema:
items:
type: string
type: array
- description: Identifier of the SIM to search.
explode: true
in: query
name: sim_id
required: false
schema:
items:
type: string
type: array
- description: IMSI to search.
explode: true
in: query
name: imsi
required: false
schema:
items:
type: string
type: array
- description: MSISDN to search.
explode: true
in: query
name: msisdn
required: false
schema:
items:
type: string
type: array
- description: ICCID to search. An identifier used to identify a SIM card or
virtual IoT SIM (Virtual SIM/Subscriber).
explode: true
in: query
name: iccid
required: false
schema:
items:
type: string
type: array
- description: Serial number to search. This is set only for IoT SIMs for specific
regions.
explode: true
in: query
name: serial_number
required: false
schema:
items:
type: string
type: array
- description: String of tag values to search. For more information, please
refer to [Using Tags with Soracom Air](/docs/air/tags).
explode: true
in: query
name: tag
required: false
schema:
items:
type: string
type: array
- description: Bundles type to search.
explode: true
in: query
name: bundles
required: false
schema:
items:
type: string
type: array
- description: |
Status of the IoT SIM to search.
- `ready`
- `active`
- `inactive`
- `standby`
- `suspended`
- `terminated`
- `shipped`
explode: true
in: query
name: status
required: false
schema:
items:
type: string
type: array
- description: |
Status of the session to search. Specify one of the following:
- `NA`: Any.
- `ONLINE`: Online.
- `OFFLINE`: Offline.
in: query
name: session_status
required: false
schema:
default: NA
enum:
- NA
- ONLINE
- OFFLINE
format: string
type: string
- description: |
Subscription to search. Use exact match for the search. If specifying multiple subscriptions, please set `search_type` to `OR`.
- For Japan coverage, specify one of the following:
- `plan-D`: plan-D (without bundle), plan-D (D-300MB).
- `plan-K2`: plan-K2 (K2-300MB).
- `plan-DU`
- `plan-KM1`
- `plan-K`
- `planArc01`: Virtual SIM/Subscriber.
- For global coverage, specify one of the following:
- `plan01s`
- `plan01s-low_data_volume`: plan01s - Low Data Volume.
- `planX3`: planX3 (X3-5MB), planX3.
- `planP1`
- `plan-US`
- `plan-US-max`
- `planX1`
- `planX2`
- `planX3-EU`
- `plan-US-NA`
- `planArc01`: Virtual SIM/Subscriber.
explode: true
in: query
name: subscription
required: false
schema:
items:
type: string
type: array
- description: |
The form factor of the physical SIM to search.
- `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).
explode: true
in: query
name: module_type
required: false
schema:
items:
type: string
type: array
- description: The maximum number of items to retrieve.
in: query
name: limit
required: false
schema:
default: 10
format: int32
maximum: 100
type: integer
- description: The SIM ID of the last SIM retrieved on the previous page. By
specifying this parameter, you can continue to retrieve the list from the
next SIM onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
- description: |
The type of search condition.
- AND: SIMs which match all of the search parameters will be returned (default).
- OR: SIMs which match any of the search parameters will be returned.
If the value of a search parameter contains a comma `,` (or `%2C` when URL-encoded), the value will be split at each comma and treated as multiple search values, each of which will be evaluated based on the specified AND or OR condition.
in: query
name: search_type
required: false
schema:
default: and
enum:
- and
- or
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Sim'
type: array
description: Returns result of searching.
"400":
description: Invalid search queries.
security:
- api_key: []
api_token: []
summary: Search SIMs by query terms
tags:
- Query
x-soracom-cli:
- query sims
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/query/subscribers:
get:
deprecated: true
description: '(DEPRECATED: please consider to use `/query/sims` API instead
) Search subscribers by query terms. It returns partial match results. When
this API permission is allowed, it grants the authority to search and retrieve
all SIMs that includes their group information.'
operationId: searchSubscribers
parameters:
- description: Name to search.
explode: true
in: query
name: name
required: false
schema:
items:
type: string
type: array
- description: Group name to search.
explode: true
in: query
name: group
required: false
schema:
items:
type: string
type: array
- description: IMSI to search.
explode: true
in: query
name: imsi
required: false
schema:
items:
type: string
type: array
- description: MSISDN to search.
explode: true
in: query
name: msisdn
required: false
schema:
items:
type: string
type: array
- description: ICCID to search.
explode: true
in: query
name: iccid
required: false
schema:
items:
type: string
type: array
- description: Serial number to search.
explode: true
in: query
name: serial_number
required: false
schema:
items:
type: string
type: array
- description: String of tag values to search.
explode: true
in: query
name: tag
required: false
schema:
items:
type: string
type: array
- description: |
Subscription to search. Use exact match for the search. If specifying multiple subscriptions, please set `search_type` to `OR`.
- For Japan coverage, specify one of the following:
- `plan-D`: plan-D (without bundle), plan-D (D-300MB).
- `plan-K2`: plan-K2 (K2-300MB).
- `plan-DU`
- `plan-KM1`
- `plan-K`
- `planArc01`: Virtual SIM/Subscriber.
- For global coverage, specify one of the following:
- `plan01s`
- `plan01s-low_data_volume`: plan01s - Low Data Volume.
- `planX3`: planX3 (X3-5MB), planX3.
- `planP1`
- `plan-US`
- `plan-US-max`
- `planX1`
- `planX2`
- `planX3-EU`
- `plan-US-NA`
- `planArc01`: Virtual SIM/Subscriber.
explode: true
in: query
name: subscription
required: false
schema:
items:
type: string
type: array
- description: Module type (e.g. `mini`, `virtual`) to search.
explode: true
in: query
name: module_type
required: false
schema:
items:
type: string
type: array
- description: The maximum number of item to retrieve.
in: query
name: limit
required: false
schema:
default: 10
format: int32
maximum: 100
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
- description: Type of the search ('AND searching' or 'OR searching').
in: query
name: search_type
required: false
schema:
default: and
enum:
- and
- or
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Subscriber'
type: array
description: Returns result of searching.
"400":
description: Invalid search queries.
security:
- api_key: []
api_token: []
summary: (DEPRECATED) Search subscribers by query terms
tags:
- Query
x-soracom-alternative-cli: query sims
x-soracom-cli:
- query subscribers
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/query/subscribers/traffic_volume/ranking:
get:
description: Search traffic volume ranking of subscribers.
operationId: searchSubscriberTrafficVolumeRanking
parameters:
- description: The beginning point of searching range (UNIX time in milliseconds).
in: query
name: from
required: true
schema:
format: int64
type: integer
- description: The end point of searching range (UNIX time in milliseconds).
in: query
name: to
required: true
schema:
format: int64
type: integer
- description: The maximum number of item to retrieve.
in: query
name: limit
required: false
schema:
default: 10
format: int32
maximum: 500
type: integer
- description: The order of ranking.
in: query
name: order
required: false
schema:
default: desc
enum:
- asc
- desc
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/TrafficVolumeRanking'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: Search traffic volume ranking of subscribers
tags:
- Query
x-soracom-cli:
- query subscribers traffic-volume-ranking
- query traffic-ranking
/resource_summaries/{resource_summary_type}:
get:
description: Obtain a resource summary information identified by resource_summary_type.
operationId: getResourceSummary
parameters:
- description: |
The type of the resource summary.
- `simsPerStatus`: The number of IoT SIMs per status.
in: path
name: resource_summary_type
required: true
schema:
enum:
- simsPerStatus
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceSummary'
description: The resource summary was found.
"404":
description: No such resource summary.
security:
- api_key: []
api_token: []
summary: Get the resource summary identified by resource_summary_type
tags:
- ResourceSummary
x-soracom-cli:
- resource-summaries get
/sigfox_devices:
get:
description: |
Returns a list of Sigfox devices that match certain criteria. If the total number of Sigfox devices does not fit in one page, a URL for accessing the next page is returned in the `link` header of the response.
operationId: listSigfoxDevices
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: Maximum number of Sigfox devices to retrieve.
in: query
name: limit
required: false
schema:
type: integer
- description: The device ID of the last Sigfox device retrieved on the previous
page. By specifying this parameter, you can continue to retrieve the list
from the next Sigfox device onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/SigfoxDevice'
type: array
description: A list of Sigfox devices.
security:
- api_key: []
api_token: []
summary: List Sigfox devices.
tags:
- SigfoxDevice
x-soracom-cli:
- sigfox-devices list
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/sigfox_devices/{device_id}:
get:
description: Returns information about the specified Sigfox device.
operationId: getSigfoxDevice
parameters:
- description: Device ID of the target Sigfox device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/SigfoxDevice'
description: The Sigfox device's detailed information.
"404":
description: The specified Sigfox device does not exist.
security:
- api_key: []
api_token: []
summary: Get Sigfox device.
tags:
- SigfoxDevice
x-soracom-cli:
- sigfox-devices get
/sigfox_devices/{device_id}/data:
get:
description: |
Retrieves data that matches the specified conditions from the data sent by the specified Sigfox device to Harvest Data. If the data entries do not fit in one page, a URL to retrieve the next page with the same conditions will be included in the `link` header of the response.
operationId: getDataFromSigfoxDevice
parameters:
- description: ID of the Sigfox device from which to retrieve data. The ID of
a Sigfox device can be obtained using the [SigfoxDevice:listSigfoxDevices
API](#!/SigfoxDevice/listSigfoxDevices).
in: path
name: device_id
required: true
schema:
type: string
- description: Start time of the target period (UNIX time in milliseconds).
in: query
name: from
required: false
schema:
type: integer
- description: End time of the target period (UNIX time in milliseconds).
in: query
name: to
required: false
schema:
type: integer
- description: Sort order of data entries. Either descending order (latest data
entry first) or ascending order (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 (1 to 1000). The default
is `10`.
in: query
name: limit
required: false
schema:
maximum: 1000
minimum: 1
type: integer
- description: Timestamp of the last data entry retrieved on the previous page.
By specifying this parameter, the list starting from the next data entry
can be obtained.
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: Retrieves data sent from a Sigfox device to Harvest Data
tags:
- SigfoxDevice
x-soracom-cli:
- sigfox-devices get-data
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
post:
description: Sends data to the specified Sigfox device. The data will be stored
until the device sends a next uplink message. If another message destined
for the same Sigfox device ID is already waiting to be sent, the existing
message will be discarded, and the new message will be sent instead.
operationId: sendDataToSigfoxDevice
parameters:
- description: ID of the recipient device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SigfoxData'
description: Binary data encoded as a hexadecimal string. Length of original
binary data must be 8 octets (16 characters when encoded as a hexadecimal
string).
required: true
responses:
"202":
description: Data has been received by server and waiting for the recipient
device to retrieve.
"404":
description: No such device found.
security:
- api_key: []
api_token: []
summary: Send data to a Sigfox device.
tags:
- SigfoxDevice
x-soracom-cli:
- sigfox-devices send-data
/sigfox_devices/{device_id}/disable_termination:
post:
description: Disables termination of specified Sigfox device.
operationId: disableTerminationOnSigfoxDevice
parameters:
- description: Device ID of the target Sigfox device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/SigfoxDevice'
description: The Sigfox device's detailed information after the update.
"404":
description: The specified Sigfox device does not exist.
security:
- api_key: []
api_token: []
summary: Disable Termination of Sigfox device.
tags:
- SigfoxDevice
x-soracom-cli:
- sigfox-devices disable-termination
/sigfox_devices/{device_id}/enable_termination:
post:
description: Enables termination of specified Sigfox device.
operationId: enableTerminationOnSigfoxDevice
parameters:
- description: Device ID of the target Sigfox device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/SigfoxDevice'
description: The Sigfox device's detailed information after the update.
"404":
description: The specified Sigfox device does not exist.
security:
- api_key: []
api_token: []
summary: Enable Termination of Sigfox device.
tags:
- SigfoxDevice
x-soracom-cli:
- sigfox-devices enable-termination
/sigfox_devices/{device_id}/register:
post:
description: Registers a Sigfox device.
operationId: registerSigfoxDevice
parameters:
- description: Device ID of the target Sigfox device to register.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SigfoxRegistrationRequest'
description: Sigfox device registration request.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/SigfoxDevice'
description: Sigfox device successfully registered.
"400":
description: PAC code is missing.
security:
- api_key: []
api_token: []
summary: Registers a Sigfox device.
tags:
- SigfoxDevice
x-soracom-cli:
- sigfox-devices register
/sigfox_devices/{device_id}/set_group:
post:
description: Adds a Sigfox device to a Sigfox group.
operationId: setSigfoxDeviceGroup
parameters:
- description: ID of the target Sigfox device. The ID of a Sigfox device can
be obtained using the [SigfoxDevice:listSigfoxDevices API](#!/SigfoxDevice/listSigfoxDevices).
in: path
name: device_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/SigfoxDevice'
description: Detailed information of the updated Sigfox device.
"404":
description: The specified Sigfox device does not exist.
security:
- api_key: []
api_token: []
summary: Adds a Sigfox device to a Sigfox group
tags:
- SigfoxDevice
x-soracom-cli:
- sigfox-devices set-group
/sigfox_devices/{device_id}/tags:
put:
description: Inserts/updates tags for the specified Sigfox device.
operationId: putSigfoxDeviceTags
parameters:
- description: Device ID of the target Sigfox device.
in: path
name: device_id
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/SigfoxDevice'
description: The Sigfox device's detailed information after the update.
"404":
description: The specified Sigfox device does not exist.
security:
- api_key: []
api_token: []
summary: Bulk Insert or Update Sigfox device Tags.
tags:
- SigfoxDevice
x-soracom-cli:
- sigfox-devices put-tags
/sigfox_devices/{device_id}/tags/{tag_name}:
delete:
description: Deletes a tag from the specified Sigfox device.
operationId: deleteSigfoxDeviceTag
parameters:
- description: Device ID of the target Sigfox device.
in: path
name: device_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().)
in: path
name: tag_name
required: true
schema:
type: string
responses:
"204":
description: Deletion of specified tag complete.
"404":
description: The specified Sigfox device or the tag does not exist.
security:
- api_key: []
api_token: []
summary: Delete Sigfox device Tag.
tags:
- SigfoxDevice
x-sam-operationId: deleteTag
x-soracom-cli:
- sigfox-devices delete-tag
/sigfox_devices/{device_id}/terminate:
post:
description: Terminates the specified Sigfox device.
operationId: terminateSigfoxDevice
parameters:
- description: Device ID of the target Sigfox device.
in: path
name: device_id
required: true
schema:
type: string
- description: If the Sigfox device is deleted immediately.
in: query
name: delete_immediately
required: false
schema:
default: false
type: boolean
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/SigfoxDevice'
description: The Sigfox device's detailed information after the update.
"404":
description: The specified Sigfox device does not exist.
security:
- api_key: []
api_token: []
summary: Terminate Sigfox device.
tags:
- SigfoxDevice
x-soracom-cli:
- sigfox-devices terminate
/sigfox_devices/{device_id}/unset_group:
post:
description: Removes a Sigfox device from a Sigfox group.
operationId: unsetSigfoxDeviceGroup
parameters:
- description: ID of the target Sigfox device. The ID of a Sigfox device can
be obtained using the [SigfoxDevice:listSigfoxDevices API](#!/SigfoxDevice/listSigfoxDevices).
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/SigfoxDevice'
description: Detailed information of the updated Sigfox device.
"404":
description: The specified Sigfox device does not exist.
security:
- api_key: []
api_token: []
summary: Removes a Sigfox device from a Sigfox group
tags:
- SigfoxDevice
x-soracom-cli:
- sigfox-devices unset-group
/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
/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:
- Could not establish a network connection with the device.
- The device refused the HTTP connection.
- The HTTP response from the device was not received for one of the following reasons:
- The device did not return a response within 10 seconds.
- The HTTP response (including URL, headers, and body) exceeded 5 MiB.
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.
```json
{
"exitcode":0,
"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",
"stderr":""
}
```
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:
- Could not establish a network connection with the device.
- The device refused the SSH connection.
- The response from the device was not received for one of the following reasons:
- The device did not return a response within 10 seconds.
- The command output (including standard output and standard error output) exceeded 5 MiB.
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
/sora_cam/devices:
get:
description: |
Obtains a list of cameras that are compatible with the Soracom Cloud Camera Services.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: listSoraCamDevices
responses:
"200":
content:
application/json:
example:
- configuration:
audioAlarmEnabled: false
motionDetectionEnabled: true
smokeAlarmEnabled: false
connected: true
deviceCategory: Camera
deviceId: 7CDDDEADBEEF
firmwareVersion: 4.58.0.97
isShared: false
lastConnectedTime: 1664512183393
name: My ATOM Cam 2
powerState: "on"
productDisplayName: ATOM Cam 2
schema:
items:
$ref: '#/components/schemas/SoraCamDevice'
type: array
description: A list of SoraCam compatible camera devices.
security:
- api_key: []
api_token: []
summary: List SoraCam compatible camera devices.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices list
/sora_cam/devices/{device_id}:
delete:
description: |
Delete a SoraCam compatible camera device from the operator identified by device_id.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: handleDeleteSoraCamDevice
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Delete the SoraCam compatible camera device identified by device_id.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices delete
get:
description: |
Obtain a SoraCam compatible camera device record for the device identified by device_id.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: getSoraCamDevice
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
appliedLicenses:
- name: Cloud Continuous Recording License (14 Days)
value: storage_life=14
configuration:
audioAlarmEnabled: false
motionDetectionEnabled: true
smokeAlarmEnabled: false
connected: true
deviceCategory: Camera
deviceId: 7CDDDEADBEEF
firmwareVersion: 4.58.0.97
isShared: false
lastConnectedTime: 1664512183393
name: My ATOM Cam 2
powerState: "on"
productDisplayName: ATOM Cam 2
schema:
$ref: '#/components/schemas/SoraCamDevice'
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Get the SoraCam compatible camera device information identified by
device_id.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices get
/sora_cam/devices/{device_id}/atom_cam/firmware/update:
get:
description: |
Returns available firmware update information for a SoraCam compatible camera device.
**Warning**: If you will run this API with a SAM user's API key and API token, please add the `OAuth2:authorize` permission to the SAM user in addition to the permission required to call this API (e.g. `SoraCam:*`). For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: getSoraCamDeviceAtomCamFirmwareUpdate
parameters:
- in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
- deviceId: 7CDDDEADBEEF
firmwareVersion: 4.58.0.97
timeout: 600
schema:
items:
$ref: '#/components/schemas/SoraCamDevicesFirmwareUpdate'
type: array
description: OK.
"204":
description: There are no firmware versions available for update for the
specified SoraCam compatible camera device.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Retrieve firmware update information for a SoraCam compatible camera
device
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam get-firmware-update
post:
description: |
Update a firmware for a SoraCam compatible camera device if it is available. The SoraCam compatible camera device will be offline while updating.
**Warning**: Please do not turn off the power while updating.
**Warning**: If you will run this API with a SAM user's API key and API token, please add the `OAuth2:authorize` permission to the SAM user in addition to the permission required to call this API (e.g. `SoraCam:*`). For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: updateSoraCamDeviceAtomCamFirmware
parameters:
- in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
description: OK.
"400":
description: No firmware update found.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Update a firmware for a SoraCam compatible camera device
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam update-firmware
/sora_cam/devices/{device_id}/atom_cam/license:
delete:
description: |
Unassigns the license from a specified SoraCam compatible camera device.
**Warning**: If you will run this API with a SAM user's API key and API token, please add the `OAuth2:authorize` permission to the SAM user in addition to the permission required to call this API (e.g. `SoraCam:*`). For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Warning**: Devices will not undergo cloud recording by Soracom Cloud Camera Services unless a license is assigned.
**Warning**: A license is required to view footage already recorded to the cloud. This does not affect already exported videos/still images.
**Warning**: Unassigning the license will not stop license charges from being applied. To stop billing, cancel the license after unassigning it via the [SoraCam:listSoraCamLicensePacks API](#/SoraCam/listSoraCamLicensePacks) or the User Console.
operationId: unassignSoraCamDeviceAtomCamLicense
parameters:
- in: path
name: device_id
required: true
schema:
type: string
responses:
"204":
description: License successfully unassigned.
"403":
description: |
Unable to unassign the license. Possible reasons include:
- Insufficient permissions.
- The device is shared by another operator.
"404":
description: The specified device could not be found under the operator
or has no assigned license.
security:
- api_key: []
- api_token: []
summary: Unassign the license from a SoraCam compatible camera device
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam unassign-license
put:
description: |
Updates the license for a specified SoraCam compatible camera device.
**Warning**: If you will run this API with a SAM user's API key and API token, please add the `OAuth2:authorize` permission to the SAM user in addition to the permission required to call this API (e.g. `SoraCam:*`). For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: assignSoraCamDeviceAtomCamLicense
parameters:
- in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SoraCamDeviceLicenseUpdate'
required: true
responses:
"200":
content:
application/json:
example:
type: CR14-SC
schema:
$ref: '#/components/schemas/SoraCamDeviceLicenseUpdate'
description: License successfully updated.
"304":
description: No changes were made to the existing license.
"400":
description: Invalid input data or license type specified.
"403":
description: |
Unable to assign the license. Possible reasons include:
- Insufficient permissions.
- No available purchased licenses.
- The device is shared by another operator.
"404":
description: The specified device could not be found under the operator.
security:
- api_key: []
api_token: []
summary: Update the assigned license for a SoraCam compatible camera device
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam assign-license
/sora_cam/devices/{device_id}/atom_cam/live_image:
get:
description: |
Gets a live image from a SoraCam compatible camera device. Images are captured at the time the API is called and a download URL is returned.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must enable real-time access.
operationId: getSoraCamDeviceAtomCamLiveImage
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
url: https://192-0-2-1.sora-cam.soracom.io/devices/7CDDDEADBEEF/xxxxxxxx/image.jpg?token=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
schema:
$ref: '#/components/schemas/SoraCamAtomCamLiveImageResponse'
description: Successfully retrieved live image URL.
"404":
description: The specified SoraCam compatible camera device could not be
found.
"422":
description: The SoraCam compatible camera device and server cannot be connected.
This may occur when the device is offline or real-time access is not enabled.
security:
- api_key: []
api_token: []
summary: Get a live image from a SoraCam compatible camera device
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam live-image
/sora_cam/devices/{device_id}/atom_cam/options:
get:
description: |
Gets a list of whether the following options are enabled for a SoraCam-compatible camera.
- [Real-time access](https://users.soracom.io/ja-jp/docs/soracom-cloud-camera-services/real-time-access/) (Japanese)
operationId: getSoraCamDeviceAtomCamOptions
parameters:
- description: The device ID of the SoraCam-compatible camera.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
realTimeAccess:
enabled: true
schema:
$ref: '#/components/schemas/SoraCamDeviceOptions'
description: A list of enabled optional features for the SoraCam-compatible
camera.
"404":
description: The specified SoraCam-compatible camera was not found.
security:
- api_key: []
api_token: []
summary: Retrieve enabled options for a SoraCam-compatible camera
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam get-options
/sora_cam/devices/{device_id}/atom_cam/options/real_time_access:
put:
description: |
Enables or disables the real-time access feature for a SoraCam-compatible camera.
When enabled, the camera can be accessed directly via P2P communication for retrieving camera feed and performing operations in real time.
**Warning:** Real-time access is a paid feature. For more details, see the [documentation](https://users.soracom.io/ja-jp/docs/soracom-cloud-camera-services/real-time-access/) (Japanese).
operationId: updateSoraCamDeviceAtomCamOptionsRealTimeAccess
parameters:
- description: The device ID of the SoraCam-compatible camera.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SoraCamDeviceRealTimeAccessOption'
responses:
"200":
content:
application/json:
example:
enabled: true
schema:
$ref: '#/components/schemas/SoraCamDeviceRealTimeAccessOption'
description: Real-time access has been enabled/disabled.
"400":
description: The request payload is invalid.
"404":
description: The specified SoraCam-compatible camera was not found.
security:
- api_key: []
api_token: []
summary: Enable or disable real-time access for a SoraCam-compatible camera
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam update-real-time-access-option
/sora_cam/devices/{device_id}/atom_cam/settings:
get:
description: |
Retrieve the camera's various settings.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: getSoraCamDeviceAtomCamSettings
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
logo: "on"
motion: "off"
motionSensitivity: low
motionTagging: "on"
nightVision: auto
quality: high
rotation: 0
sound: "off"
soundSensitivity: low
statusLight: "on"
timestamp: "on"
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsAll'
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Retrieve the camera's various settings
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam get-settings
/sora_cam/devices/{device_id}/atom_cam/settings/logo:
get:
description: |
Retrieve the display settings for the ATOM tech Inc. logo shown on the bottom left of the captured image.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: getSoraCamDeviceAtomCamSettingsLogo
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
state: "on"
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsLogo'
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Retrieve the display settings for the ATOM tech Inc. logo shown on
the bottom left of the captured image
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings get-logo
post:
description: |
Change the display settings for the ATOM tech Inc. logo shown on the bottom left of the captured image.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: setSoraCamDeviceAtomCamSettingsLogo
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
state: "on"
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsLogo'
responses:
"200":
description: OK.
"400":
description: The specified value is invalid.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Change the display settings for the ATOM tech Inc. logo shown on the
bottom left of the captured image
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings set-logo
/sora_cam/devices/{device_id}/atom_cam/settings/motion:
get:
description: |
Retrieve the settings for motion detection. If motion detection is enabled, recording will start when the SoraCam compatible camera device detects moving objects.
**Warning**: Even if a Cloud Motion Detection "Unlimited" Recording License is assigned to the SoraCam compatible camera device, no recording will occur if motion detection is disabled, as it will not detect any moving objects.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: getSoraCamDeviceAtomCamSettingsMotion
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
state: "on"
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsMotion'
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Retrieve the settings for motion detection
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings get-motion
post:
description: |
Change the settings for motion detection. If motion detection is enabled, recording will start when the SoraCam compatible camera device detects moving objects.
**Warning**: Even if a Cloud Motion Detection "Unlimited" Recording License is assigned to the SoraCam compatible camera device, no recording will occur if motion detection is disabled, as it will not detect any moving objects.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: setSoraCamDeviceAtomCamSettingsMotion
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
state: "on"
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsMotion'
responses:
"200":
description: OK.
"400":
description: The specified value is invalid.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Change the settings for motion
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings set-motion
/sora_cam/devices/{device_id}/atom_cam/settings/motion_sensitivity:
get:
description: |
Retrieve the settings for motion sensitivity.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: getSoraCamDeviceAtomCamSettingsMotionSensitivity
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
state: low
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsMotionSensitivity'
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Retrieve the settings for motion sensitivity
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings get-motion-sensitivity
post:
description: |
Change the settings for motion sensitivity.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: setSoraCamDeviceAtomCamSettingsMotionSensitivity
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
state: low
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsMotionSensitivity'
responses:
"200":
description: OK.
"400":
description: The specified value is invalid.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Change the settings for motion sensitivity
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings set-motion-sensitivity
/sora_cam/devices/{device_id}/atom_cam/settings/motion_tagging:
get:
description: |
Retrieve the display settings for motion tagging. Motion tagging is a green frame that is displayed when motion is detected.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: getSoraCamDeviceAtomCamSettingsMotionTagging
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
state: "on"
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsMotionTagging'
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Retrieve the display settings for motion tagging
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings get-motion-tagging
post:
description: |
Change the display settings for motion tagging. Motion tagging is a green frame that is displayed when motion is detected.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: setSoraCamDeviceAtomCamSettingsMotionTagging
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
state: "on"
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsMotionTagging'
responses:
"200":
description: OK.
"400":
description: The specified value is invalid.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Change the display settings for motion tagging
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings set-motion-tagging
/sora_cam/devices/{device_id}/atom_cam/settings/night_vision:
get:
description: |
Retrieve the settings for night vision mode.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: getSoraCamDeviceAtomCamSettingsNightVision
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
state: auto
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsNightVision'
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Retrieve the settings for night vision mode
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings get-night-vision
post:
description: |
Change the settings for night vision mode.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: setSoraCamDeviceAtomCamSettingsNightVision
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
state: auto
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsNightVision'
responses:
"200":
description: OK.
"400":
description: The specified value is invalid.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Change the settings for night vision mode
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings set-night-vision
/sora_cam/devices/{device_id}/atom_cam/settings/quality:
get:
description: |
Retrieve the quality settings.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: getSoraCamDeviceAtomCamSettingsQuality
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
state: low
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsQuality'
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Retrieve the quality settings
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings get-quality
post:
description: |
Changes the quality settings. The quality settings will be applied to all videos and still images captured by the specified SoraCam compatible camera device. Note that if the Wi-Fi bandwidth is insufficient, the quality settings may automatically be adjusted.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: setSoraCamDeviceAtomCamSettingsQuality
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
state: low
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsQuality'
responses:
"200":
description: OK.
"400":
description: The specified value is invalid.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Change the quality settings
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings set-quality
/sora_cam/devices/{device_id}/atom_cam/settings/rotation:
get:
description: |
Retrieve the settings for rotating the image by 180 degrees.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: getSoraCamDeviceAtomCamSettingsRotation
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
state: 180
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsRotation'
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Retrieve the settings for rotating the image by 180 degrees
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings get-rotation
post:
description: |
Change the settings for rotating the image by 180 degrees.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: setSoraCamDeviceAtomCamSettingsRotation
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
state: 180
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsRotation'
responses:
"200":
description: OK.
"400":
description: The specified value is invalid.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Change the settings for rotating the image by 180 degrees
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings set-rotation
/sora_cam/devices/{device_id}/atom_cam/settings/sound:
get:
description: |
Retrieve the settings for sound detection. If sound detection is enabled, recording will start when the SoraCam compatible camera device detects sound.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Warning**: Video recorded via sound detection cannot be downloaded separately via the Soracom User Console, Soracom CLI, or Soracom API. However, if a Cloud Continuous Recording License is assigned, you can check the time that sound was detected using [SoraCam:listSoraCamDeviceEventsForDevice API](#/SoraCam/listSoraCamDeviceEventsForDevice) and then download the video recorded during that time.
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: getSoraCamDeviceAtomCamSettingsSound
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
state: "on"
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsSound'
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Retrieve the settings for sound detection
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings get-sound
post:
description: |
Change the settings for sound detection. If sound detection is enabled, recording will start when the SoraCam compatible camera device detects sound.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Warning**: Video recorded via sound detection cannot be downloaded separately via the Soracom User Console, Soracom CLI, or Soracom API. However, if a Cloud Continuous Recording License is assigned, you can check the time that sound was detected using [SoraCam:listSoraCamDeviceEventsForDevice API](#/SoraCam/listSoraCamDeviceEventsForDevice) and then download the video recorded during that time.
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: setSoraCamDeviceAtomCamSettingsSound
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
state: "on"
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsSound'
responses:
"200":
description: OK.
"400":
description: The specified value is invalid.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Change the settings for sound detection
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings set-sound
/sora_cam/devices/{device_id}/atom_cam/settings/sound_sensitivity:
get:
description: |
Retrieve the settings for sound sensitivity.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: getSoraCamDeviceAtomCamSettingsSoundSensitivity
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
state: low
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsSoundSensitivity'
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Retrieve the settings for sound sensitivity
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings get-sound-sensitivity
post:
description: |
Change the settings for sound sensitivity.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: setSoraCamDeviceAtomCamSettingsSoundSensitivity
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
state: low
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsSoundSensitivity'
responses:
"200":
description: OK.
"400":
description: The specified value is invalid.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Change the settings for sound sensitivity
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings set-sound-sensitivity
/sora_cam/devices/{device_id}/atom_cam/settings/status_light:
get:
description: |
Retrieve the settings for the status light (indicator light that shows the status of the camera).
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: getSoraCamDeviceAtomCamSettingsStatusLight
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
state: "on"
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsStatusLight'
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Retrieve the settings for the status light (indicator light that shows
the status of the camera)
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings get-status-light
post:
description: |
Change the settings for the status light (indicator light that shows the status of the camera).
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: setSoraCamDeviceAtomCamSettingsStatusLight
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
state: "on"
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsStatusLight'
responses:
"200":
description: OK.
"400":
description: The specified value is invalid.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Change the settings for the status light (indicator light that shows
the status of the camera)
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings set-status-light
/sora_cam/devices/{device_id}/atom_cam/settings/timestamp:
get:
description: |
Retrieve the display settings for the timestamp shown on the bottom right of the captured image.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: getSoraCamDeviceAtomCamSettingsTimestamp
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
state: "on"
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsTimestamp'
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Retrieve the display settings for the timestamp shown on the bottom
right of the captured image
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings get-timestamp
post:
description: |
Change the display settings for the timestamp shown on the bottom right of the captured image.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable real-time access.
operationId: setSoraCamDeviceAtomCamSettingsTimestamp
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
state: "on"
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsTimestamp'
responses:
"200":
description: OK.
"400":
description: The specified value is invalid.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Change the display settings for the timestamp shown on the bottom right
of the captured image
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings set-timestamp
/sora_cam/devices/{device_id}/data:
post:
description: |
Saves arbitrary data to Harvest Data that will be associated to a SoraCam compatible camera device specified by its device ID (`device_id`).
For example, to save JSON data, set `Content-Type: application/json` in the header and specify `{ "person_count": 5 }` in the request body.
**Warning**: When using a SAM user's API key and API token to execute this API, you must grant the SAM user the `OAuth2:authorize` permission in addition to the permissions required to call this API (e.g., `SoraCam:*`). For details about permission settings, refer to [Configuring SAM User Permissions](/en/docs/sam/set-permissions/).
**Info**: To retrieve saved data entries, use the [DataEntry:getDataEntry API](#/DataEntry/getDataEntry). To delete data entries, use the [DataEntry:deleteDataEntry API](#/DataEntry/deleteDataEntry).
**Info**: For more information about Harvest Data, please refer to [Soracom Harvest](/en/docs/harvest/).
operationId: createSoraCamDeviceDataEntry
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
- description: |
The Content-Type of the data to be saved.
- For JSON data, specify `application/json`.
- For text data, specify `text/plain`.
- For binary data, specify `application/octet-stream`.
in: header
name: content-type
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
application/octet-stream:
schema:
format: binary
type: string
text/plain:
schema:
type: string
description: The data to be saved.
required: true
responses:
"201":
description: Data has been successfully saved to Harvest Data.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Save arbitrary data to Harvest Data linked to a SoraCam compatible
camera device
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices data create-entry
/sora_cam/devices/{device_id}/data/{time}:
put:
description: |
Saves arbitrary data to Harvest Data with a particular timestamp that will be associated to a SoraCam compatible camera device specified by its device ID (`device_id`).
- If no data exists for the specified timestamp, a new data entry will be created.
- If data already exists for the specified timestamp, it will be overwritten according to the specifications of Harvest Data.
For example, to save JSON data, set `Content-Type: application/json` in the header and specify `{ "person_count": 5 }` in the request body.
**Warning**: When using a SAM user's API key and API token to execute this API, you must grant the SAM user the `OAuth2:authorize` permission in addition to the permissions required to call this API (e.g., `SoraCam:*`). For details about permission settings, refer to [Configuring SAM User Permissions](/en/docs/sam/set-permissions/).
**Info**: To retrieve saved data entries, use the [DataEntry:getDataEntry API](#/DataEntry/getDataEntry). To delete data entries, use the [DataEntry:deleteDataEntry API](#/DataEntry/deleteDataEntry).
**Info**: For more information about Harvest Data, please refer to [Soracom Harvest](/en/docs/harvest/).
operationId: updateSoraCamDeviceDataEntry
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
- description: The timestamp of the target data entry (UNIX time in milliseconds).
in: path
name: time
required: true
schema:
format: int64
type: integer
- description: |
The Content-Type of the data to be saved.
- For JSON data, specify `application/json`.
- For text data, specify `text/plain`.
- For binary data, specify `application/octet-stream`.
in: header
name: content-type
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
application/octet-stream:
schema:
format: binary
type: string
text/plain:
schema:
type: string
description: The data to be saved.
required: true
responses:
"200":
description: Data was successfully saved to Harvest Data.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Save arbitrary data to Harvest Data linked to a SoraCam compatible
camera device and timestamp
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices data update-entry
/sora_cam/devices/{device_id}/events:
get:
description: |
Returns list of SoraCam events for the specified device.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: listSoraCamDeviceEventsForDevice
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
- description: Value of the `x-soracom-next-key` header in the previous response.
Use this to continue pagination.
in: query
name: last_evaluated_key
required: false
schema:
type: string
- description: Maximum number of events to retrieve in one request (value range
is 1 to 1000). Note that the response may contain fewer events than the
specified limit.
in: query
name: limit
required: false
schema:
default: 10
maximum: 1000
minimum: 1
type: integer
- description: Start time of the events to retrieve (unix time in milliseconds).
If not specified, `from` is set to the oldest event time.
in: query
name: from
required: false
schema:
format: int64
type: integer
- description: End time of the events to retrieve (unix time in milliseconds).
If not specified, `to` is set to the current time.
in: query
name: to
required: false
schema:
format: int64
type: integer
- description: |
Event list sort order.
- `desc`: Descending order (newest events detected by target SoraCam compatible camera device first).
- `asc`: Ascending order (oldest events detected by target SoraCam compatible camera device first).
in: query
name: sort
required: false
schema:
default: desc
enum:
- desc
- asc
type: string
responses:
"200":
content:
application/json:
example:
- deviceId: 7CDDDEADBEEF
deviceType: atomCamV2
eventId: 5ed62746-6c53-47e5-94e6-90697057cf5b
eventInfo:
endTime: 1662973203000
picture: https://atom-device-alarm-file.s3.ap-northeast-1.amazonaws.com/7CDDDEADBEEF/2022-12-12/7CDDDEADBEEF131670825831_1670825831000_13_1_0/xxx.jpg?...
recordingStatus: completed
startTime: 1662973200000
type: motion
time: 1662973200000
schema:
items:
$ref: '#/components/schemas/SoraCamEvent'
type: array
description: OK.
"400":
description: The specified value is invalid.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: List SoraCam events for the specified device.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices events list-for-device
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/sora_cam/devices/{device_id}/exports/usage:
get:
description: |
Get the remaining number of still images that can be exported and the remaining exportable time of recorded video.
**Warning**: Exporting either still images or recorded video will consume the available video viewing time (72 hours per month by default).
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: getSoraCamDeviceExportUsage
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
deviceId: 7CDDDEADBEEF
image:
billedFrames: 0
limitFrames: 259200
remainingFrames: 259131
usedFrames: 69
meteredYearMonth: "202209"
video:
billedSeconds: 0
limitSeconds: 259200
remainingSeconds: 259131
usedSeconds: 69
schema:
$ref: '#/components/schemas/SoraCamExportUsage'
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Get the remaining number of still images that can be exported and the
remaining exportable time of recorded video.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices get-export-usage
/sora_cam/devices/{device_id}/exports/usage/limit_override:
delete:
description: |
Reset the monthly limit on the recorded video time available for export to the default value. By default, the limit is set to 72 hours per month.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: deleteSoraCamDeviceExportUsageLimitOverride
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"204":
description: OK, deleted.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Reset the monthly limit on the recorded video time available for export
for SoraCam compatible camera device to the default value.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices delete-export-usage-limit-override
put:
description: |
Set the monthly limit on the recorded video time available for export. By default, the limit is set to 72 hours per month. A maximum of 1,500 hours can be set.
**Warning**: Additional costs will be incurred for recorded video exported beyond 72 hours. Simply changing the monthly limit does not result in any charges.. However, exceeding 72 hours of export time consumption will incur charges regardless of the set export time limit. For more information about fees, see Soracom Cloud Camera Services [about fees](https://soracom.jp/sora_cam/#pricing) (Japanese).
**Warning**: The monthly limit can be set to less than 72 hours. In such cases, there will be no change in the charge.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: updateSoraCamDeviceExportUsageLimitOverride
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
limitHours: 144
schema:
$ref: '#/components/schemas/SoraCamExportUsageLimitOverrideSpecification'
required: true
responses:
"200":
content:
application/json:
example:
deviceId: 7CDDDEADBEEF
image:
billedFrames: 69
limitFrames: 518400
remainingFrames: 259131
usedFrames: 259269
meteredYearMonth: "202209"
video:
billedSeconds: 69
limitSeconds: 518400
remainingSeconds: 259131
usedSeconds: 259269
schema:
$ref: '#/components/schemas/SoraCamExportUsage'
description: OK, updated.
"400":
description: The specified limit override is not acceptable.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Set the monthly limit on the recorded video time available for export
for SoraCam compatible camera device.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices update-export-usage-limit-override
/sora_cam/devices/{device_id}/images/exports:
get:
description: |
Gets the list of the current status of the process of exporting still image from recorded video taken with a SoraCam compatible camera device started by [SoraCam:exportSoraCamDeviceRecordedImage API](#!/SoraCam/exportSoraCamDeviceRecordedImage). This API limits the target to one SoraCam compatible camera device.
If the target is not limited to one SoraCam compatible camera device, but all SoraCam compatible camera devices owned by the operator, use [SoraCam:listSoraCamDeviceImageExports API](#!/SoraCam/listSoraCamDeviceImageExports).
**Warning**: The URL becomes unusable 10 minutes after export completion. The time until the URL becomes unusable can be checked with `expiryTime`. Additionally, over time, it will be removed from the list.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: listSoraCamDeviceImageExportsForDevice
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
- description: Value of the `x-soracom-next-key` header in the previous response.
Use this to continue pagination.
in: query
name: last_evaluated_key
required: false
schema:
type: string
- description: Maximum number of items to retrieve in one request. Note that
the response may contain fewer items than the specified limit.
in: query
name: limit
required: false
schema:
default: 10
type: integer
- description: |
Export list sort order.
- `desc`: Descending order (newest export process first).
- `asc`: Ascending order (oldest export process first).
in: query
name: sort
required: false
schema:
default: desc
enum:
- desc
- asc
type: string
responses:
"200":
content:
application/json:
examples:
(1) Initializing:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1663649222739
status: initializing
(2) Processing:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1663649222739
status: processing
(3) Completed:
value:
- deviceId: 7CDDDEADBEEF
expiryTime: 1663735622739
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1663649222739
status: completed
url: https://sora-cam-devices-api-export-file-prod.s3.amazonaws.com/filename.jpg?...
(4) Retrying:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: retrying
(5) Failed:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: failed
(6) limitExceeded:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: limitExceeded
(7) Expired:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: expired
schema:
items:
$ref: '#/components/schemas/SoraCamImageExportInfo'
type: array
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Get a list of the current status of the process of exporting still
image from recorded video taken with a SoraCam compatible camera device.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices images list-exports-for-device
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
post:
description: |
Starts the process of extracting and exporting still images from recorded video saved on the cloud. The export process is processed asynchronously. The progress of the export process and the URL of the exported file can be obtained with the [SoraCam:listSoraCamDeviceImageExports API](#!/SoraCam/listSoraCamDeviceImageExports). The URL has an expiration time.
- At the time of obtaining the URL, the available video viewing time (72 hours per month by default) will be consumed regardless of whether the download has started or not.
- Exporting results are not cached. If you export the same time twice, it will consume twice the available video viewing time (72 hours per month by default).
- Exporting to Harvest Files will incur costs according to Harvest Files fees, and files will be retained for a period according to the Harvest Files retention period. For details, refer to [Pricing & Fee Schedule](/en/docs/reference/fees/#soracom-harvest-files).
**Warning**: Images from cameras that have not been assigned a Cloud Continuous Recording License or Cloud Motion Detection "Unlimited" Recording License cannot be exported.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. Additionally, to export to Harvest Files, the [FileEntry:putFile API](#/FileEntry/putFile) permission must be granted. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: The image size of the exported still images is 1920 x 1080 pixels.
operationId: exportSoraCamDeviceRecordedImage
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
examples:
(1) Without imageFilters:
value:
time: 1658400332905
(2) With imageFilters:
value:
imageFilters:
- wide_angle_correction
time: 1658400332905
schema:
$ref: '#/components/schemas/SoraCamImageExportSpecification'
required: true
responses:
"200":
content:
application/json:
example:
deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: initializing
schema:
$ref: '#/components/schemas/SoraCamImageExportInfo'
description: OK.
"400":
description: The value specified for `time` is invalid.
"403":
description: You do not have the required permission (FileEntry:putFile)
to export to Harvest Files.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Start the process of exporting still images from recorded video saved
on the cloud
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices images export
/sora_cam/devices/{device_id}/images/exports/{export_id}:
get:
description: |
Gets the current status of the process of exporting still image from recorded video taken with a SoraCam compatible camera device started by [SoraCam:exportSoraCamDeviceRecordedImage API](#!/SoraCam/exportSoraCamDeviceRecordedImage). This API limits the target to one export process.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: getSoraCamDeviceExportedImage
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
- description: Export ID of the target export operation.
in: path
name: export_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
(1) Initializing:
value:
deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: initializing
(2) Processing:
value:
deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: processing
(3) Completed:
value:
deviceId: 7CDDDEADBEEF
expiryTime: 1662973800000
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: completed
url: https://soracom-sora-cam-devices-api-export-file-prod.s3.amazonaws.com/filename.jpg?...
(4) Retrying:
value:
deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: retrying
(5) Failed:
value:
deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: failed
(6) limitExceeded:
value:
deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: limitExceeded
(7) Expired:
value:
deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: expired
schema:
$ref: '#/components/schemas/SoraCamImageExportInfo'
description: OK.
"404":
description: The specified SoraCam compatible camera device or export process
could not be found.
security:
- api_key: []
api_token: []
summary: Get the current status of the process of exporting still images from
recorded video taken with a SoraCam compatible camera device
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices images get-exported
/sora_cam/devices/{device_id}/name:
get:
description: Get the current name of the SoraCam compatible camera device.
operationId: getSoraCamDeviceName
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
name: ATOM Cam 2
schema:
$ref: '#/components/schemas/SoraCamDeviceName'
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Get the current name of the SoraCam compatible camera device.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices get-name
post:
description: Changes the name of the SoraCam compatible camera device.
operationId: setSoraCamDeviceName
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
name: ATOM Cam 2
schema:
$ref: '#/components/schemas/SoraCamDeviceName'
responses:
"200":
description: OK.
"400":
description: The specified value is invalid.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Changes the name of the SoraCam compatible camera device.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices set-name
/sora_cam/devices/{device_id}/power_state:
get:
description: Get the current power state of the SoraCam compatible camera device.
operationId: getSoraCamDevicePowerState
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
example:
powerState: "on"
schema:
$ref: '#/components/schemas/SoraCamPowerState'
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Get the current power state of the SoraCam compatible camera device.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices get-power-state
post:
description: Changes the power state of the SoraCam compatible camera device.
operationId: setSoraCamDevicePowerState
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
powerState: "on"
schema:
$ref: '#/components/schemas/SoraCamPowerState'
responses:
"200":
description: OK.
"400":
description: The specified value is invalid.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Changes the power state of the SoraCam compatible camera device.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices set-power-state
/sora_cam/devices/{device_id}/reboot:
post:
description: Reboot the SoraCam compatible camera device.
operationId: rebootSoraCamDevice
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
"200":
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Reboot the SoraCam compatible camera device.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices reboot
/sora_cam/devices/{device_id}/recordings_and_events:
get:
description: |
Returns a list of recordings and events for a SoraCam compatible camera device.
**Warning**: If you will run this API with a SAM user's API key and API token, please add the `OAuth2:authorize` permission to the SAM user in addition to the permission required to call this API (e.g. `SoraCam:*`). For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: listSoraCamDeviceRecordingsAndEvents
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
- description: Value of the `x-soracom-next-key` header in the previous response.
Use this to continue pagination.
in: query
name: last_evaluated_key
required: false
schema:
type: string
- description: Start time of the recordings and events to retrieve (unix time
in milliseconds). If not specified, `from` is set to the oldest time within
the retention period of the license that is assigned to the SoraCam compatible
camera device.
in: query
name: from
required: false
schema:
format: int64
type: integer
- description: End time of the recordings and events to retrieve (unix time
in milliseconds). If not specified, `to` is set to the current time.
in: query
name: to
required: false
schema:
format: int64
type: integer
- description: |
Recordings and events list sort order.
- `desc`: Descending order (newest data first).
- `asc`: Ascending order (oldest data first).
in: query
name: sort
required: false
schema:
default: desc
enum:
- desc
- asc
type: string
responses:
"200":
content:
application/json:
example:
events:
- endTime: 1699318810000
startTime: 1699318800000
type: motion
- endTime: 1699320820000
startTime: 1699320810000
type: sound
- endTime: 1699315210000
startTime: 1699315200000
type: motion
records:
- startTime: 1699318800000
- endTime: 1699318800000
startTime: 1699315200000
schema:
$ref: '#/components/schemas/SoraCamRecordingsAndEventsList'
description: OK.
"400":
description: The specified argument is invalid.
"404":
description: The specified SoraCam compatible camera device, or the recordings
for the specified period, could not be found.
security:
- api_key: []
api_token: []
summary: Retrieve a list of recording periods and events for a SoraCam compatible
camera device
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices recordings-and-events list-for-device
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/sora_cam/devices/{device_id}/stream:
get:
description: |
Get information for streaming recorded video from the cloud. Specifically, you can get an array of URLs that support a streaming method called MPEG-DASH (Dynamic Adaptive Streaming over HTTP). The URL has an expiration time.
- To stream the latest video, omit both `from` and `to`. Please be aware of the following points in that case:
- You can get a URL to stream the latest 300 seconds (5 minutes) of video based on the time of the API called. To continue watching, call the API again to get the next URL.
- At the time of obtaining the URL, 5 minutes of the available video viewing time (72 hours per month by default) will be consumed regardless of the viewing status.
- To stream recorded video at a specific point in time, specify either `from` or `to`. Please be aware of the following points:
- You can get a URL to stream up to 900 seconds (15 minutes) of recorded video.
- At the time of obtaining the URL, the available video viewing time (72 hours per month by default) will be consumed regardless of the viewing status.
**Warning**: **Latest video** refers to the most recent recorded footage saved in the cloud. This API cannot be used to play **Live streaming video** that can be played on the ATOM app. To view **Live streaming video**, use real-time access (Early access).
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: getSoraCamDeviceStreamingVideo
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
- description: |
Start time of recorded video (UNIX time in milliseconds).
- Omit both `from` and `to` to get information for streaming the latest video.
in: query
name: from
required: false
schema:
format: int64
type: integer
- description: |
End time of recorded video (UNIX time in milliseconds).
- Omit both `from` and `to` to get information for streaming the latest video.
- The maximum duration that can be viewed in a single API call is 900 seconds (15 minutes). Make sure the difference between `from` and `to` does not exceed 900 seconds.
in: query
name: to
required: false
schema:
format: int64
type: integer
responses:
"200":
content:
application/json:
example:
playList:
- from: 1658400332905
to: 1658400532705
url: https://xxxxxxx.kinesisvideo.ap-northeast-1.amazonaws.com/dash/v1/getDASHManifest.mpd?SessionToken=foo
schema:
$ref: '#/components/schemas/SoraCamStreamingVideo'
description: Successfully retrieved streaming video information.
"400":
description: Invalid parameters. Check that from/to values are valid timestamps
and time range does not exceed 900 seconds.
"404":
description: The specified SoraCam compatible camera device could not be
found or has no recorded video for the specified time range.
security:
- api_key: []
api_token: []
summary: Get information for streaming recorded video from the cloud.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices get-streaming-video
/sora_cam/devices/{device_id}/videos/exports:
get:
description: |
Gets the list of the current status of the process of exporting recorded video taken with a SoraCam compatible camera device started by [SoraCam:exportSoraCamDeviceRecordedVideo API](#!/SoraCam/exportSoraCamDeviceRecordedVideo). This API limits the target to one SoraCam compatible camera device.
If the target is not limited to one SoraCam compatible camera device, but all SoraCam compatible camera devices owned by the operator, use [SoraCam:listSoraCamDeviceVideoExports API](#!/SoraCam/listSoraCamDeviceVideoExports).
**Warning**: The URL becomes unusable 10 minutes after export completion. The time until the URL becomes unusable can be checked with `expiryTime`. Additionally, over time, it will be removed from the list.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: listSoraCamDeviceVideoExportsForDevice
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
- description: Value of the `x-soracom-next-key` header in the previous response.
Use this to continue pagination.
in: query
name: last_evaluated_key
required: false
schema:
type: string
- description: Maximum number of items to retrieve in one request. Note that
the response may contain fewer items than the specified limit.
in: query
name: limit
required: false
schema:
default: 10
type: integer
- description: |
Export list sort order.
- `desc`: Descending order (newest export process first).
- `asc`: Ascending order (oldest export process first).
in: query
name: sort
required: false
schema:
default: desc
enum:
- desc
- asc
type: string
responses:
"200":
content:
application/json:
examples:
(1) Initializing:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: initializing
(2) Processing:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: processing
(3) Completed:
value:
- deviceId: 7CDDDEADBEEF
expiryTime: 1662973800000
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: completed
url: https://soracom-sora-cam-devices-api-export-file-prod.s3.amazonaws.com/filename.zip?...
(4) Retrying:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: retrying
(5) Failed:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: failed
(6) limitExceeded:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: limitExceeded
(7) Expired:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: expired
schema:
items:
$ref: '#/components/schemas/SoraCamVideoExportInfo'
type: array
description: OK.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Get a list of the current status of the process of exporting recorded
video taken with a SoraCam compatible camera device.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices videos list-exports-for-device
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
post:
description: |
Starts the process of exporting recorded video saved on the cloud in a format that can be downloaded (zipped mp4 files). The export process is processed asynchronously. The progress of the export process and the URL of the exported file can be obtained with the [SoraCam:listSoraCamDeviceVideoExports API](#!/SoraCam/listSoraCamDeviceVideoExports). The URL has an expiration time.
- The maximum export time for a single URL is 900 seconds (15 minutes).
- At the time of obtaining the URL, the available video viewing time (72 hours per month by default) will be consumed regardless of whether the download has started or not.
- Exporting results are not cached. If you export the same time twice, it will consume twice the available video viewing time (72 hours per month by default).
- Exporting to Harvest Files will incur costs according to Harvest Files fees, and files will be retained for a period according to the Harvest Files retention period. For details, refer to [Pricing & Fee Schedule](/en/docs/reference/fees/#soracom-harvest-files).
**Warning**: Recordings from cameras that have not been assigned a Cloud Continuous Recording License or Cloud Motion Detection "Unlimited" Recording License cannot be exported.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. Additionally, to export to Harvest Files, the [FileEntry:putFile API](#/FileEntry/putFile) permission must be granted. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: exportSoraCamDeviceRecordedVideo
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
from: 1662962400000
to: 1662962430000
schema:
$ref: '#/components/schemas/SoraCamVideoExportSpecification'
required: true
responses:
"200":
content:
application/json:
example:
deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: initializing
schema:
$ref: '#/components/schemas/SoraCamVideoExportInfo'
description: OK.
"400":
description: |
- The value specified for `from` or `to` is invalid.
- No exportable recordings were found in the specified time range.
- `Content-Type: application/json` header is not specified.
"403":
description: You do not have the required permission (FileEntry:putFile)
to export to Harvest Files.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Start the process of exporting recorded video saved on the cloud
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices videos export
/sora_cam/devices/{device_id}/videos/exports/{export_id}:
get:
description: |
Gets the current status of the process of exporting recorded video taken with a SoraCam compatible camera device started by [SoraCam:exportSoraCamDeviceRecordedVideo API](#!/SoraCam/exportSoraCamDeviceRecordedVideo). This API limits the target to one export process.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: getSoraCamDeviceExportedVideo
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
- description: Export ID of the target export operation.
in: path
name: export_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
examples:
(1) Initializing:
value:
deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: initializing
(2) Processing:
value:
deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: processing
(3) Completed:
value:
deviceId: 7CDDDEADBEEF
expiryTime: 1662973800000
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: completed
url: https://soracom-sora-cam-devices-api-export-file-prod.s3.amazonaws.com/filename.zip?...
(4) Retrying:
value:
deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: retrying
(5) Failed:
value:
deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: failed
(6) limitExceeded:
value:
deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: limitExceeded
(7) Expired:
value:
deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: expired
schema:
$ref: '#/components/schemas/SoraCamVideoExportInfo'
description: OK.
"404":
description: The specified SoraCam compatible camera device or export process
could not be found.
security:
- api_key: []
api_token: []
summary: Get the current status of the process of exporting recorded video taken
with a SoraCam compatible camera device
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices videos get-exported
/sora_cam/devices/atom_cam/firmware/updates:
get:
description: |
Returns a list of SoraCam compatible camera devices that can update the firmware.
**Warning**: If you will run this API with a SAM user's API key and API token, please add the `OAuth2:authorize` permission to the SAM user in addition to the permission required to call this API (e.g. `SoraCam:*`). For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: listSoraCamDeviceAtomCamFirmwareUpdates
responses:
"200":
content:
application/json:
example:
- deviceId: 7CDDDEADBEEF
firmwareVersion: 4.58.0.97
timeout: 600
schema:
items:
$ref: '#/components/schemas/SoraCamDevicesFirmwareUpdate'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: Retrieve a list of SoraCam compatible camera devices that can update
the firmware
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam list-firmware-updates
/sora_cam/devices/events:
get:
description: Returns list of SoraCam events.
operationId: listSoraCamDeviceEvents
parameters:
- description: Device ID of the target SoraCam compatible camera device. If
not specified, retrieves event history for all SoraCam compatible camera
devices owned by the operator.
in: query
name: device_id
required: false
schema:
type: string
- description: Value of the `x-soracom-next-key` header in the previous response.
Use this to continue pagination.
in: query
name: last_evaluated_key
required: false
schema:
type: integer
- description: Maximum number of events to retrieve in one request (value range
is 1 to 1000). Note that the response may contain fewer events than the
specified limit.
in: query
name: limit
required: false
schema:
default: 10
maximum: 1000
minimum: 1
type: integer
- description: Start time of the events to retrieve (unix time in milliseconds).
If not specified, `from` is set to the oldest event time.
in: query
name: from
required: false
schema:
format: int64
type: integer
- description: End time of the events to retrieve (unix time in milliseconds).
If not specified, `to` is set to the current time.
in: query
name: to
required: false
schema:
format: int64
type: integer
- description: |
Event list sort order.
- `desc`: Descending order (newest events detected by SoraCam compatible camera device first).
- `asc`: Ascending order (oldest events detected by SoraCam compatible camera device first).
in: query
name: sort
required: false
schema:
default: desc
enum:
- desc
- asc
type: string
responses:
"200":
content:
application/json:
example:
- deviceId: 7CDDDEADBEEF
deviceType: atomCamV2
eventId: 5ed62746-6c53-47e5-94e6-90697057cf5b
eventInfo:
endTime: 1662973203000
picture: https://atom-device-alarm-file.s3.ap-northeast-1.amazonaws.com/7CDDDEADBEEF/2022-12-12/7CDDDEADBEEF131670825831_1670825831000_13_1_0/filename.jpg?...
recordingStatus: completed
startTime: 1662973200000
type: motion
time: 1662973200000
schema:
items:
$ref: '#/components/schemas/SoraCamEvent'
type: array
description: OK.
"400":
description: The specified value is invalid.
security:
- api_key: []
api_token: []
summary: List SoraCam events.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices events list
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/sora_cam/devices/images/exports:
get:
description: |
Gets the list of the current status of the process of exporting still image from recorded video taken with a SoraCam compatible camera device started by [SoraCam:exportSoraCamDeviceRecordedImage API](#!/SoraCam/exportSoraCamDeviceRecordedImage). This API can target all devices owned by the operator, or limit it to one SoraCam compatible camera device.
**Warning**: The URL becomes unusable 10 minutes after export completion. The time until the URL becomes unusable can be checked with `expiryTime`. Additionally, over time, it will be removed from the list.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: listSoraCamDeviceImageExports
parameters:
- description: Device ID of the target SoraCam compatible camera device. If
not specified, returns all SoraCam compatible camera devices owned by the
operator.
in: query
name: device_id
required: false
schema:
type: string
- description: Value of the `x-soracom-next-key` header in the previous response.
Use this to continue pagination.
in: query
name: last_evaluated_key
required: false
schema:
type: string
- description: Maximum number of items to retrieve in one request. Note that
the response may contain fewer items than the specified limit.
in: query
name: limit
required: false
schema:
default: 10
type: integer
- description: |
Export list sort order.
- `desc`: Descending order (newest export process first).
- `asc`: Ascending order (oldest export process first).
in: query
name: sort
required: false
schema:
default: desc
enum:
- desc
- asc
type: string
responses:
"200":
content:
application/json:
examples:
(1) Initializing:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: initializing
(2) Processing:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: processing
(3) Completed:
value:
- deviceId: 7CDDDEADBEEF
expiryTime: 1662973800000
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: completed
url: https://soracom-sora-cam-devices-api-export-file-prod.s3.amazonaws.com/filename.jpg?...
(4) Retrying:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: retrying
(5) Failed:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: failed
(6) limitExceeded:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: limitExceeded
(7) Expired:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: expired
schema:
items:
$ref: '#/components/schemas/SoraCamImageExportInfo'
type: array
description: A list of image export processes.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Get a list of the current status of the process of exporting still
image from recorded video taken with a SoraCam compatible camera device.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices images list-exports
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/sora_cam/devices/videos/exports:
get:
description: |
Gets the list of the current status of the process of exporting recorded video taken with a SoraCam compatible camera device started by [SoraCam:exportSoraCamDeviceRecordedVideo API](#!/SoraCam/exportSoraCamDeviceRecordedVideo). This API can target all devices owned by the operator, or limit it to one SoraCam compatible camera device.
**Warning**: The URL becomes unusable 10 minutes after export completion. The time until the URL becomes unusable can be checked with `expiryTime`. Additionally, over time, it will be removed from the list.
**Warning**: When calling this API using a SAM User's API key and API token, the SAM User must also have permission to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
operationId: listSoraCamDeviceVideoExports
parameters:
- description: Device ID of the target SoraCam compatible camera device. If
not specified, returns all SoraCam compatible camera devices owned by the
operator.
in: query
name: device_id
required: false
schema:
type: string
- description: Value of the `x-soracom-next-key` header in the previous response.
Use this to continue pagination.
in: query
name: last_evaluated_key
required: false
schema:
type: string
- description: Maximum number of items to retrieve in one request. Note that
the response may contain fewer items than the specified limit.
in: query
name: limit
required: false
schema:
default: 10
type: integer
- description: |
Export list sort order.
- `desc`: Descending order (newest export process first).
- `asc`: Ascending order (oldest export process first).
in: query
name: sort
required: false
schema:
default: desc
enum:
- desc
- asc
type: string
responses:
"200":
content:
application/json:
examples:
(1) Initializing:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: initializing
(2) Processing:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: processing
(3) Completed:
value:
- deviceId: 7CDDDEADBEEF
expiryTime: 1662973800000
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: completed
url: https://soracom-sora-cam-devices-api-export-file-prod.s3.amazonaws.com/filename.zip?...
(4) Retrying:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5b
operatorId: OP0012345678
requestedTime: 1662973200000
status: retrying
(5) Failed:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: failed
(6) limitExceeded:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: limitExceeded
(7) Expired:
value:
- deviceId: 7CDDDEADBEEF
exportId: 5ed62746-6c53-47e5-94e6-90697057cf5a
operatorId: OP0012345678
requestedTime: 1663649222739
status: expired
schema:
items:
$ref: '#/components/schemas/SoraCamVideoExportInfo'
type: array
description: A list of video export processes.
"404":
description: The specified SoraCam compatible camera device could not be
found.
security:
- api_key: []
api_token: []
summary: Get a list of the current status of the process of exporting recorded
video taken with a SoraCam compatible camera device.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices videos list-exports
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/sora_cam/license_packs:
get:
description: Returns the list of license packs which you can use. Currently,
this API is only available for Japan coverage.
operationId: listSoraCamLicensePacks
responses:
"200":
content:
application/json:
example:
- id: CR7-SC
name: Cloud Recording License (7 Days)
quantity: 0
quantityInUse: 0
salesChannel: SORACOM Inc.
- id: CR14-SC
name: Cloud Recording License (14 Days)
quantity: 1
quantityInUse: 1
salesChannel: SORACOM Inc.
- id: CR30-SC
name: Cloud Recording License (30 Days)
quantity: 2
quantityInUse: 2
salesChannel: SORACOM Inc.
- id: MR7-SC
name: Cloud Motion Detection "Unlimited" Recording License (7 Days)
quantity: 0
quantityInUse: 0
salesChannel: SORACOM Inc.
- id: MR14-SC
name: Cloud Motion Detection "Unlimited" Recording License (14 Days)
quantity: 1
quantityInUse: 1
salesChannel: SORACOM Inc.
- id: MR30-SC
name: Cloud Motion Detection "Unlimited" Recording License (30 Days)
quantity: 2
quantityInUse: 2
salesChannel: SORACOM Inc.
schema:
items:
$ref: '#/components/schemas/SoraCamLicensePackResponse'
type: array
description: The license pack list was returned.
"400":
description: The request is invalid.
security:
- api_key: []
api_token: []
summary: List license packs of Soracom Cloud Camera Services
tags:
- SoraCam
x-soracom-cli:
- sora-cam license-packs list
/sora_cam/license_packs/{license_pack_id}/quantity:
put:
description: Updates the license quantity for the license pack identified by
license_pack_id. This operation will cost you monthly fee based on number
of licenses. Currently, this API is only available for Japan coverage.
operationId: updateSoraCamLicensePackQuantity
parameters:
- description: ID of the license pack.
in: path
name: license_pack_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SoraCamLicensePackQuantityUpdatingRequest'
description: The change in the license quantity.
required: true
responses:
"204":
description: The license quantity was updated.
"400":
description: The updating request is invalid.
security:
- api_key: []
api_token: []
summary: Update the license quantity of Soracom Cloud Camera Services
tags:
- SoraCam
x-soracom-cli:
- sora-cam license-packs update-quantity
/soralets:
get:
description: Returns a list of Soralets.
operationId: listSoralets
parameters:
- 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: asc
enum:
- asc
- desc
type: string
- description: The maximum number of items in a response.
in: query
name: limit
required: false
schema:
type: integer
- description: The identifier of the last Soralet retrieved on the current page.
By specifying this parameter, you can continue to retrieve the list from
the next Soralet onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Soralet'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: List Soralets
tags:
- Soralet
x-soracom-cli:
- soralets list
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
post:
description: Create a Soralet.
operationId: createSoralet
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateSoraletRequest'
description: request
required: true
responses:
"201":
description: Successfully created a new Soralet.
"400":
description: The specified Soralet already exists or the specified soralet_id
was invalid.
security:
- api_key: []
api_token: []
summary: Create a Soralet
tags:
- Soralet
x-soracom-cli:
- soralets create
/soralets/{soralet_id}:
delete:
description: Delete the specified Soralet.
operationId: deleteSoralet
parameters:
- description: The identifier of Soralet.
in: path
name: soralet_id
required: true
schema:
type: string
responses:
"204":
description: Successfully deleted the specified Soralet.
"404":
description: The specified Soralet is not found.
security:
- api_key: []
api_token: []
summary: Delete Soralet
tags:
- Soralet
x-soracom-cli:
- soralets delete
get:
description: Returns a Soralet.
operationId: getSoralet
parameters:
- description: The identifier of Soralet.
in: path
name: soralet_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Soralet'
description: OK.
"404":
description: The specified Soralet is not found.
security:
- api_key: []
api_token: []
summary: Get a Soralet
tags:
- Soralet
x-soracom-cli:
- soralets get
/soralets/{soralet_id}/logs:
get:
description: Returns a list of log messages from the specified Soralet.
operationId: getSoraletLogs
parameters:
- description: The identifier of Soralet.
in: path
name: soralet_id
required: true
schema:
type: string
- 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:
- asc
- desc
type: string
- description: The maximum number of items in a response.
in: query
name: limit
required: false
schema:
type: integer
- description: The identifier of the last log message retrieved on the current
page. By specifying this parameter, you can continue to retrieve the list
from the next log message onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/SoraletLog'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: Get log messages from Soralet
tags:
- Soralet
x-soracom-cli:
- soralets get-logs
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
/soralets/{soralet_id}/test:
post:
description: Execute the specified Soralet with the specified arguments.
operationId: testSoralet
parameters:
- description: The identifier of Soralet.
in: path
name: soralet_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExecuteSoraletRequest'
description: Execution request.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ExecuteSoraletResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: Execute Soralet with arguments
tags:
- Soralet
x-soracom-cli:
- soralets test
- soralets exec
/soralets/{soralet_id}/versions:
get:
description: Returns a list of Soralet versions.
operationId: listSoraletVersions
parameters:
- description: The identifier of Soralet.
in: path
name: soralet_id
required: true
schema:
type: string
- 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:
- asc
- desc
type: string
- description: The maximum number of items in a response.
in: query
name: limit
required: false
schema:
type: integer
- description: The identifier of the last version retrieved on the current page.
By specifying this parameter, you can continue to retrieve the list from
the next version onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/SoraletVersion'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: List versions of Soralet
tags:
- Soralet
x-soracom-cli:
- soralets list-versions
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
post:
description: Upload code and create a new version.
operationId: uploadSoraletCode
parameters:
- description: The identifier of Soralet.
in: path
name: soralet_id
required: true
schema:
type: string
- description: Content type of the file to upload. When uploading .wasm files,
please specify `application/json`.
in: header
name: content-type
schema:
type: string
requestBody:
content:
application/json:
schema:
format: binary
type: string
description: Contents of the file you wish to upload.
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/SoraletVersion'
description: Successfully created a new version.
security:
- api_key: []
api_token: []
summary: Upload code and create a new version
tags:
- Soralet
x-soracom-cli:
- soralets upload
/soralets/{soralet_id}/versions/{version}:
delete:
description: Delete the specified Soralet version.
operationId: deleteSoraletVersion
parameters:
- description: The identifier of Soralet.
in: path
name: soralet_id
required: true
schema:
type: string
- description: Soralet version.
in: path
name: version
required: true
schema:
type: integer
responses:
"204":
description: Successfully deleted the specified Soralet version.
"404":
description: The specified Soralet version is not found.
security:
- api_key: []
api_token: []
summary: Delete a Soralet version
tags:
- Soralet
x-soracom-cli:
- soralets delete-version
/stats/air/groups/{group_id}:
get:
description: Retrieves the usage report aggregating all SIMs that belong to
the specified Group.
operationId: getAirStatsOfGroup
parameters:
- description: Group ID
in: path
name: group_id
required: true
schema:
type: string
- description: Specify the start month/day of the period to be aggregated in
UNIX time in seconds.
in: query
name: from
required: true
schema:
type: integer
- description: Specify the end month/day of the period to be aggregated in UNIX
time in seconds.
in: query
name: to
required: true
schema:
type: integer
- description: |
Unit of aggregation.
- `month`: Monthly.
The `from` and `to` should be UNIX time (in seconds) from 3 months before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 on the first day of the month, including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the last day of the month containing the specified UNIX time (in seconds). |
- `day`: Daily
The `from` and `to` should be UNIX time (in seconds) from 7 days before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 of the day including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the day including the specified UNIX time (in seconds). |
in: query
name: period
required: true
schema:
enum:
- month
- day
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AirAggregatedStatsResponse'
type: array
description: OK.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Get Air Usage Report of a Group.
tags:
- Stats
x-soracom-cli:
- stats air groups get
/stats/air/operators/{operator_id}:
get:
description: Retrieves the usage report aggregating all SIMs that belong to
the specified Operator.
operationId: getAirStatsOfOperator
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: Specify the start month/day of the period to be aggregated in
UNIX time in seconds.
in: query
name: from
required: true
schema:
type: integer
- description: Specify the end month/day of the period to be aggregated in UNIX
time in seconds.
in: query
name: to
required: true
schema:
type: integer
- description: |
Unit of aggregation.
- `month`: Monthly.
The `from` and `to` should be UNIX time (in seconds) from 3 months before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 on the first day of the month, including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the last day of the month containing the specified UNIX time (in seconds). |
- `day`: Daily
The `from` and `to` should be UNIX time (in seconds) from 7 days before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 of the day including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the day including the specified UNIX time (in seconds). |
in: query
name: period
required: true
schema:
enum:
- month
- day
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AirAggregatedStatsResponse'
type: array
description: OK.
"400":
description: Bad request.
security:
- api_key: []
api_token: []
summary: Get Air Usage Report of an Operator.
tags:
- Stats
x-soracom-cli:
- stats air operators get
/stats/air/operators/{operator_id}/export:
post:
description: |
Download the Air Data Traffic Actual Data CSV file that contains the usage report of all the IoT SIMs for the specified operator.
**Warning**: If there is no data usage during the specified period, a CSV file with only a header row will be output.
**Info**: You can also check the data usage of terminated IoT SIMs.
operationId: exportAirStats
parameters:
- description: Operator ID. The operator ID can be obtained from the [Operator:getOperator
API](#!/Operator/getOperator).
in: path
name: operator_id
required: true
schema:
type: string
- description: |
Specify how to obtain the URL to download the Air Data Usage Report CSV.
- `async`: Get the `exportedFieldId` without waiting for the URL to be issued on the Soracom platform. Specify this `exportedFieldId` in [Files:getExportedFile API](#!/Files/getExportedFile) to get the URL. If the file size of the Air Data Usage Report CSV is huge, specify `async`.
- `sync` (default): Wait for the URL to be issued on the Soracom platform. However, if the file size of the Air Data Usage Report CSV is huge, it may time out and the URL cannot be retrieved. If the timeout occurs, specify `async`.
in: query
name: export_mode
required: false
schema:
enum:
- async
- sync
type: string
requestBody:
content:
application/json:
example:
from: 1709218800
period: month
to: 1714402800
schema:
$ref: '#/components/schemas/ExportRequest'
description: Period and aggregation unit of the data to be exported.
required: true
responses:
"200":
content:
application/json:
examples:
(1) export_mode=async:
description: |
By specifying this `exportedFieldId` in the [Files:getExportedFile API](#!/Files/getExportedFile), you can obtain the URL for downloading. Access the URL and download the CSV file.
value:
exportedFileId: fe_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
exportedFilePath: //files/exported/fe_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
(2) export_mode=sync:
description: |
`url` is the URL for downloading. Access the URL and download the CSV file.
Example command:
```bash
$ wget -O export.csv "https://soracom-xxxxxxxx-...."
```
value:
url: https://soracom-xxxxxxxx-....
schema:
$ref: '#/components/schemas/FileExportResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: Export Air Usage Report of All Subscribers
tags:
- Stats
x-soracom-cli:
- stats air export
/stats/air/sims/{sim_id}:
get:
description: |
Retrieves the usage report for the SIM specified by the SIM ID.
**Warning**: The data traffic of the terminated IoT SIM cannot be confirmed.
operationId: getAirStatsOfSim
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: Specify the start month/day/minute of the period to be aggregated
in UNIX time in seconds.
in: query
name: from
required: true
schema:
type: integer
- description: Specify the end month/day/minute of the period to be aggregated
in UNIX time in seconds.
in: query
name: to
required: true
schema:
type: integer
- description: |
Unit of aggregation.
- `month`: Aggregate by month.
The `from` and `to` should be UNIX time (in seconds) from 18 months before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 on the first day of the month, including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the last day of the month containing the specified UNIX time (in seconds). |
- `day`: Aggregate by day.
The `from` and `to` should be UNIX time (in seconds) from 18 months before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 of the day including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the day including the specified UNIX time (in seconds). |
- `minutes`: Aggregate by approximately every 5 minutes.
The `from` and `to` must be between 32 days before the current time and the UNIX time (in seconds) of the current time. The actual period to be aggregated is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual Start Time | Start time of approximately 5 minutes including the specified UNIX time (seconds). |
| Actual End Time | End time of approximately 5 minutes including the specified UNIX time (seconds). |
in: query
name: period
required: true
schema:
enum:
- month
- day
- minutes
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AirStatsResponse'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: Get Air Usage Report of SIM.
tags:
- Stats
x-soracom-cli:
- stats air sims get
/stats/air/subscribers/{imsi}:
get:
description: |
Retrieves the usage report for the subscriber specified by the IMSI.
**Warning**: The data traffic of the terminated IoT SIM cannot be confirmed.
operationId: getAirStats
parameters:
- description: The target IMSI. The IMSI can be obtained from the [Sim:listSims
API](#!/Sim/listSims).
in: path
name: imsi
required: true
schema:
type: string
- description: Specify the start month/day/minute of the period to be aggregated
in UNIX time in seconds.
in: query
name: from
required: true
schema:
type: integer
- description: Specify the end month/day/minute of the period to be aggregated
in UNIX time in seconds.
in: query
name: to
required: true
schema:
type: integer
- description: |
Unit of aggregation.
- `month`: Aggregate by month.
The `from` and `to` should be UNIX time (in seconds) from 18 months before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 on the first day of the month, including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the last day of the month containing the specified UNIX time (in seconds). |
- `day`: Aggregate by day.
The `from` and `to` should be UNIX time (in seconds) from 18 months before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 of the day including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the day including the specified UNIX time (in seconds). |
- `minutes`: Aggregate by approximately every 5 minutes.
The `from` and `to` must be between 32 days before the current time and the UNIX time (in seconds) of the current time. The actual period to be aggregated is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual Start Time | Start time of approximately 5 minutes including the specified UNIX time (seconds). |
| Actual End Time | End time of approximately 5 minutes including the specified UNIX time (seconds). |
in: query
name: period
required: true
schema:
enum:
- month
- day
- minutes
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AirStatsResponse'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: Get Air Usage Report of Subscriber.
tags:
- Stats
x-soracom-cli:
- stats air get
/stats/beam/operators/{operator_id}/export:
post:
description: Retrieves a file containing the Soracom Beam usage report of all
subscribers for the specified operator. The report data range is specified
with from, to in unixtime. The report contains monthly data. The file output
destination is AWS S3. The file output format is CSV.
operationId: exportBeamStats
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: export_mode (async, sync)
in: query
name: export_mode
required: false
schema:
enum:
- async
- sync
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExportRequest'
description: Export time period.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/FileExportResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: Export Beam Usage Report of All Subscribers
tags:
- Stats
x-soracom-cli:
- stats beam export
/stats/beam/subscribers/{imsi}:
get:
description: Retrieves the Soracom Beam usage report for the subscriber specified
by the IMSI.
operationId: getBeamStats
parameters:
- description: imsi
in: path
name: imsi
required: true
schema:
type: string
- description: Specify the start month/day/minute of the period to be aggregated
in UNIX time in seconds.
in: query
name: from
required: true
schema:
type: integer
- description: Specify the end month/day/minute of the period to be aggregated
in UNIX time in seconds.
in: query
name: to
required: true
schema:
type: integer
- description: |
Unit of aggregation.
- `month`: Aggregate by month.
The `from` and `to` should be UNIX time (in seconds) from 18 months before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 on the first day of the month, including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the last day of the month containing the specified UNIX time (in seconds). |
- `day`: Aggregate by day.
The `from` and `to` should be UNIX time (in seconds) from 18 months before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 of the day including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the day including the specified UNIX time (in seconds). |
- `minutes`: Aggregate by approximately every 5 minutes.
The `from` and `to` must be between 32 days before the current time and the UNIX time (in seconds) of the current time. The actual period to be aggregated is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual Start Time | Start time of approximately 5 minutes including the specified UNIX time (seconds). |
| Actual End Time | End time of approximately 5 minutes including the specified UNIX time (seconds). |
in: query
name: period
required: true
schema:
enum:
- month
- day
- minutes
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/BeamStatsResponse'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: Get Beam Usage Report of Subscriber
tags:
- Stats
x-soracom-cli:
- stats beam get
/stats/funk/operators/{operator_id}/export:
post:
description: Retrieves a file containing the Soracom Funk usage report of all
subscribers for the specified operator. The report data range is specified
with from, to in unixtime. The report contains monthly data. The file output
destination is AWS S3. The file output format is CSV.
operationId: exportFunkStats
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: export_mode (async, sync)
in: query
name: export_mode
required: false
schema:
enum:
- async
- sync
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExportRequest'
description: Export time period.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/FileExportResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: Export Funk Usage Report of All Subscribers
tags:
- Stats
x-soracom-cli:
- stats funk export
/stats/funk/subscribers/{imsi}:
get:
description: Retrieves the Soracom Funk usage report for the subscriber specified
by the IMSI.
operationId: getFunkStats
parameters:
- description: imsi
in: path
name: imsi
required: true
schema:
type: string
- description: Specify the start month/day/minute of the period to be aggregated
in UNIX time in seconds.
in: query
name: from
required: true
schema:
type: integer
- description: Specify the end month/day/minute of the period to be aggregated
in UNIX time in seconds.
in: query
name: to
required: true
schema:
type: integer
- description: |
Unit of aggregation.
- `month`: Aggregate by month.
The `from` and `to` should be UNIX time (in seconds) from 18 months before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 on the first day of the month, including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the last day of the month containing the specified UNIX time (in seconds). |
- `day`: Aggregate by day.
The `from` and `to` should be UNIX time (in seconds) from 18 months before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 of the day including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the day including the specified UNIX time (in seconds). |
- `minutes`: Aggregate by approximately every 5 minutes.
The `from` and `to` must be between 32 days before the current time and the UNIX time (in seconds) of the current time. The actual period to be aggregated is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual Start Time | Start time of approximately 5 minutes including the specified UNIX time (seconds). |
| Actual End Time | End time of approximately 5 minutes including the specified UNIX time (seconds). |
in: query
name: period
required: true
schema:
enum:
- month
- day
- minutes
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/FunkStatsResponse'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: Get Funk Usage Report of Subscriber
tags:
- Stats
x-soracom-cli:
- stats funk get
/stats/funnel/operators/{operator_id}/export:
post:
description: Retrieves a file containing the Soracom Funnel usage report of
all subscribers for the specified operator. The report data range is specified
with from, to in unixtime. The report contains monthly data. The file output
destination is AWS S3. The file output format is CSV.
operationId: exportFunnelStats
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: export_mode (async, sync)
in: query
name: export_mode
required: false
schema:
enum:
- async
- sync
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExportRequest'
description: Export time period.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/FileExportResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: Export Funnel Usage Report of All Subscribers
tags:
- Stats
x-soracom-cli:
- stats funnel export
/stats/funnel/subscribers/{imsi}:
get:
description: Retrieves the Soracom Funnel usage report for the subscriber specified
by the IMSI.
operationId: getFunnelStats
parameters:
- description: imsi
in: path
name: imsi
required: true
schema:
type: string
- description: Specify the start month/day/minute of the period to be aggregated
in UNIX time in seconds.
in: query
name: from
required: true
schema:
type: integer
- description: Specify the end month/day/minute of the period to be aggregated
in UNIX time in seconds.
in: query
name: to
required: true
schema:
type: integer
- description: |
Unit of aggregation.
- `month`: Aggregate by month.
The `from` and `to` should be UNIX time (in seconds) from 18 months before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 on the first day of the month, including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the last day of the month containing the specified UNIX time (in seconds). |
- `day`: Aggregate by day.
The `from` and `to` should be UNIX time (in seconds) from 18 months before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 of the day including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the day including the specified UNIX time (in seconds). |
- `minutes`: Aggregate by approximately every 5 minutes.
The `from` and `to` must be between 32 days before the current time and the UNIX time (in seconds) of the current time. The actual period to be aggregated is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual Start Time | Start time of approximately 5 minutes including the specified UNIX time (seconds). |
| Actual End Time | End time of approximately 5 minutes including the specified UNIX time (seconds). |
in: query
name: period
required: true
schema:
enum:
- month
- day
- minutes
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/FunnelStatsResponse'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: Get Funnel Usage Report of Subscriber
tags:
- Stats
x-soracom-cli:
- stats funnel get
/stats/harvest/operators/{operator_id}:
get:
description: Retrieves the Soracom Harvest usage report for the operator.
operationId: getHarvestExportedDataStats
parameters:
- description: Operator ID
in: path
name: operator_id
required: true
schema:
type: string
- description: Specify the year and month from 18 months before the current
time to the current time in the YYYYMM format.
in: query
name: year_month
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/HarvestExportedDataStatsResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: Get 'Harvest usage report' for the specified operator.
tags:
- Stats
x-soracom-cli:
- stats harvest operators get
/stats/harvest/operators/{operator_id}/export:
post:
description: |
Download the Harvest Data Write Count Results Data CSV file that contains the usage report of all the IoT SIMs for the specified operator.
**Info**: You can also check the Harvest Data write counts of the terminated IoT SIM.
operationId: exportHarvestStats
parameters:
- description: Operator ID.
in: path
name: operator_id
required: true
schema:
type: string
- description: |
Specify how to obtain the URL to download the Harvest Data Write Count Results Data CSV.
- `async`: Get the `exportedFieldId` without waiting for the URL to be issued on the Soracom platform. Specify this `exportedFieldId` in [Files:getExportedFile API](#!/Files/getExportedFile) to get the URL for downloading. If the file size of the Harvest Data Write Count Results Data CSV is huge, specify `async`.
- `sync` (default): Wait for the URL for downloading to be issued on the Soracom platform. However, if the file size of the Harvest Data Write Count Results Data CSV is huge, it may time out and the URL cannot be retrieved. If the timeout occurs, specify `async`.
in: query
name: export_mode
required: false
schema:
enum:
- async
- sync
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExportRequest'
description: Export time period.
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/FileExportResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: Export Harvest Data Write Counts Report of all IoT SIMs
tags:
- Stats
x-soracom-cli:
- stats harvest export
/stats/harvest/subscribers/{imsi}:
get:
description: Retrieves the Soracom Harvest usage report for the subscriber specified
by the IMSI.
operationId: getHarvestStats
parameters:
- description: imsi
in: path
name: imsi
required: true
schema:
type: string
- description: Specify the start month/day/minute of the period to be aggregated
in UNIX time in seconds.
in: query
name: from
required: true
schema:
type: integer
- description: Specify the end month/day/minute of the period to be aggregated
in UNIX time in seconds.
in: query
name: to
required: true
schema:
type: integer
- description: |
Unit of aggregation.
- `month`: Aggregate by month.
The `from` and `to` should be UNIX time (in seconds) from 18 months before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 on the first day of the month, including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the last day of the month containing the specified UNIX time (in seconds). |
- `day`: Aggregate by day.
The `from` and `to` should be UNIX time (in seconds) from 18 months before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 of the day including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the day including the specified UNIX time (in seconds). |
- `minutes`: Aggregate by approximately every 5 minutes.
The `from` and `to` must be between 32 days before the current time and the UNIX time (in seconds) of the current time. The actual period to be aggregated is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual Start Time | Start time of approximately 5 minutes including the specified UNIX time (seconds). |
| Actual End Time | End time of approximately 5 minutes including the specified UNIX time (seconds). |
in: query
name: period
required: true
schema:
enum:
- month
- day
- minutes
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/HarvestStatsResponse'
type: array
description: OK.
security:
- api_key: []
api_token: []
summary: Get Harvest Usage Report of Subscriber
tags:
- Stats
x-soracom-cli:
- stats harvest subscribers get
/stats/napter/audit_logs:
get:
description: Get Napter audit logs' monthly exported data stats.
operationId: getNapterAuditLogsExportedDataStats
parameters:
- description: Specify the year and month from 18 months before the current
time to the current time in the YYYYMM format.
in: query
name: year_month
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/NapterAuditLogsExportedDataStatsResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: Get Napter audit logs' monthly exported data stats.
tags:
- Stats
x-soracom-cli:
- stats napter audit-logs get
/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
/virtual_private_gateways:
get:
description: Returns a list of VPGs.
operationId: listVirtualPrivateGateways
parameters:
- description: Tag name of the VPG. Filters through all VPGs that exactly match
the tag name. When tag_name is specified, tag_value is required.
in: query
name: tag_name
required: false
schema:
type: string
- description: Tag value of the VPG.
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: Maximum number of results per response page.
in: query
name: limit
required: false
schema:
type: integer
- description: The last VPG ID retrieved on the current page. By specifying
this parameter, you can continue to retrieve the list from the next VPG
onward.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/VirtualPrivateGateway'
type: array
description: List of VPGs.
security:
- api_key: []
api_token: []
summary: List Virtual Private Gateways
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg list
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
post:
description: Create a new VPG.
operationId: createVirtualPrivateGateway
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVirtualPrivateGatewayRequest'
description: Request containing information for the new VPG to be created.
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/VirtualPrivateGateway'
description: Created
security:
- api_key: []
api_token: []
summary: Create Virtual Private Gateway
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg create
/virtual_private_gateways/{vpg_id}:
get:
description: Retrieves information about the specified VPG.
operationId: getVirtualPrivateGateway
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/VirtualPrivateGateway'
description: The specified VPG.
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Get Virtual Private Gateway
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg get
/virtual_private_gateways/{vpg_id}/customer_routes:
post:
description: Creates a routing table entry for the specified VPG.
operationId: createCustomerRoute
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCustomerRouteRequest'
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerRoute'
description: Created routing table entry
"400":
description: Invalid request
"404":
description: The specified VPG does not exist
security:
- api_key: []
api_token: []
summary: Create routing table entry
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg create-customer-route
/virtual_private_gateways/{vpg_id}/customer_routes/{route_id}:
delete:
description: Deletes a routing table entry from the specified VPG.
operationId: deleteCustomerRoute
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
- description: Target route ID
in: path
name: route_id
required: true
schema:
type: string
responses:
"204":
description: Deleted routing table entry
"404":
description: The specified VPG does not exist
security:
- api_key: []
api_token: []
summary: Delete routing table entry
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg delete-customer-route
put:
description: Updates a routing table entry for the specified VPG.
operationId: updateCustomerRoute
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
- description: Target route ID
in: path
name: route_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCustomerRouteRequest'
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerRoute'
description: Updated routing table entry
"400":
description: Invalid request
"404":
description: The specified VPG does not exist
security:
- api_key: []
api_token: []
summary: Update routing table entry
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg update-customer-route
/virtual_private_gateways/{vpg_id}/fixed_public_ip_addresses:
delete:
description: Disables the fixed global IP address option for the VPG.
operationId: releaseFixedPublicIpAddresses
parameters:
- in: path
name: vpg_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/VirtualPrivateGateway'
description: The fixed global IP address option for the VPG was successfully
disabled.
"400":
description: The fixed global IP address option for the VPG is already disabled.
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Disable the fixed global IP address option for the VPG
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg release-fixed-public-ip-addresses
post:
description: Enables the fixed global IP address option for the VPG.
operationId: assignFixedPublicIpAddresses
parameters:
- in: path
name: vpg_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/VirtualPrivateGateway'
description: The fixed global IP address option for the VPG was successfully
enabled.
"400":
description: The fixed global IP address option for the VPG is already enabled.
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Enable the fixed global IP address option for the VPG
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg set-fixed-public-ip-addresses
/virtual_private_gateways/{vpg_id}/gate/close:
post:
description: Close Soracom Gate on the specified VPG.
operationId: closeGate
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
responses:
"200":
description: Soracom Gate is successfully closed on the VPG.
"400":
description: Client side error in the request.
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Close SORACOM Gate.
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg close-gate
/virtual_private_gateways/{vpg_id}/gate/disable_privacy_separator:
post:
description: Disables Soracom Gate's privacy separator feature on the specified
VPG and enables the Gate D2D feature.
operationId: disableGatePrivacySeparator
parameters:
- description: VPG ID
in: path
name: vpg_id
required: true
schema:
format: VpgId
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/VirtualPrivateGateway'
description: Disabled the privacy separator successfully
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Disables Soracom Gate's privacy separator feature on the specified
VPG
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg disable-gate-privacy-separator
/virtual_private_gateways/{vpg_id}/gate/enable_privacy_separator:
post:
description: Enables Soracom Gate's privacy separator feature on the specified
VPG and disables the Gate D2D feature.
operationId: enableGatePrivacySeparator
parameters:
- description: VPG ID
in: path
name: vpg_id
required: true
schema:
format: VpgId
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/VirtualPrivateGateway'
description: Enabled the privacy separator successfully
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Enables Soracom Gate privacy separator feature on the specified VPG
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg enable-gate-privacy-separator
/virtual_private_gateways/{vpg_id}/gate/open:
post:
description: Open Soracom Gate on the specified VPG.
operationId: openGate
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OpenGateRequest'
description: Optional configuration parameters for Gate.
responses:
"200":
description: SORACOM Gate is successfully opened on the VPG.
"400":
description: Client side error in the request.
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Open Soracom Gate
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg open-gate
/virtual_private_gateways/{vpg_id}/gate/peers:
get:
description: List Gate Peers registered in the Virtual Private Gateway.
operationId: listGatePeers
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/GatePeer'
type: array
description: List of Gate Peers registered in the VPG.
"400":
description: Client side error in the request.
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: List VPG Gate Peers
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg list-gate-peers
post:
description: Register a host as a Gate Peer in the Virtual Private Gateway.
operationId: registerGatePeer
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterGatePeerRequest'
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GatePeer'
description: Gate Peer is successfully registered.
"400":
description: Client side error in the request.
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Register VPG Gate Peer
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg register-gate-peer
/virtual_private_gateways/{vpg_id}/gate/peers/{outer_ip_address}:
delete:
description: Unregister a Gate Peer from the Virtual Private Gateway.
operationId: unregisterGatePeer
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
- description: ID of the target node.
in: path
name: outer_ip_address
required: true
schema:
type: string
responses:
"204":
description: Successfully deregistered the Gate Peer.
"400":
description: Client side error in the request.
"404":
description: The specified VPG or Peer does not exist.
security:
- api_key: []
api_token: []
summary: Unregister VPG Gate Peer
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg unregister-gate-peer
/virtual_private_gateways/{vpg_id}/gate/routing/static/sims/disable:
post:
description: Disables SIM-Based Routing.
operationId: disableSimBasedRouting
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
responses:
"204":
description: SIM-Based Routing has been disabled.
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Disable SIM-Based Routing
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg disable-sim-based-routing
/virtual_private_gateways/{vpg_id}/gate/routing/static/sims/enable:
post:
description: Enables SIM-Based Routing.
operationId: enableSimBasedRouting
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
responses:
"201":
description: SIM-Based Routing has been enabled.
"400":
description: SORACOM Gate is not enabled.
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Enable SIM-Based Routing
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg enable-sim-based-routing
/virtual_private_gateways/{vpg_id}/gate/routing/static/sims/routes:
put:
description: Associates a router's LAN IP address range with its SIM ID.
operationId: putSimBasedRoutingRoutes
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PutSimBasedRoutingRoutesRequest'
description: Specify the LAN IP address range of the router to associate with
a SIM ID.
required: true
responses:
"200":
description: OK
"400":
description: Client side error in the request.
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Associate a router's LAN IP address range with its SIM ID
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg put-sim-based-routing-routes
/virtual_private_gateways/{vpg_id}/gate/set_vxlan_id:
post:
description: Set VXLAN ID for Gate.
operationId: setVirtualPrivateGatewayVxLanId
parameters:
- in: path
name: vpg_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetVirtualPrivateGatewayVxLanIdRequest'
required: true
responses:
"204":
description: OK
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Set VXLAN ID for Gate
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg set-vxlan-id
/virtual_private_gateways/{vpg_id}/ip_address_map:
get:
description: |
Retrieves the list of IP address map entries for the specified VPG.
operationId: listVirtualPrivateGatewayIpAddressMapEntries
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
- description: The maximum number of IP address map entries to retrieve. The
response may contain fewer entries than the specified value.
in: query
name: limit
required: false
schema:
type: integer
- description: The last IP address retrieved in the previous page. Use this
parameter to retrieve the next page of IP address map entries.
in: query
name: last_evaluated_key
required: false
schema:
type: string
responses:
"200":
content:
application/json:
schema:
items:
$ref: '#/components/schemas/IpAddressMapEntry'
type: array
description: |
List of IP address map entries associated with the specified VPG.
**Warning**: The response includes not only entries added via [VirtualPrivateGateway:putVirtualPrivateGatewayIpAddressMapEntry API](#/VirtualPrivateGateway/putVirtualPrivateGatewayIpAddressMapEntry), but also automatically assigned IP addresses for Gate Peers and the VPG itself.
"400":
description: Client side error in the request.
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: List VPG IP address map entries
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg list-ip-address-map-entries
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
post:
description: |
Adds or updates an IP address map entry for the specified VPG.
**Warning**: The [VirtualPrivateGateway:listVirtualPrivateGatewayIpAddressMapEntries API](#/VirtualPrivateGateway/listVirtualPrivateGatewayIpAddressMapEntries) response includes entries that are automatically assigned to Gate Peers and the VPG, but these cannot be added or updated using the VirtualPrivateGateway:putVirtualPrivateGatewayIpAddressMapEntry API.
operationId: putVirtualPrivateGatewayIpAddressMapEntry
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PutIpAddressMapEntryRequest'
required: true
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/IpAddressMapEntry'
description: Successfully added or updated the IP address map entry.
"400":
description: Client side error in the request.
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Adds or updates an entry in VPG IP address map
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg put-ip-address-map-entry
/virtual_private_gateways/{vpg_id}/ip_address_map/{key}:
delete:
description: |
Deletes an entry from the IP address map of the specified VPG.
**Warning**: The [VirtualPrivateGateway:listVirtualPrivateGatewayIpAddressMapEntries API](#/VirtualPrivateGateway/listVirtualPrivateGatewayIpAddressMapEntries) response includes automatically assigned entries for Gate Peers and the VPG. These entries cannot be deleted using the VirtualPrivateGateway:deleteVirtualPrivateGatewayIpAddressMapEntry API.
operationId: deleteVirtualPrivateGatewayIpAddressMapEntry
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
- description: Identifier of the IP address map entry to delete (IMSI of the
IoT SIM).
in: path
name: key
required: true
schema:
type: string
responses:
"204":
description: Successfully deleted the IP address map entry.
"400":
description: Client side error in the request.
"404":
description: The specified VPG or key does not exist.
security:
- api_key: []
api_token: []
summary: Delete VPG IP address map entry
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg delete-ip-address-map-entry
/virtual_private_gateways/{vpg_id}/junction/mirroring/peers:
post:
description: Adds node in the list of Junction mirroring peers.
operationId: createMirroringPeer
parameters:
- description: VPG ID
in: path
name: vpg_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/JunctionMirroringPeer'
description: Mirroring peer
required: true
responses:
"201":
description: Mirroring peer added/updated
"404":
description: No such VPG found
security:
- api_key: []
api_token: []
summary: Adds node in the list of Junction mirroring peers
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg create-mirroring-peer
/virtual_private_gateways/{vpg_id}/junction/mirroring/peers/{ipaddr}:
delete:
description: Remove peer from the list of Junction mirroring peers.
operationId: deleteMirroringPeer
parameters:
- description: VPG ID
in: path
name: vpg_id
required: true
schema:
type: string
- description: IP address of mirroring peer
in: path
name: ipaddr
required: true
schema:
type: string
responses:
"204":
description: Mirroring peer removed
"404":
description: No such VPG found
security:
- api_key: []
api_token: []
summary: Remove peer from the list of Junction mirroring peers
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg delete-mirroring-peer
put:
description: Updates a Junction mirroring peer.
operationId: updateMirroringPeer
parameters:
- description: VPG ID
in: path
name: vpg_id
required: true
schema:
type: string
- description: Mirroring peer IP address
in: path
name: ipaddr
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AttributeUpdate'
type: array
description: List of attributes to update
required: true
responses:
"200":
description: Mirroring peer updated
"404":
description: No such VPG found
security:
- api_key: []
api_token: []
summary: Updates a Junction mirroring peer
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg update-mirroring-peer
/virtual_private_gateways/{vpg_id}/junction/set_inspection:
post:
description: Sets configuration for Junction inspection feature.
operationId: setInspectionConfiguration
parameters:
- description: VPG ID
in: path
name: vpg_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/JunctionInspectionConfiguration'
description: Inspection configuration
required: true
responses:
"200":
description: Configuration added/updated
"404":
description: No such VPG found
security:
- api_key: []
api_token: []
summary: Sets configuration for Junction inspection feature
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg set-inspection
/virtual_private_gateways/{vpg_id}/junction/set_redirection:
post:
description: Sets configuration for Junction redirection feature.
operationId: setRedirectionConfiguration
parameters:
- description: VPG ID
in: path
name: vpg_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/JunctionRedirectionConfiguration'
description: Redirection configuration
required: true
responses:
"200":
description: Configuration added/updated
"404":
description: No such VPG found
security:
- api_key: []
api_token: []
summary: Sets configuration for Junction redirection feature
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg set-redirection
/virtual_private_gateways/{vpg_id}/junction/unset_inspection:
post:
description: Unset configuration for Junction inspection feature.
operationId: unsetInspectionConfiguration
parameters:
- description: VPG ID
in: path
name: vpg_id
required: true
schema:
type: string
responses:
"200":
description: Configuration unset
"404":
description: No such VPG found
security:
- api_key: []
api_token: []
summary: Unset configuration for Junction inspection feature
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg unset-inspection
/virtual_private_gateways/{vpg_id}/junction/unset_redirection:
post:
description: Unset configuration for Junction redirection feature.
operationId: unsetRedirectionConfiguration
parameters:
- description: VPG ID
in: path
name: vpg_id
required: true
schema:
type: string
responses:
"200":
description: Configuration unset
"404":
description: No such VPG found
security:
- api_key: []
api_token: []
summary: Unset configuration for Junction redirection feature
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg unset-redirection
/virtual_private_gateways/{vpg_id}/packet_capture_sessions:
get:
description: List packet capture sessions associated with the VPG.
operationId: listPacketCaptureSessions
parameters:
- description: VPG ID
in: path
name: vpg_id
required: true
schema:
type: string
- description: ID of the last packet capture session in the previous page. By
specifying this parameter, you can continue to retrieve the list from the
next packet capture session onward.
in: query
name: last_evaluated_key
required: false
schema:
default: "null"
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 VPG
"400":
description: Failed to list packet capture sessions associated with the
VPG
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: List Packet Capture Sessions associated with the VPG
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg list-packet-capture-sessions
x-soracom-cli-pagination:
request:
param: last_evaluated_key
response:
header: x-soracom-next-key
post:
description: Create a packet capture session associated with the VPG.
operationId: createPacketCaptureSession
parameters:
- description: VPG ID
in: path
name: vpg_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 sessions associated with the VPG
"400":
description: Failed to create a packet capture session associated with the
VPG
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Create a packet capture session associated with the VPG
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg create-packet-capture-session
/virtual_private_gateways/{vpg_id}/packet_capture_sessions/{session_id}:
delete:
description: Delete a packet capture session associated with the VPG.
operationId: deletePacketCaptureSession
parameters:
- description: VPG ID
in: path
name: vpg_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 VPG
"404":
description: The packet capture session associated with the VPG was not
found
security:
- api_key: []
api_token: []
summary: Delete a packet capture session associated with the VPG
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg delete-packet-capture-session
get:
description: Get a packet capture session associated with the VPG.
operationId: getPacketCaptureSession
parameters:
- description: VPG ID
in: path
name: vpg_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 sessions associated with the VPG
"404":
description: The packet capture session associated with the VPG was not
found
security:
- api_key: []
api_token: []
summary: Get a packet capture session associated with the VPG
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg get-packet-capture-session
/virtual_private_gateways/{vpg_id}/packet_capture_sessions/{session_id}/stop:
post:
description: Stop a packet capture session associated with the VPG.
operationId: stopPacketCaptureSession
parameters:
- description: VPG ID
in: path
name: vpg_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 associated with the VPG
"400":
description: The packet capture session can be stopped only when its status
is CAPTURING
"404":
description: The packet capture session associated with the VPG was not
found
"500":
description: The packet capture session associated with the VPG could not
be stopped.
security:
- api_key: []
api_token: []
summary: Stop a packet capture session associated with the VPG
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg stop-packet-capture-session
/virtual_private_gateways/{vpg_id}/set_routing_filter:
post:
description: Sets Virtual Private Gateway outbound routing filter.
operationId: setRoutingFilter
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
items:
$ref: '#/components/schemas/RoutingFilterEntry'
type: array
description: List of routing filter entries
required: true
responses:
"200":
description: The routing filter is successfully configured.
"400":
description: Invalid argument is given
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Sets Virtual Private Gateway outbound routing filter
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg set-routing-filter
/virtual_private_gateways/{vpg_id}/tags:
put:
description: Adds/updates tags of the specified VPG.
operationId: updateVirtualPrivateGatewayTags
parameters:
- in: path
name: vpg_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateVirtualPrivateGatewayTagsRequest'
required: true
responses:
"204":
description: OK
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Update VPG tags
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg update-tags
/virtual_private_gateways/{vpg_id}/tags/{tag_name}:
delete:
description: Deletes a tag from the specified VPG.
operationId: deleteVirtualPrivateGatewayTag
parameters:
- in: path
name: vpg_id
required: true
schema:
type: string
- in: path
name: tag_name
required: true
schema:
type: string
responses:
"204":
description: OK
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Delete a VPG Tag
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg delete-tag
/virtual_private_gateways/{vpg_id}/terminate:
post:
description: Terminates the specified VPG.
operationId: terminateVirtualPrivateGateway
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
responses:
"200":
description: Termination of specified VPG started.
"400":
description: There is a reason why the specified VPG cannot be terminated.
"404":
description: The specified VPG does not exist.
security:
- api_key: []
api_token: []
summary: Terminate Virtual Private Gateway
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg terminate
/virtual_private_gateways/{vpg_id}/transit_gateway_peering_connections:
post:
description: Creates a transit gateway peering connection for the specified
VPG.
operationId: createTransitGatewayPeeringConnection
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTransitGatewayPeeringConnectionRequest'
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/VirtualPrivateGateway'
description: Transit gateway peering connection created
"400":
description: Invalid request
"404":
description: The specified VPG does not exist
security:
- api_key: []
api_token: []
summary: Create transit gateway peering connection
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg create-transit-gateway-peering-connection
/virtual_private_gateways/{vpg_id}/transit_gateway_peering_connections/{soracom_tgw_peering_attachment_id}:
delete:
description: Deletes a transit gateway peering connection from the specified
VPG.
operationId: deleteTransitGatewayPeeringConnection
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
- description: Transit gateway peering connection ID
in: path
name: soracom_tgw_peering_attachment_id
required: true
schema:
type: string
responses:
"204":
description: Transit gateway peering connection deleted
"404":
description: The specified VPG or transit gateway peering connection does
not exist
security:
- api_key: []
api_token: []
summary: Delete transit gateway peering connection
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg delete-transit-gateway-peering-connection
/virtual_private_gateways/{vpg_id}/transit_gateway_vpc_attachments:
post:
description: Creates a transit gateway VPC attachment for the specified VPG.
operationId: createTransitGatewayVpcAttachment
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTransitGatewayVpcAttachmentRequest'
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/VirtualPrivateGateway'
description: Transit gateway VPC attachment created
"400":
description: Invalid request
"404":
description: The specified VPG does not exist
security:
- api_key: []
api_token: []
summary: Create transit gateway VPC attachment
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg create-transit-gateway-vpc-attachment
/virtual_private_gateways/{vpg_id}/transit_gateway_vpc_attachments/{customer_tgw_vpc_attachment_id}:
delete:
description: Deletes a transit gateway VPC attachment from the specified VPG.
operationId: deleteTransitGatewayVpcAttachment
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
- description: Transit gateway VPC attachment ID
in: path
name: customer_tgw_vpc_attachment_id
required: true
schema:
type: string
responses:
"204":
description: Transit gateway VPC attachment deleted
"404":
description: The specified VPG or transit gateway VPC attachment does not
exist
security:
- api_key: []
api_token: []
summary: Delete transit gateway VPC attachment
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg delete-transit-gateway-vpc-attachment
/virtual_private_gateways/{vpg_id}/transit_gateway_vpc_attachments/{customer_tgw_vpc_attachment_id}/accept:
post:
description: Accepts the specified transit gateway VPC attachment connection
request.
operationId: acceptTransitGatewayVpcAttachmentFromCustomer
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
- description: Transit gateway VPC attachment ID
in: path
name: customer_tgw_vpc_attachment_id
required: true
schema:
type: string
responses:
"202":
description: Transit gateway VPC attachment connection accepted
"400":
description: Invalid request
"404":
description: The specified VPG or transit gateway VPC attachment does not
exist
security:
- api_key: []
api_token: []
summary: Accept transit gateway VPC attachment connection request
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg accept-transit-gateway-vpc-attachment
/virtual_private_gateways/{vpg_id}/vpc_peering_connections:
post:
description: Creates a VPC peering connection for the specified VPG.
operationId: createVpcPeeringConnection
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVpcPeeringConnectionRequest'
description: VPC peering connection to be created.
required: true
responses:
"201":
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVpcPeeringConnectionRequest'
description: The created VPC peering connection.
"404":
description: The specified VPC peering connection does not exist.
security:
- api_key: []
api_token: []
summary: Create VPC Peering Connection
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg create-vpc-peering-connection
/virtual_private_gateways/{vpg_id}/vpc_peering_connections/{pcx_id}:
delete:
description: Deletes the specified VPC peering connection.
operationId: deleteVpcPeeringConnection
parameters:
- description: Target VPG ID.
in: path
name: vpg_id
required: true
schema:
type: string
- description: VPC peering connection ID to be deleted.
in: path
name: pcx_id
required: true
schema:
type: string
responses:
"204":
description: Deletion of specified VPC peering connection complete.
"404":
description: The specified VPC peering connection does not exist.
security:
- api_key: []
api_token: []
summary: Delete VPC Peering Connection
tags:
- VirtualPrivateGateway
x-soracom-cli:
- vpg delete-vpc-peering-connection
/volume_discounts:
get:
description: |
Returns a list of contracted long term discounts.
**Warning**: Information can be obtained up to 18 months in the past or 6 months after the contract ends. If you need the information before that time, please contact [Soracom Support](https://support.soracom.io).
operationId: listVolumeDiscounts
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ListVolumeDiscountResponse'
description: OK.
security:
- api_key: []
api_token: []
summary: List long term discounts
tags:
- Payment
x-soracom-cli:
- volume-discounts list
post:
description: Creates a new long term discount quotation. If the orderId is put
in /volume_discounts/{order_id}/confirm, the order is complete (Currently,
long term discount is only applied to plan-D (without bundle), plan-K).
operationId: createVolumeDiscountQuotation
requestBody:
content:
application/json:
example:
contractTermMonth: 12
quantity: 1
startDate: "20220401"
volumeDiscountPaymentType: MONTHLY
volumeDiscountType: SORACOM_AIR_BASIC_CHARGE_V2
schema:
$ref: '#/components/schemas/CreateEstimatedVolumeDiscountRequest'
description: Long term discount contract details.
required: true
responses:
"201":
content:
application/json:
example:
currency: JPY
orderId: xxxxxxxxxxxxxx_xxxxxxxx
taxAmount: 0
totalAmount: 0
volumeDiscount:
contractTermMonth: 12
endDate: "20230331"
initialCost: 0
quantity: 1
startDate: "20220401"
taxIncludedInitialCost: 0
taxIncludedUnitPrice: 302.5
unitPrice: 275
volumeDiscountPaymentType: MONTHLY
volumeDiscountType: SORACOM_AIR_BASIC_CHARGE_V2
schema:
$ref: '#/components/schemas/EstimatedVolumeDiscountModel'
description: Created.
security:
- api_key: []
api_token: []
summary: Create long term discount quotation
tags:
- Order
x-soracom-cli:
- volume-discounts create
/volume_discounts/{contract_id}:
get:
description: |
Returns contracted long term discount.
**Warning**: Information can be obtained up to 18 months in the past or 6 months after the contract ends. If you need the information before that time, please contact [Soracom Support](https://support.soracom.io).
operationId: getVolumeDiscount
parameters:
- description: Contract ID.
in: path
name: contract_id
required: true
schema:
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GetVolumeDiscountResponse'
description: OK.
"400":
description: Long term discount not found.
security:
- api_key: []
api_token: []
summary: Get long term discount
tags:
- Payment
x-soracom-cli:
- volume-discounts get
/volume_discounts/{order_id}/confirm:
put:
description: Performs a credit check and confirms the order if there are no
issues.
operationId: confirmVolumeDiscountOrder
parameters:
- description: Order ID. The order ID can be obtained from the [Order:createVolumeDiscountQuotation
API](#/Order/createVolumeDiscountQuotation).
in: path
name: order_id
required: true
schema:
example: xxxxxxxxxxxxxx_xxxxxxxx
type: string
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/GetVolumeDiscountResponse'
description: The confirmed long-term discount order.
security:
- api_key: []
api_token: []
summary: Confirm long-term discount order
tags:
- Order
x-soracom-cli:
- volume-discounts confirm
/volume_discounts/available_discounts:
get:
description: Returns a list of available long term discounts.
operationId: listAvailableDiscounts
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/AvailableLongTermDiscountResponse'
description: A list of available long term discounts.
security:
- api_key: []
api_token: []
summary: List available long term discounts
tags:
- Order
x-soracom-cli:
- volume-discounts available-discounts
components:
examples:
APITokenCredentials:
value:
credentials:
token: sample_token
type: api-token-credentials
AWSCredentials:
value:
credentials:
accessKeyId: sampleAccessKeyId
secretAccessKey: sampleSecret
type: aws-credentials
AzureCredentials:
value:
credentials:
key: your_key
policyName: your_policy_name
type: azure-credentials
AzureIoTCredentials:
value:
credentials:
sharedAccessKey: sample_access_key
sharedAccessKeyName: sample
type: azureIoT-credentials
EsrijCredentials:
value:
credentials:
refererUrl: https://example.com
type: esrij-credentials
GoogleIoTCredentials:
value:
credentials:
algorithm: RS256
deviceId: sample_device
privateKey: your_private_key
projectId: sample_projectID
region: asia-east1
registryId: sample
type: googleIoT-credentials
GoogleServiceAccountJson:
value:
credentials:
credentials: '{"sample": "value"}'
type: google-service-account-json
IAMRoleCredentials:
value:
credentials:
externalId: your_external_id
roleArn: sample_role
type: aws-iam-role-credentials
InfoteriaPlatioCredentials:
value:
credentials:
secretToken: sample_secret
tokenId: sample_token
type: infoteria-platio-credentials
KiiThingifCredentials:
value:
credentials:
app_id: sample_app
app_key: sample_key
client_id: sample_id
client_secret: sample_secret
type: kii-thingif-credentials
LandlogCredentials:
value:
credentials:
client_id: sample_id
client_secret: sample_secret
type: landlog-credentials
MmcloudCredentials:
value:
credentials:
commandcode: sample_code
customerid: sample_customer
machineid: sample_id
machineidtype: sample_type
type: mmcloud-credentials
MotionboardCredentials:
value:
credentials:
authkey: sample_auth
template: temple_temp
tenant: sample_tenant
type: motionboard-credentials
OptimCloudCredentials:
value:
credentials:
client_id: sample_client
client_secret: sample_secret
type: optim-cloud-IoT-OS-credentials
PreSharedKey:
value:
credentials:
key: sample_key
type: psk
PubnubCredentials:
value:
credentials:
pubKey: sample
subKey: sample_sub
type: pubnub-credentials
SensorcorpusCredentials:
value:
credentials:
session_code: sample_code
type: sensorcorpus-credentials
UsernamePasswordCredentials:
value:
credentials:
password: sample_pass
username: sample_user
type: username-password-credentials
X509Certificate:
value:
credentials:
ca: sample_ca
cert: sample_cert
key: sample_key
type: x509
requestBodies:
CreateAndUpdateCredentialsModel:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAndUpdateCredentialsModel'
description: Credential set.
required: true
ExpiryTime:
content:
application/json:
schema:
$ref: '#/components/schemas/ExpiryTime'
description: 'Expiry time after the update (unixtime: in milliseconds).'
required: true
Group:
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
required: true
MFAAuthenticationRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/MFAAuthenticationRequest'
description: request
required: true
schemas:
APIAuditLogEntry:
properties:
apiKind:
description: The kind of the API (e.g., `/v1/auth`).
type: string
operatorId:
description: The operator ID that called the API.
type: string
remoteIpAddress:
description: The IP address of the caller.
type: string
requestPath:
description: The request path that has been called.
type: string
requestedTimeEpochMs:
description: The timestamp of the API call. This can be used as the `last_evaluated_key`
request parameter, for pagination.
format: int64
type: integer
userName:
description: The SAM username that called the API. If this parameter is
empty, it means the caller user is the root user.
type: string
type: object
APICallError:
properties:
errorMessage:
$ref: '#/components/schemas/APICallErrorMessage'
httpStatus:
format: int32
type: integer
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
ActionConfig:
properties:
properties:
$ref: '#/components/schemas/ActionConfigProperty'
type:
description: "The type of action. Set one of the following. The values that
can be specified in `properties` vary depending on the type.\n\n- `SendMailAction`:
Send an email.\n\n The properties that can be set in `properties` are
as follows:\n - `executionDateTimeConst` (required)\n - `executionOffsetMinutes`\n
\ - `to`\n - `title`\n - `message`\n- `SendMailToOperatorAction`: Send
an email to the operator's primary email address.\n\n The properties
that can be set in `properties` are as follows:\n - `executionDateTimeConst`
(required)\n - `executionOffsetMinutes`\n - `title`\n - `message`\n-
`ChangeSpeedClassAction`: Change the speed class of the IoT SIM.\n\n The
properties that can be set in `properties` are as follows:\n - `executionDateTimeConst`
(required)\n - `executionOffsetMinutes`\n - `speedClass`\n- `ActivationAction`,
`DeactivationAction`, `StandbyAction`, `SuspendAction`: Change to active,
inactive, standby, or suspended.\n\n The properties that can be set in
`properties` are as follows:\n - `executionDateTimeConst` (required)\n
\ - `executionOffsetMinutes`\n- `ExecuteWebRequestAction`: Send a request
to a specified URL.\n\n The properties that can be set in `properties`
are as follows:\n - `executionDateTimeConst` (required)\n - `executionOffsetMinutes`\n
\ - `url` (required)\n - `httpMethod` (required)\n - `contentType` (required)\n
\ - `headers` (required)\n - `body`\n- `InvokeAWSLambdaAction`: Invoke
AWS Lambda.\n\n The properties that can be set in `properties` are as
follows:\n - `executionDateTimeConst` (required)\n - `executionOffsetMinutes`\n
\ - `endpoint` (required)\n - `functionName` (required)\n - `credentialsId`
(required)\n - `parameter1`, `parameter2`, `parameter3`, `parameter4`,
`parameter5`\n \n **Warning**: `accessKey` and `secretAccessKey` are
deprecated properties. Please use `credentialsId`.\n"
enum:
- ChangeSpeedClassAction
- InvokeAWSLambdaAction
- ExecuteWebRequestAction
- SendMailAction
- SendMailToOperatorAction
- ActivationAction
- DeactivationAction
- StandbyAction
- SuspendAction
type: string
required:
- properties
- type
type: object
ActionConfigProperty:
properties:
accessKey:
deprecated: true
description: (Deprecated).
type: string
body:
description: |
HTTP request message body. Valid only when `httpMethod` is `POST` or `PUT`.
- Variables can be used. For more details, refer to [Variables](/en/docs/air/event-handler/#variables).
type: string
contentType:
description: Content-Type.
type: string
credentialsId:
description: |
AWS Lambda's authentication information ID. Please register "AWS credentials" or "AWS IAM Role credentials" in advance in the [Credential Sets](/en/docs/security/credential-sets/).
type: string
endpoint:
description: AWS Lambda service endpoint.
type: string
executionDateTimeConst:
description: |
The timing of action execution.
- `IMMEDIATELY`: Execute immediately.
- `BEGINNING_OF_NEXT_MONTH`: Execute on the first day of the next month at 00:00 (*1).
- `BEGINNING_OF_NEXT_DAY`: Execute on the next day at 00:00 (*1).
- `AFTER_ONE_DAY`: Execute after one day (24 hours later).
- `NEVER`: Do not execute.
(*1) Action execution is based on UTC (Coordinated Universal Time). For example, if `BEGINNING_OF_NEXT_DAY` is specified, it will be executed when the date changes in UTC, not Japan Time.
enum:
- IMMEDIATELY
- BEGINNING_OF_NEXT_MONTH
- BEGINNING_OF_NEXT_DAY
- AFTER_ONE_DAY
- NEVER
type: string
executionOffsetMinutes:
description: |
Action offset in minutes. The default is `0`. Specify an integer between `0` and `525600` as a String. You can delay the actual execution time of the action from the timing specified in `executionDateTimeConst`. For more details, refer to [Event Handler](/en/docs/air/event-handler/).
type: string
functionName:
description: AWS Lambda function name. Versions or aliases can also be specified.
type: string
headers:
description: |
HTTP request headers. Specify key and value as an escaped JSON object.
Example: `"{\"key1\":\"value1\"},{\"key2\":\"value2\"}"`
- Variables can be used. For more details, refer to [Variables](/en/docs/air/event-handler/#variables).
type: object
httpMethod:
description: HTTP request method.
enum:
- GET
- POST
- PUT
- DELETE
type: string
message:
description: |
Body.
- Variables can be used. For more details, refer to [Variables](/en/docs/air/event-handler/#variables).
type: string
parameter1:
description: |
Value of the parameter to pass to AWS Lambda.
- Do not specify the same key repeatedly, such as specifying `parameter1` multiple times.
- Variables can be used. For more details, refer to [Variables](/en/docs/air/event-handler/#variables).
type: string
parameter2:
description: |
Identical to `parameter1`.
type: string
parameter3:
description: |
Identical to `parameter1`.
type: string
parameter4:
description: |
Identical to `parameter1`.
type: string
parameter5:
description: |
Identical to `parameter1`.
type: string
secretAccessKey:
deprecated: true
description: (Deprecated).
type: string
speedClass:
description: |
Speed class. Specify one of the following. However, specify a speed class according to the subscription.
- For plan01s, plan01s - Low Data Volume, planX3 (X3-5MB), planP1, plan-D (without bundle), plan-D (D-300MB), plan-K2 (K2-300MB), plan-K:
- `s1.minimum`
- `s1.slow`
- `s1.standard`
- `s1.fast`
- `s1.4xfast`
- For plan-US:
- `s1.minimum`
- `s1.slow`
- `s1.standard`
- `s1.fast`
- `s1.4xfast`
- `s1.8xfast`
- For plan-DU:
- `u1.standard`
- `u1.slow`
**Warning**: Speed class cannot be changed for plan-KM1 and Virtual SIM/Subscriber as they have only one speed class.
enum:
- s1.minimum
- s1.slow
- s1.standard
- s1.fast
- s1.4xfast
- s1.8xfast
- u1.standard
- u1.slow
type: string
title:
description: |
Subject.
- Variables can be used. For more details, refer to [Variables](/en/docs/air/event-handler/#variables).
type: string
to:
description: |
The recipient's email address. Multiple email addresses cannot be specified.
type: string
url:
description: |
Destination URL and query parameters.
- Variables can be used. For more details, refer to [Variables](/en/docs/air/event-handler/#variables).
type: string
required:
- executionDateTimeConst
type: object
AirAggregatedStatsResponse:
properties:
downloadByteSizeTotal:
description: Number of bytes downloaded during the period covered by the
aggregate
format: int64
type: integer
unixtime:
description: Start date and time of the period under consideration (UNIX
time in seconds)
format: int64
type: integer
uploadByteSizeTotal:
description: Number of bytes uploaded during the period covered by the aggregate
format: int64
type: integer
type: object
AirStatsResponse:
properties:
dataTrafficStatsMap:
additionalProperties:
$ref: '#/components/schemas/DataTrafficStats'
type: object
date:
description: Date and time (Coordinated Universal Time (UTC))
type: string
unixtime:
format: int64
type: integer
type: object
AnalysisPlanQueryType:
description: The type of the Analysis query plan.
ArcCredentialAttachRequest:
properties:
arcClientPeerPublicKey:
description: If this parameter is missing, the server generates a keypair.
type: string
type: object
ArcCredentialAttachResponse:
properties:
arcClientPeerPrivateKey:
type: string
arcClientPeerPublicKey:
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
ArcCredentialRenewResponse:
properties:
arcClientPeerPrivateKey:
type: string
arcClientPeerPublicKey:
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
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
AttachRoleRequest:
properties:
roleId:
description: |
The ID of the role to attach. For an operator managed role, specify the role ID (`roleId`) obtained from the [Role:listRoles API](#/Role/listRoles). For a Soracom managed role, specify the SRN (Soracom Resource Name).
type: string
type: object
AttributeUpdate:
properties:
key:
type: string
value:
type: string
type: object
AuthKeyResponse:
properties:
authKeyId:
description: The ID of the authentication key.
example: keyId-xxx
type: string
createDateTime:
description: The creation date and time of the authentication key (UNIX
time in seconds).
example: 1722480500
format: int64
type: integer
lastUsedDateTime:
description: The last used date and time of the authentication key (UNIX
time in seconds).
example: 1722480600
format: int64
type: integer
required:
- authKeyId
- createDateTime
type: object
AuthRequest:
properties:
authKey:
type: string
authKeyId:
type: string
email:
type: string
mfaOTPCode:
type: string
operatorId:
type: string
password:
type: string
tokenTimeoutSeconds:
default: 86400
format: int64
maximum: 172800
type: integer
userName:
type: string
type: object
AuthResponse:
properties:
apiKey:
example: api-abcde123-45fg-hij6-7890-klmno12345pq
type: string
operatorId:
example: OPXXXXXXXXXX
type: string
token:
example: abcde12345fghij67890klmno12345pqrst67890uvwxy12345abcde67890fghi...
type: string
userName:
example: SORACOMAPI
type: string
type: object
AvailableLongTermDiscountModel:
properties:
contractTermMonth:
default: 12
description: Contract months.
format: int32
type: integer
currency:
description: Currency.
enum:
- JPY
- USD
- EUR
type: string
taxIncludedUnitPrice:
description: Tax included unit price.
format: double
type: number
unitPrice:
description: Unit price.
format: double
type: number
volumeDiscountPaymentType:
description: Payment type.
enum:
- MONTHLY
- PREPAYMENT
type: string
volumeDiscountType:
description: Long term discount type.
enum:
- SORACOM_AIR_BASIC_CHARGE_V2
- SORACOM_AIR_BASIC_CHARGE
- SORACOM_AIR_MONTHLY_FIXED_BASIC_CHARGE
type: string
type: object
AvailableLongTermDiscountResponse:
properties:
availableLongTermDiscounts:
description: List of available long term discounts.
items:
$ref: '#/components/schemas/AvailableLongTermDiscountModel'
type: array
type: object
BatchGroupResponse:
properties:
batchGroupId:
description: Batch group ID.
example: aaaa1111
type: string
batchGroupName:
description: Batch group name.
example: Monthly SIM Tag Update
type: string
createdTime:
description: Created time.
example: 1704067200
format: int64
type: integer
description:
description: Description of the batch group.
type: string
updatedTime:
description: Updated time.
example: 1704153600
format: int64
type: integer
type: object
BatchJobResponse:
properties:
abortOnFailure:
description: Whether to immediately abort upon encountering an error.
type: boolean
batchGroupId:
description: Batch group ID.
example: aaaa1111
type: string
createdTime:
description: Created time.
example: 1704067200
format: int64
type: integer
description:
description: Description of the batch job.
type: string
errorMessage:
description: Detailed information about the failed batch job.
type: string
finishedTime:
description: Finished time.
example: 1704240000
format: int64
type: integer
jobId:
description: Batch job ID.
example: bbbb2222
type: string
jobName:
description: Batch job name.
example: July 16th 2025 Set group
type: string
status:
description: |
Status of the batch job.
- `pending`: The job is preparing to execute. No tasks have been processed yet.
- `running`: The job is executing tasks.
- `completed`: The job has finished successfully. All tasks have been executed without any errors.
- `failed`: The job has finished processing all tasks, but one or more tasks encountered errors during execution.
- `aborted`: The job was stopped before all tasks could be processed.
enum:
- pending
- running
- completed
- aborted
- failed
type: string
summary:
$ref: '#/components/schemas/BatchJobSummary'
updatedTime:
description: Updated time.
example: 1704153600
format: int64
type: integer
type: object
BatchJobSummary:
description: Number of tasks for each status. These numbers are periodically
updated during the batch job execution.
properties:
error:
description: Number of tasks that failed to execute.
example: 0
format: int32
type: integer
pending:
description: Number of tasks waiting for execution.
example: 5
format: int32
type: integer
success:
description: Number of tasks that have successfully executed.
example: 95
format: int32
type: integer
type: object
BatchTaskApiRequest:
description: The API request of this task.
properties:
body:
description: Body of the API request.
example:
groupId: 11111111-2222-3333-4444-555555555555
type: object
method:
description: HTTP method of the API request.
enum:
- POST
- GET
- PUT
- DELETE
example: POST
type: string
path:
description: Path of the API request.
example: /v1/sims/8981100001234567890/set_group
type: string
required:
- path
- method
type: object
BatchTaskApiResponse:
description: このタスクの API レスポンス。
properties:
body:
description: Body in the response.
type: object
statusCode:
description: Status code in the response.
example: 200
type: integer
type: object
BatchTaskRequest:
properties:
request:
$ref: '#/components/schemas/BatchTaskApiRequest'
description: (Not shown because $ref is used at the same level in base/batch.yaml)
required:
- request
type: object
BatchTaskResponse:
properties:
finishedTime:
description: Finished time of the task.
example: 1704067202
format: int64
type: integer
request:
$ref: '#/components/schemas/BatchTaskApiRequest'
description: (Not shown because $ref is used at the same level in base/batch.yaml)
response:
$ref: '#/components/schemas/BatchTaskApiResponse'
description: (Not shown because $ref is used at the same level in base/batch.yaml)
startedTime:
description: Started time of the task.
example: 1704067201
format: int64
type: integer
status:
description: |
Status of the task.
- `pending`: Task is waiting for execution.
- `success`: Task succeeded.
- `error`: Task failed.
enum:
- pending
- success
- error
type: string
taskId:
description: Task ID.
example: 1
format: int32
type: integer
type: object
BeamStatsResponse:
properties:
beamStatsMap:
additionalProperties:
$ref: '#/components/schemas/SoracomBeamStats'
type: object
date:
type: string
unixtime:
format: int64
type: integer
type: object
BillItemCostBreakdown:
properties:
amount:
description: Amount.
format: double
type: number
billItemCategory:
description: Bill item category.
type: string
billItemName:
description: Bill item name.
type: string
BillingSummaryResponseOfBillItems:
properties:
costBreakdownList:
description: List of cost breakdown. The list is sorted by amount in descending
order.
items:
$ref: '#/components/schemas/BillItemCostBreakdown'
type: array
currency:
description: Currency of bills.
enum:
- JPY
- USD
- EUR
type: string
updatedTime:
description: Last updated time in UNIX time in seconds.
format: int64
type: integer
yearMonth:
description: Year and month.
type: string
type: object
BillingSummaryResponseOfSims:
properties:
costBreakdownList:
description: List of cost breakdown. The list is sorted by amount in descending
order, and include up to 100 items.
items:
$ref: '#/components/schemas/SimCostBreakdown'
type: array
currency:
description: Currency of bills.
enum:
- JPY
- USD
- EUR
type: string
updatedTime:
description: Last updated time in UNIX time in seconds.
format: int64
type: integer
yearMonth:
description: Year and month.
type: string
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
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
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
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
CompanyInformationModel:
properties:
addressLine1:
type: string
addressLine2:
type: string
building:
type: string
city:
type: string
companyName:
type: string
contactPersonName:
type: string
countryCode:
type: string
department:
type: string
phoneNumber:
type: string
state:
type: string
vatIdentificationNumber:
type: string
zipCode:
type: string
required:
- companyName
- countryCode
- zipCode
- department
- contactPersonName
- phoneNumber
type: object
ContractDetailOfHarvest:
properties:
plan:
description: The contract plan. Currently only "extended" is acceptable.
enum:
- extended
type: string
ttl:
description: Data retention period in days. Currently only 731 is acceptable.
example: 731
format: int64
type: integer
type: object
ContractDetailOfSupport:
properties:
tier:
description: |
The support plan to be contracted.
If you want to contract the enterprise tier, please contract our sales team ( https://soracom.jp/contact/ ).
Currently this is available only in Japan coverage.
enum:
- priority
type: string
type: object
ContractUpdatedResponse:
properties:
contractDetail:
oneOf:
- $ref: '#/components/schemas/ContractDetailOfHarvest'
- $ref: '#/components/schemas/ContractDetailOfSupport'
contractName:
enum:
- api_audit_log
- harvest
- napter
- support
type: string
type: object
ContractUpdatingRequest:
properties:
contractDetail:
oneOf:
- $ref: '#/components/schemas/ContractDetailOfHarvest'
- $ref: '#/components/schemas/ContractDetailOfSupport'
contractName:
enum:
- api_audit_log
- harvest
- napter
- support
example: harvest
type: string
required:
- contractName
type: object
CouponResponse:
properties:
amount:
description: Amount.
format: double
type: number
balance:
description: Balance.
format: double
type: number
billItemName:
description: Item.
type: string
couponCode:
description: Coupon code.
type: string
currency:
description: Currency.
enum:
- JPY
- USD
- EUR
type: string
expiryYearMonth:
description: Expiry month.
format: yyyyMM
type: string
orderId:
description: Order ID.
type: string
type: object
CoverageType:
enum:
- jp
- g
type: string
CreateAndUpdateCredentialsModel:
properties:
credentials:
type: object
description:
type: string
type:
enum:
- aws-credentials
- azure-credentials
- psk
- x509
type: string
type: object
CreateBatchGroupRequest:
properties:
batchGroupName:
description: Batch group name.
example: Monthly SIM Tag Update
maxLength: 100
type: string
description:
description: Description of the batch group.
maxLength: 500
type: string
required:
- batchGroupName
type: object
CreateBatchJobRequest:
properties:
abortOnFailure:
description: Whether to immediately abort upon encountering an error during
batch job execution.
example: false
type: boolean
description:
description: Description of the batch job.
maxLength: 500
type: string
jobName:
description: Batch job name.
example: July 16th 2025 Set group
maxLength: 100
type: string
tasks:
description: |
List of tasks to be executed in the batch job.
Supported Soracom APIs:
- [Sim:activateSim API](#/Sim/activateSim)
- [Sim:deactivateSim API](#/Sim/deactivateSim)
- [Sim:setSimToStandby API](#/Sim/setSimToStandby)
- [Sim:suspendSim API](#/Sim/suspendSim)
- [Sim:setSimGroup API](#/Sim/setSimGroup)
- [Sim:unsetSimGroup API](#/Sim/unsetSimGroup)
- [Sim:putSimTags API](#/Sim/putSimTags)
- [VirtualPrivateGateway:putVirtualPrivateGatewayIpAddressMapEntry API](#/VirtualPrivateGateway/putVirtualPrivateGatewayIpAddressMapEntry)
Specify the API request path, HTTP method, and body in the `request` field according to the Soracom API specification. For example, to call the Sim:activateSim API, specify as follows:
```json
{
"request": {
"path": "/v1/sims/8981100001234567890/activate",
"method": "POST",
"body": {
"sim_id": "8981100001234567890"
}
}
}
```
items:
$ref: '#/components/schemas/BatchTaskRequest'
type: array
required:
- tasks
type: object
CreateCustomerRouteRequest:
properties:
destinationCidr:
description: Destination CIDR block
type: string
ignoreDeviceSubnetCidrRangeOverlap:
type: boolean
ignoreDeviceSubnetcidrRangeOverlap:
description: A boolean flag to ignore device subnet CIDR range overlap with
the destination CIDR range
target:
description: Transit Gateway ID
type: string
required:
- destinationCidr
- target
type: object
CreateEstimatedCouponRequest:
properties:
amount:
description: Amount.
format: double
type: number
required:
- amount
type: object
CreateEstimatedOrderRequest:
properties:
orderItemList:
description: Order item list.
items:
$ref: '#/components/schemas/OrderItemModel'
type: array
preferredDeliveryDate:
description: Preferred delivery date.
format: yyyyMMdd
type: string
shippingAddressId:
description: Shipping address ID.
type: string
shippingOptions:
description: Shipping options.
items:
oneOf:
- $ref: '#/components/schemas/ShippingOptionOfNekopos'
- $ref: '#/components/schemas/ShippingOptionOfExpeditedShipping'
type: array
type: object
CreateEstimatedVolumeDiscountRequest:
properties:
contractTermMonth:
default: 12
description: Contract months.
format: int32
type: integer
quantity:
description: Quantity.
format: int32
type: integer
startDate:
description: Start date.
example: yyyyMMdd
type: string
volumeDiscountPaymentType:
description: Payment type.
enum:
- MONTHLY
- PREPAYMENT
type: string
volumeDiscountType:
description: Long term discount type.
enum:
- SORACOM_AIR_BASIC_CHARGE_V2
- SORACOM_AIR_BASIC_CHARGE
- SORACOM_AIR_MONTHLY_FIXED_BASIC_CHARGE
type: string
required:
- volumeDiscountType
- volumeDiscountPaymentType
- contractTermMonth
- quantity
type: object
CreateEventHandlerRequest:
properties:
actionConfigList:
description: |
Action type. For more details, refer to [Actions](/en/docs/air/event-handler/#actions).
items:
$ref: '#/components/schemas/ActionConfig'
type: array
description:
description: Summary.
type: string
name:
description: Event name.
type: string
ruleConfig:
$ref: '#/components/schemas/RuleConfig'
description: |
Rule. For more details, refer to [Rules](/en/docs/air/event-handler/#rules).
status:
description: |
The status of the event handler, whether it is active or inactive.
- `active`: Active
- `inactive`: Inactive
enum:
- inactive
- active
type: string
targetGroupId:
description: |
The target group. All IoT SIMs belonging to the group are monitored.
Specify only one of `targetGroupId`, `targetImsi`, `targetOperatorId`, or `targetSimId`.
type: string
targetImsi:
description: |
The target IMSI of the IoT SIM.
Specify only one of `targetGroupId`, `targetImsi`, `targetOperatorId`, or `targetSimId`.
type: string
targetOperatorId:
description: |
The target operator. All IoT SIMs in your account.
Specify only one of `targetGroupId`, `targetImsi`, `targetOperatorId`, or `targetSimId`.
type: string
targetSimId:
description: |
The target SIM ID of the IoT SIM.
Specify only one of `targetGroupId`, `targetImsi`, `targetOperatorId`, or `targetSimId`.
type: string
required:
- actionConfigList
- name
- ruleConfig
- status
type: object
CreateGroupRequest:
properties:
configuration:
$ref: '#/components/schemas/GroupConfiguration'
tags:
$ref: '#/components/schemas/TagSet'
type: object
CreateOrUpdateRoleRequest:
properties:
description:
description: The description of the operator managed role.
type: string
permission:
description: Permission as JSON for the operator managed role.
type: string
required:
- permission
type: object
CreatePortMappingRequest:
properties:
destination:
$ref: '#/components/schemas/PortMappingDestination'
duration:
description: |
The duration (in seconds) to maintain the On-Demand Remote Access entry (the time to allow remote access). After the specified time has passed, the On-Demand Remote Access entry will be automatically deleted. The maximum duration is 8 hours.
type: number
source:
$ref: '#/components/schemas/PortMappingSource'
tlsRequired:
description: |
Whether to encrypt the connection from the source to Soracom using TLS.
- `true`: Encrypt using TLS. Specify this if the device is listening on HTTP.
- `false`: Do not use TLS. Specify this when connecting to the device via SSH or if the device is listening on HTTPS. Note that communication from the source to the device is encrypted in SSH and HTTPS.
type: boolean
required:
- destination
type: object
CreatePortMappingRequestForSim:
properties:
destination:
$ref: '#/components/schemas/PortMappingDestinationForSim'
duration:
description: |
The duration (in seconds) to maintain the On-Demand Remote Access entry (the time to allow remote access). After the specified time has passed, the On-Demand Remote Access entry will be automatically deleted. The maximum duration is 8 hours.
type: number
source:
$ref: '#/components/schemas/PortMappingSource'
tlsRequired:
description: |
Whether to encrypt the connection from the source to Soracom using TLS.
- `true`: Encrypt using TLS. Specify this if the device is listening on HTTP.
- `false`: Do not use TLS. Specify this when connecting to the device via SSH or if the device is listening on HTTPS. Note that communication from the source to the device is encrypted in SSH and HTTPS.
type: boolean
required:
- destination
type: object
CreateRoleResponse:
properties:
roleId:
description: The role ID.
type: string
type: object
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.
- For planX3:
- `X3-5MB`
- For plan-US:
- `US-1MB`
- `US-3MB`
- `US-10MB`
- `US-20MB`
- `US-50MB`
- `US-100MB`
- `US-300MB`
- `US-500MB`
- `US-1GB`
- `US-3GB`
- `US-5GB`
- `US-10GB`
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.
- For plan01s, planP1, planX1, planX2, planX3:
- `s1.minimum`
- `s1.slow`
- `s1.standard`
- `s1.fast`
- `s1.4xfast`
- For plan-US:
- `s1.minimum`
- `s1.slow`
- `s1.standard`
- `s1.fast`
- `s1.4xfast`
- `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
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
CreateSoraletRequest:
properties:
description:
type: string
soraletId:
type: string
required:
- soraletId
type: object
CreateTransitGatewayPeeringConnectionRequest:
properties:
customerAwsAccountId:
description: AWS account ID of the peer transit gateway
type: string
customerRegion:
description: AWS region of the peer transit gateway
type: string
customerTransitGatewayId:
description: AWS transit gateway ID of the peer transit gateway
type: string
name:
description: A name used to identify the peering connection
type: string
required:
- customerAwsAccountId
- customerRegion
- customerTransitGatewayId
type: object
CreateTransitGatewayVpcAttachmentRequest:
properties:
customerAwsAccountId:
description: AWS account ID of the VPC to be attached
type: string
customerVpcId:
description: AWS VPC ID of the VPC to be attached
type: string
name:
description: A name used to identify the VPC attachment
type: string
required:
- customerAwsAccountId
- customerVpcId
type: object
CreateUserPasswordRequest:
properties:
password:
type: string
type: object
CreateUserRequest:
properties:
description:
type: string
type: object
CreateVirtualPrivateGatewayRequest:
properties:
deviceSubnetCidrRange:
default: 10.128.0.0/9
type: string
placement:
properties:
region:
description: |
[Rendezvous Point](/en/docs/reference/rendezvous-points/) for the VPG.
- `ap-northeast-1`: Tokyo (Japan), default for Japan Coverage
- `eu-central-1`: Frankfurt (Germany), 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
soracomTransitGateway:
properties:
asn:
type: integer
type: object
tags:
$ref: '#/components/schemas/TagSet'
type:
description: |
VPG Type.
- `14` : Type-E
- `15` : Type-F
- `242` : Type-F2
enum:
- 14
- 15
- 242
type: integer
useInternetGateway:
default: true
type: boolean
required:
- type
type: object
CreateVpcPeeringConnectionRequest:
properties:
destinationCidrBlock:
type: string
peerOwnerId:
type: string
peerRegion:
type: string
peerVpcId:
type: string
type: object
CredentialsModel:
properties:
createDateTime:
format: int64
type: integer
credentials:
type: object
credentialsId:
type: string
description:
type: string
lastUsedDateTime:
format: int64
type: integer
type:
enum:
- api-token-credentials
- aws-credentials
- aws-iam-role-credentials
- azure-credentials
- azureIoT-credentials
- esrij-credentials
- google-service-account-json
- googleIoT-credentials
- infoteria-platio-credentials
- kii-thingif-credentials
- landlog-credentials
- mmcloud-credentials
- motionboard-credentials
- optim-cloud-IoT-OS-credentials
- private-key-pem
- psk
- pubnub-credentials
- sensorcorpus-credentials
- username-password-credentials
- x509
type: string
updateDateTime:
format: int64
type: integer
required:
- createDateTime
- credentials
- credentialsId
- lastUsedDateTime
- type
- updateDateTime
type: object
CreditCard:
properties:
cvc:
type: string
expireMonth:
format: int32
type: integer
expireYear:
format: int32
type: integer
name:
type: string
number:
type: string
type: object
CustomerRoute:
properties:
destinationCidr:
description: Destination CIDR block
type: string
id:
description: Unique ID of the routing table entry
type: string
target:
description: Transit Gateway ID
type: string
type:
description: Type of the routing table entry, either "static" or "dynamic"
enum:
- static
- dynamic
type: string
type: object
DailyBill:
properties:
amount:
description: Amount of bills.
format: double
type: number
currency:
description: Currency of bills.
enum:
- JPY
- USD
- EUR
type: string
date:
description: Date
format: yyyyMMdd
type: string
type: object
DailyBillResponse:
properties:
billList:
description: List of daily bills.
items:
$ref: '#/components/schemas/DailyBill'
type: array
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
DataResourceMetadata:
properties:
attributeNames:
items:
type: string
type: array
lastModifiedTime:
format: int64
type: integer
resourceId:
type: string
resourceType:
type: string
type: object
DataTrafficStats:
properties:
downloadByteSizeTotal:
format: int64
type: integer
downloadPacketSizeTotal:
format: int64
type: integer
uploadByteSizeTotal:
format: int64
type: integer
uploadPacketSizeTotal:
format: int64
type: integer
type: object
Device:
properties:
device_id:
type: string
endpoint:
type: string
firmwareVersion:
type: string
groupId:
type: string
ipAddress:
type: string
lastModifiedTime:
format: date-time
type: string
lastRegistrationUpdate:
format: date-time
type: string
manufacturer:
type: string
modelNumber:
type: string
objects:
type: object
online:
default: false
type: boolean
operatorId:
type: string
registrationId:
type: string
registrationLifeTime:
format: int64
type: integer
serialNumber:
type: string
tags:
additionalProperties:
type: string
type: object
type: object
DeviceObjectModel:
properties:
createdTime:
format: date-time
type: string
format:
enum:
- xml
- json
type: string
lastModifiedTime:
format: date-time
type: string
objectId:
type: string
objectName:
type: string
operatorId:
type: string
scope:
type: string
type: object
DiagnosticRequest:
properties:
from:
description: Start time for diagnostic (UNIX time in milliseconds).
format: int64
type: integer
resourceId:
description: |
Identifier according to resourceType.
- If resourceType is `sim`, specify the SIM ID.
type: string
resourceType:
enum:
- sim
type: string
service:
enum:
- Air
type: string
to:
description: End time for diagnostic (UNIX time in milliseconds).
format: int64
type: integer
required:
- service
- resourceType
- resourceId
type: object
DiagnosticResponse:
properties:
diagnosticId:
type: string
from:
description: Start time for diagnostic (UNIX time in milliseconds).
format: int64
type: integer
insights:
items:
$ref: '#/components/schemas/Insight'
type: array
resourceId:
description: Identifier according to resourceType.
type: string
resourceType:
enum:
- sim
type: string
service:
enum:
- Air
type: string
status:
enum:
- diagnosing
- done
- failed
type: string
to:
description: End time for diagnostic (UNIX time in milliseconds).
format: int64
type: integer
required:
- diagnosticId
- status
- service
- resourceType
- resourceId
- from
- to
- insights
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
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
EmailConfigurationOfBilling:
properties:
attachInvoicePdfEnabled:
description: |
The setting to decide whether to attach the invoice PDF issued by Soracom to a monthly billing notification mail (Global coverage only).
- `true`: The invoice will be attached.
- `false`: The invoice will not be attached.
type: boolean
type: object
EmailConfigurationOfNotification:
properties:
exceedBundleDisabled:
description: |
The setting for notifications to the primary email address regarding data usage. For more information, refer to [Disabling Low Data Remaining Notifications](/en/docs/air/data-usage/#disabling-low-data-remaining-notifications).
- `true`: All notifications to the primary email address regarding data usage will be disabled.
- `false`: All notifications to the primary email address regarding data usage will be enabled.
type: boolean
type: object
EmailsModel:
properties:
createDateTime:
format: int64
type: integer
email:
type: string
emailId:
type: string
updateDateTime:
format: int64
type: integer
verified:
description: |-
Whether the email address has completed token-based verification.
- `true`: verified
- `false`: unverified
type: boolean
required:
- emailId
- email
- verified
- createDateTime
- updateDateTime
type: object
EnableMFAOTPResponse:
properties:
totpUri:
type: string
required:
- totpUri
type: object
Error:
properties:
code:
format: int32
type: integer
fields:
type: string
message:
type: string
type: object
EstimatedCouponModel:
properties:
amount:
description: Amount.
format: double
type: number
currency:
description: Currency.
enum:
- JPY
- USD
- EUR
type: string
expiryYearMonth:
description: Expiry month.
format: yyyyMM
type: string
orderId:
description: Order ID.
type: string
taxAmount:
description: Tax amount.
format: double
type: number
totalAmount:
description: Total amount.
format: double
type: number
type: object
EstimatedOrderItemModel:
properties:
product:
$ref: '#/components/schemas/ProductModel'
productAmount:
description: Product amount.
format: double
type: number
quantity:
description: Quantity.
format: int32
type: integer
taxIncludedProductAmount:
type: number
type: object
EstimatedOrderModel:
properties:
appliedShippingOptions:
description: Applied shipping options.
items:
oneOf:
- $ref: '#/components/schemas/ShippingOptionOfNekopos'
- $ref: '#/components/schemas/ShippingOptionOfExpeditedShipping'
type: array
balanceDue:
description: Balance due.
format: double
type: number
containsTaxIncludedAmounts:
description: Contains tax included amounts.
type: boolean
currency:
description: Currency.
enum:
- JPY
- USD
- EUR
type: string
email:
description: Email address.
type: string
orderChannel:
description: Order channel.
type: string
orderId:
description: Order ID.
type: string
orderItemList:
description: Order item list.
items:
$ref: '#/components/schemas/EstimatedOrderItemModel'
type: array
preferredDeliveryDate:
description: Preferred delivery date.
format: yyyyMMdd
type: string
purchaseOrderNumber:
description: Purchase order number.
type: string
shippingAddress:
$ref: '#/components/schemas/ShippingAddressModel'
shippingAddressId:
description: Shipping address ID.
type: string
shippingCost:
description: Shipping cost.
format: double
type: number
taxAmount:
description: Tax amount.
format: double
type: number
taxIncludedInShippingCost:
description: Tax included in shipping cost.
format: double
type: number
taxOnShippingCost:
description: Whether shipping cost is taxable.
type: boolean
totalAmount:
description: Total amount.
format: double
type: number
withholdingTaxAmount:
description: Withholding tax amount.
format: double
type: number
type: object
EstimatedVolumeDiscountModel:
properties:
currency:
description: Currency.
enum:
- JPY
- USD
- EUR
type: string
orderId:
description: Order ID.
type: string
taxAmount:
description: Tax amount.
format: double
type: number
totalAmount:
description: Total amount.
format: double
type: number
volumeDiscount:
$ref: '#/components/schemas/VolumeDiscountModel'
type: object
EventHandlerModel:
properties:
actionConfigList:
items:
$ref: '#/components/schemas/ActionConfig'
type: array
description:
type: string
handlerId:
type: string
name:
type: string
ruleConfig:
$ref: '#/components/schemas/RuleConfig'
status:
enum:
- inactive
- active
type: string
targetGroupId:
type: string
targetImsi:
type: string
targetOperatorId:
type: string
targetSimId:
type: string
required:
- actionConfigList
- handlerId
- ruleConfig
- status
- name
type: object
ExecuteSoraletRequest:
properties:
contentType:
type: string
direction:
enum:
- uplink
- downlink
type: string
encodingType:
enum:
- text
- binary
type: string
payload:
type: string
source:
additionalProperties:
$ref: '#/components/schemas/SoraletDataSource'
type: object
userdata:
type: string
version:
type: string
required:
- version
- direction
- contentType
- payload
- source
type: object
ExecuteSoraletResponse:
properties:
body:
type: string
contentType:
type: string
encodingType:
type: string
resultCode:
format: int32
type: integer
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
ExportRequest:
properties:
from:
description: Specify the start month/day/minute of the period to be aggregated
in UNIX time in seconds.
example: 1709218800
format: int64
type: integer
period:
description: |
Unit of aggregation.
- `month`: Aggregate by month.
The `from` and `to` should be UNIX time (in seconds) from 18 months before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 on the first day of the month, including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the last day of the month containing the specified UNIX time (in seconds). |
- `day`: Aggregate by day.
The `from` and `to` should be UNIX time (in seconds) from 18 months before the current time to the current time. The actual period of interest is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual start time | 00:00:00 of the day including the specified UNIX time (in seconds). |
| Actual end time | 24:00:00 of the day including the specified UNIX time (in seconds). |
- `minutes`: Aggregate by approximately every 5 minutes.
The `from` and `to` must be between 32 days before the current time and the UNIX time (in seconds) of the current time. The actual period to be aggregated is not the time specified by `from` and `to`.
| Item | Description |
|-|-|
| Actual Start Time | Start time of approximately 5 minutes including the specified UNIX time (seconds). |
| Actual End Time | End time of approximately 5 minutes including the specified UNIX time (seconds). |
enum:
- month
- day
- minutes
type: string
to:
description: Specify the end month/day/minute of the period to be aggregated
in UNIX time in seconds.
example: 1714402800
format: int64
type: integer
type: object
FileEntry:
properties:
contentLength:
description: Content length of the file.
format: int64
type: integer
contentType:
description: Content type of the file.
type: string
createdTime:
description: Created time of the file.
format: int64
type: integer
directory:
description: Parent directory name.
type: string
etag:
description: ETag of the file.
type: string
filePath:
description: Absolute path of the file.
type: string
filename:
description: File name.
type: string
isDirectory:
description: Whether the entry is directory or not.
type: boolean
lastModifiedTime:
description: Last modified time of the file.
format: int64
type: integer
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
FunkStatsResponse:
properties:
funkStatsMap:
additionalProperties:
$ref: '#/components/schemas/SoracomFunkStats'
type: object
unixtime:
format: int64
type: integer
type: object
FunnelAWSFirehoseDestination:
properties:
payloadsOnly:
default: false
type: boolean
provider:
enum:
- aws
type: string
resourceUrl:
example: https://firehose..amazonaws.com/
type: string
service:
enum:
- firehose
type: string
type: object
FunnelAWSIoTDestination:
properties:
payloadsOnly:
default: false
type: boolean
provider:
enum:
- aws
type: string
resourceUrl:
example: https://.iot..amazonaws.com/
type: string
sendPayloadsAsBinary:
default: false
type: boolean
service:
enum:
- aws-iot
type: string
type: object
FunnelAWSKinesisDestination:
properties:
payloadsOnly:
default: false
type: boolean
provider:
enum:
- aws
type: string
randomizePartitionKey:
type: boolean
resourceUrl:
example: https://kinesis..amazonaws.com/
type: string
service:
enum:
- kinesis
type: string
type: object
FunnelAcroquestTorrentioDestination:
properties:
endpointId:
type: string
provider:
enum:
- acroquest
type: string
resourceUrl:
type: string
service:
enum:
- torrentio
type: string
tenantId:
type: string
type: object
FunnelAzureEventHubDestination:
properties:
payloadsOnly:
default: false
type: boolean
provider:
enum:
- azure
type: string
resourceUrl:
example: https://.servicebus.windows.net//messages
type: string
service:
enum:
- eventhubs
type: string
type: object
FunnelBrainsTechImpulseDestination:
properties:
provider:
enum:
- brains-tech
type: string
resourceUrl:
type: string
service:
enum:
- impulse
type: string
type: object
FunnelConfiguration:
properties:
addSimId:
default: false
type: boolean
contentType:
$ref: '#/components/schemas/FunnelContentType'
credentialsId:
type: string
destination:
oneOf:
- $ref: '#/components/schemas/FunnelDestination'
- $ref: '#/components/schemas/FunnelAWSFirehoseDestination'
- $ref: '#/components/schemas/FunnelAWSIoTDestination'
- $ref: '#/components/schemas/FunnelAWSKinesisDestination'
- $ref: '#/components/schemas/FunnelAzureEventHubDestination'
- $ref: '#/components/schemas/FunnelGooglePubSubDestination'
- $ref: '#/components/schemas/FunnelAcroquestTorrentioDestination'
- $ref: '#/components/schemas/FunnelBrainsTechImpulseDestination'
- $ref: '#/components/schemas/FunnelEsrijArcgisOnlineDestination'
- $ref: '#/components/schemas/FunnelInfoteriaPlatioDestination'
- $ref: '#/components/schemas/FunnelKiiThingifDestination'
- $ref: '#/components/schemas/FunnelLandlogDestination'
- $ref: '#/components/schemas/FunnelOptimCloudiotosDestination'
- $ref: '#/components/schemas/FunnelTeradataIntellicloudDestination'
- $ref: '#/components/schemas/FunnelWingarcMotionboardDestination'
- $ref: '#/components/schemas/FunnelYaskawaMmcloudDestination'
- $ref: '#/components/schemas/FunnelSensorCorpusDestination'
enabled:
default: false
type: boolean
type: object
FunnelContentType:
enum:
- json
- text
- unspecified
- binary
- application/x-soracom-bf-v1
type: string
FunnelDestination:
properties:
provider:
type: string
resourceUrl:
type: string
service:
type: string
type: object
FunnelEsrijArcgisOnlineDestination:
properties:
config:
type: string
provider:
enum:
- esrij
type: string
resourceUrl:
type: string
service:
enum:
- arcgis-online
type: string
type: object
FunnelGooglePubSubDestination:
properties:
payloadsOnly:
default: false
type: boolean
provider:
enum:
- google
type: string
resourceUrl:
example: your_topic_name
type: string
service:
enum:
- pubsub
type: string
type: object
FunnelInfoteriaPlatioDestination:
properties:
applicationId:
type: string
collectionId:
type: string
passAll:
type: boolean
provider:
enum:
- infoteria
type: string
resourceUrl:
type: string
service:
enum:
- platio
type: string
values:
type: string
type: object
FunnelKiiThingifDestination:
properties:
provider:
enum:
- kii
type: string
resourceUrl:
type: string
service:
enum:
- thingif
type: string
type: object
FunnelLandlogDestination:
properties:
channel_id:
type: string
data_format:
enum:
- json
- text
- xml
type: string
provider:
enum:
- landlog
type: string
resourceUrl:
example: https://api.landlog.info
type: string
service:
enum:
- landlog
type: string
type: object
FunnelOptimCloudiotosDestination:
properties:
channel_id:
type: string
data_format:
type: string
provider:
enum:
- optim
type: string
resourceUrl:
example: https://messaging.optimcloudapis.com
type: string
service:
enum:
- cloudiotos
type: string
type: object
FunnelSensorCorpusDestination:
properties:
additionalData:
type: string
provider:
enum:
- infocorpus
type: string
resourceUrl:
example: https://www.sensorcorpus.net/
type: string
service:
enum:
- sensorcorpus
type: string
type: object
FunnelStatsResponse:
properties:
funnelStatsMap:
additionalProperties:
$ref: '#/components/schemas/SoracomFunnelStats'
type: object
unixtime:
format: int64
type: integer
type: object
FunnelTeradataIntellicloudDestination:
properties:
provider:
enum:
- teradata
type: string
resourceUrl:
type: string
service:
enum:
- intellicloud
type: string
type: object
FunnelWingarcMotionboardDestination:
properties:
provider:
enum:
- wingarc
type: string
resourceUrl:
example: https://iot-cloud.motionboard.jp/motionboard/
type: string
service:
enum:
- motionboard
type: string
type: object
FunnelYaskawaMmcloudDestination:
properties:
desthost:
type: string
destport:
maximum: 0
minimum: 65535
type: integer
provider:
enum:
- yaskawa
type: string
resourceUrl:
type: string
service:
enum:
- mmcloud
type: string
type: object
Gadget:
properties:
attributes:
properties:
wimaxBillingStartDate:
description: Start date of billing for Soracom Cloud Camera Services
Cellular Pack.
type: string
wimaxIccid:
description: ICCID (Integrated Circuit Card ID) of the au IC card included
in the Soracom Cloud Camera Services Cellular Pack. Identifier to
identify the au IC card.
type: string
wimaxImei:
description: IMEI of the router included in the Soracom Cloud Camera
Services Cellular Pack.
type: string
type: object
createdTime:
description: UNIX time (in milliseconds) that the Gadget API compatible
device was registered.
format: int64
type: integer
id:
description: ID of the Gadget API compatible device.
type: string
lastModifiedTime:
description: UNIX time (in milliseconds) that the Gadget API compatible
device information was changed.
format: int64
type: integer
operatorId:
description: Operator ID with which the Gadget API compatible device is
registered.
type: string
productId:
description: |
Product ID of the target Gadget API compatible device.
- `wimax`: Soracom Cloud Camera Services Cellular Pack.
enum:
- button
- wimax
type: string
serialNumber:
description: Serial Number of the target Gadget API compatible device.
type: string
status:
description: |
Contract status of the Gadget API compatible device.
- `active`: In use.
- `terminated`: Cancelled.
enum:
- active
- terminated
type: string
tags:
additionalProperties:
type: string
description: Tags.
type: object
terminatedTime:
description: The cancellation date and time of the Gadget API compatible
device. If not cancelled, `null`.
format: int64
type: integer
terminationEnabled:
default: false
description: |
Termination protection for Gadget API compatible device.
- `true`: OFF (can be cancelled)
- `false`: ON (cannot cancel)
type: boolean
type: object
GadgetRegistrationRequest:
properties:
tags:
additionalProperties:
type: string
description: Tags.
type: object
type: object
GatePeer:
properties:
innerIpAddress:
description: An IP address within the device subnet range (inner IP address).
type: string
netmask:
type: string
outerIpAddress:
type: string
ownedByCustomer:
type: boolean
type: object
GenerateOperatorsAuthKeyResponse:
properties:
authKey:
type: string
authKeyId:
type: string
type: object
GenerateTokenRequest:
properties:
tokenTimeoutSeconds:
default: 86400
description: |
New API token expiry duration in seconds.
Default: 86400 [seconds] (24 hours).
Maximum: 172800 [seconds] (48 hours).
maximum: 172800
type: integer
type: object
GenerateTokenResponse:
properties:
token:
type: string
required:
- token
type: object
GenerateUserAuthKeyResponse:
properties:
authKey:
type: string
authKeyId:
type: string
type: object
GetAnalysisQueriesResponse:
properties:
columnInfo:
description: Column information of the SQL query result.
items:
properties:
databaseType:
description: |-
Database data type.
- `TEXT`: String type.
- `FIXED`: Fixed-length string type.
- `REAL`: Floating-point type.
- `TIMESTAMP_TZ`: Timestamp type.
- `BOOLEAN`: Boolean type.
- `VARIANT`: Variable-length string type.
type: string
name:
description: Column name.
type: string
type:
description: |
Reference type for programming languages (inferred).
- `string`: String type.
- `int64`: Integer type.
- `float64`: Floating-point type.
- `Time`: DateTime type.
- `bool`: Boolean type.
type: string
type: object
type: array
fileSize:
description: File size of the file downloadable from `url`.
type: integer
rowCount:
description: Number of data rows contained in the file downloadable from
`url`.
type: integer
sqlExecTime:
description: Time taken to execute the SQL query (seconds).
type: integer
sqlExportTime:
description: Time taken to export the SQL query result (seconds).
type: integer
status:
description: |
SQL query execution status.
- `STARTING`: SQL query execution started.
- `RUNNING`: SQL query is running (extracting data).
- `EXPORTING`: SQL query result is being exported.
- `COMPLETED`: SQL query completed. You can download files from `url`.
enum:
- STARTING
- RUNNING
- EXPORTING
- COMPLETED
type: string
uncompressedFileSize:
description: File size after decompressing the file downloadable from `url`.
type: integer
url:
description: URL for downloading the SQL query result file. Included only
when the SQL query is completed.
format: uri
type: string
usedExecCount:
description: Number of SQL queries executed this month.
type: integer
type: object
GetAnalysisSchemasResponse:
items:
properties:
columnInfo:
description: Table column information.
items:
properties:
databaseType:
description: |
Database data type.
- `TEXT`: String type.
- `FIXED`: Fixed-length string type.
- `REAL`: Floating-point type.
- `TIMESTAMP_TZ`: Timestamp type.
- `BOOLEAN`: Boolean type.
- `VARIANT`: Variable-length string type.
type: string
description:
description: Description of the column.
type: string
name:
description: Column name.
type: string
type:
description: |
Reference type for programming languages (inferred from the database data type).
- `string`: String type.
- `int64`: Integer type.
- `float64`: Floating-point type.
- `Time`: DateTime type.
- `bool`: Boolean type.
type: string
type: object
type: array
name:
description: Table name.
type: string
type: object
type: array
GetBillingHistoryResponse:
properties:
billList:
description: List of monthly bills.
items:
$ref: '#/components/schemas/MonthlyBill'
type: array
type: object
GetDefaultPermissionsResponse:
properties:
defaultPermissions:
type: string
type: object
GetExportedFileResponse:
properties:
status:
description: |
Export status.
- `processing`: Export is in progress. Please wait.
- `exported`: Export has completed. The file is ready for download.
- `failed`: Export has failed.
enum:
- processing
- exported
- failed
type: string
url:
description: |
File download URL. Verify that the `status` is `exported`, then download the CSV file from the URL obtained from `url`.
```bash
$ wget -O export.csv "https://soracom-xxxxxxxx-...."
```
type: string
type: object
GetLatestBill:
properties:
amount:
description: Amount of bills.
format: double
type: number
currency:
description: Currency of bills.
enum:
- JPY
- USD
- EUR
type: string
lastEvaluatedTime:
description: Date and time when calculated.
example: yyyyMMddHHmmss
type: string
type: object
GetOperatorResponse:
properties:
createDate:
type: string
description:
type: string
email:
type: string
operatorId:
type: string
rootOperatorId:
type: string
updateDate:
type: string
required:
- createDate
- description
- email
- operatorId
- rootOperatorId
- updateDate
type: object
GetOrderResponse:
properties:
appliedShippingOptions:
description: Applied shipping options.
items:
type: object
type: array
balanceDue:
description: Balance due.
format: double
type: number
containsTaxIncludedAmounts:
type: boolean
currency:
description: Currency.
enum:
- JPY
- USD
- EUR
type: string
email:
description: Email address.
type: string
orderChannel:
description: Order channel.
type: string
orderDateTime:
description: Order date and time (yyyyMMddHHmmss).
format: yyyyMMddHHmmss
type: string
orderId:
description: Order ID.
type: string
orderItemList:
description: Order item list.
items:
$ref: '#/components/schemas/EstimatedOrderItemModel'
type: array
orderStatus:
description: |
Order status. For details, please refer to [Where is my order?](https://support.soracom.io/hc/en-us/articles/19543496440345).
- `orderProcessing`: New order (pending payment).
- `ordering`: New order (payment in progress).
- `ordered`: New order (payment completed).
- `kitting`: Preparing shipment.
- `shipped`: Shipped.
- `receiving`: Receiving.
- `received`: Received.
- `cancelling`: Cancelling.
- `cancelled`: Cancelled.
- `failed`: Failed.
enum:
- orderProcessing
- ordering
- ordered
- kitting
- shipped
- receiving
- received
- cancelling
- cancelled
- failed
type: string
paymentStatus:
description: |
Latest payment status. For details, please refer to [Payment status of usage charges](https://support.soracom.io/hc/en-us/articles/360029337031).
- `lessThanMinimumCharge`: Will be billed in the next month or later. (due to less than minimum charge.)
- `paying`: Payment in progress.
- `paid`: Paid.
- `fail`: Process failed.
- `refunding`: Refund in progress.
- `refunded`: Refunded.
- `refund_fail`: Refund failed.
- `delegating_to_third_party`: Delegating receivables.
- `delegated_to_third_party`: Delegated.
- `charging`: Charging in progress.
- `canceling`: Canceling.
- `cancelled`: Cancelled.
- `cancel_failed`: Failed to cancel.
enum:
- lessThanMinimumCharge
- paying
- paid
- fail
- refunding
- refunded
- refund_fail
- delegating_to_third_party
- delegated_to_third_party
- charging
- canceling
- cancelled
- cancel_failed
type: string
preferredDeliveryDate:
description: Preferred delivery date.
type: string
purchaseOrderNumber:
description: Purchase order number.
type: string
resourceInitialSetting:
$ref: '#/components/schemas/ResourceInitialSetting'
shippingAddress:
$ref: '#/components/schemas/ShippingAddressModel'
shippingAddressId:
description: Shipping address ID.
type: string
shippingCost:
description: Shipping cost.
format: double
type: number
shippingDateTime:
description: Shipping date and time (yyyyMMddHHmmss).
example: 20231004123456
format: yyyyMMddHHmmss
type: string
shippingLabelDetails:
description: Shipping label details.
items:
$ref: '#/components/schemas/ShippingLabelDetail'
type: array
shippingLabelNumber:
description: Shipping label number (representative).
example: 0000-1111-2222
type: string
shippingLabelNumbers:
description: Shipping label numbers.
example:
- 0000-1111-2222
items:
type: string
type: array
taxAmount:
description: Tax amount.
format: double
type: number
taxIncludedInShippingCost:
description: Tax included in shipping cost.
format: double
type: number
taxOnShippingCost:
description: Whether shipping cost is taxable.
type: boolean
totalAmount:
description: Total amount.
format: double
type: number
withholdingTaxAmount:
description: Withholding tax amount.
format: double
type: number
type: object
GetPaymentMethodResult:
properties:
errorCode:
description: Error code (only if payment information is invalid)
enum:
- success
- processing
- invalid_request
- invalid_number
- incorrect_number
- invalid_name
- invalid_expiry_month
- invalid_expiry_year
- invalid_expiry
- incorrect_expiry
- invalid_cvc
- incorrect_cvc
- card_declined
- missing
- processing_error
type: string
errorMessage:
description: Error message (only if payment information is invalid)
type: string
properties:
description: Payment information
type: string
providerType:
description: Provider type
enum:
- WebPay
type: string
updateDate:
description: Update date
example: yyyyMMddHHmmss
type: string
type: object
GetPaymentTransactionResult:
properties:
amount:
$ref: '#/components/schemas/PaymentAmount'
description: Billing amount
description:
$ref: '#/components/schemas/PaymentDescription'
description: Billing description
message:
description: Message
type: string
messageCode:
description: Message code
enum:
- success
- processing
- invalid_request
- invalid_number
- incorrect_number
- invalid_name
- invalid_expiry_month
- invalid_expiry_year
- invalid_expiry
- incorrect_expiry
- invalid_cvc
- incorrect_cvc
- card_declined
- missing
- processing_error
type: string
status:
description: Status
enum:
- success
- error
type: string
type: object
GetShippingAddressResponse:
properties:
addressLine1:
type: string
addressLine2:
type: string
building:
type: string
city:
type: string
companyName:
type: string
department:
type: string
fullName:
type: string
phoneNumber:
type: string
shippingAddressId:
description: ID of shipping address.
type: string
shippingArea:
description: Shipping area.
type: string
state:
type: string
zipCode:
type: string
required:
- addressLine1
- city
- phoneNumber
- shippingAddressId
- shippingArea
- state
- zipCode
type: object
GetUserPasswordResponse:
properties:
hasPassword:
type: boolean
type: object
GetUserPermissionResponse:
properties:
permission:
description: JSON string of permissions
type: string
required:
- permission
type: object
GetUserTrustPolicyResponse:
properties:
trustPolicy:
description: |
Trust policy that specifies which operator(s) or user(s) are allowed to switch to this SAM user. It includes the following information:
- SRN (Soracom Resource Name) representing the user of another account who is allowed to switch to this SAM user.
- Conditions where switching is allowed.
For details, please refer to [trust policy syntax](https://users.soracom.io/ja-jp/docs/switch-user/trust-policy/) (Japanese).
type: string
type: object
GetVolumeDiscountResponse:
properties:
contractDateTime:
description: Contract date time.
example: yyyyMMddHHmmss
type: string
contractId:
description: Contract ID.
type: string
contractTermMonth:
default: 12
description: Contract months.
format: int32
type: integer
currency:
description: Currency.
enum:
- JPY
- USD
- EUR
type: string
endDate:
description: End date.
example: yyyyMMdd
type: string
initialCost:
description: Initial cost.
format: double
type: number
quantity:
description: Quantity.
format: int32
type: integer
startDate:
description: Start date.
example: yyyyMMdd
type: string
status:
description: Status.
enum:
- active
- expired
type: string
unitPrice:
description: Unit price.
format: double
type: number
volumeDiscountPaymentType:
description: Payment type.
enum:
- MONTHLY
- PREPAYMENT
type: string
volumeDiscountType:
description: Long term discount type.
enum:
- SORACOM_AIR_BASIC_CHARGE_V2
- SORACOM_AIR_BASIC_CHARGE
- SORACOM_AIR_MONTHLY_FIXED_BASIC_CHARGE
type: string
type: object
Group:
properties:
configuration:
$ref: '#/components/schemas/GroupConfiguration'
createdTime:
format: int64
type: integer
groupId:
type: string
lastModifiedTime:
format: int64
type: integer
operatorId:
type: string
tags:
$ref: '#/components/schemas/TagSet'
type: object
GroupConfiguration:
additionalProperties:
type: object
type: object
GroupConfigurationUpdateRequest:
properties:
key:
type: string
value: {}
required:
- key
- value
type: object
HarvestExportedDataStatsResponse:
properties:
exportedBytes:
description: exportedBytes
type: integer
yearMonth:
description: yearMonth
type: string
type: object
HarvestStatsResponse:
properties:
harvestStatsMap:
additionalProperties:
$ref: '#/components/schemas/SoracomHarvestStats'
type: object
unixtime:
format: int64
type: integer
type: object
ImeiLock:
description: IMEI lock configuration.
properties:
imei:
description: IMEI of the target device
type: string
type: object
IndividualInformationModel:
properties:
addressLine1:
type: string
addressLine2:
type: string
building:
type: string
city:
type: string
countryCode:
type: string
fullName:
type: string
phoneNumber:
type: string
state:
type: string
zipCode:
type: string
required:
- fullName
- countryCode
- zipCode
- phoneNumber
type: object
Insight:
properties:
anomalyDetectedTimes:
description: Times that possible anomaly behaviors were detected. The format
depends on the timestamp of events relating to the category. (e.g., UNIX
time in milliseconds for session category)
items:
type: string
type: array
category:
enum:
- data
- session
- sim
- others
- unknown
type: string
insightId:
type: string
message:
type: string
referenceUrls:
description: Reference URLs that is related to the insight.
items:
$ref: '#/components/schemas/ReferenceUrl'
type: array
severity:
enum:
- error
- warning
- info
- none
- unknown
type: string
required:
- insightId
- message
- category
- severity
type: object
IpAddressMapEntry:
properties:
hostId:
description: (Deprecated) Use the value of `key` instead.
type: string
ipAddress:
description: |
IP address assigned to the entity identified by the `key`, which can be an IoT SIM, a Gate Peer, or the VPG itself.
- To specify the IP address of an IoT SIM, use the [VirtualPrivateGateway:putVirtualPrivateGatewayIpAddressMapEntry API](#/VirtualPrivateGateway/putVirtualPrivateGatewayIpAddressMapEntry).
- To specify the IP address of a Gate Peer (*1), use the [VirtualPrivateGateway:registerGatePeer API](#/VirtualPrivateGateway/registerGatePeer).
- IP addresses of a VPG (*1) cannot be manually set.
(*1) The IP address must be within the device subnet range (an "inner IP address").
type: string
key:
description: |
Identifier of the entity in the IP address map. This can be an IoT SIM, a Gate Peer, or the VPG.
- For an IoT SIM: The IMSI of the SIM to be assigned an IP address.
- For a Gate Peers: The IP address (*1).
- For the VPG: The IP address (*1).
(*1) The IP address must be within the device subnet range (an "inner IP address").
type: string
lastUpdatedAt:
type: integer
type:
description: |
Indicates how the IP address was assigned. One of the following:
- `static`: A statically assigned IP address specified in the IP address map.
- `dynamic`: An IP address automatically assigned by the VPG.
- `customerGatePeer`: An IP address of a customer-managed Gate Peer.
- `gatePeer`: An IP address of the VPG.
(*1) The IP address must be within the device subnet range (an "inner IP address").
enum:
- static
- dynamic
- customerGatePeer
- gatePeer
type: string
required:
- ipAddress
- hostId
- key
- type
type: object
IssueAddEmailTokenRequest:
properties:
email:
description: Email address to be added. Please enter a valid email address
format (e.g., user@example.com).
type: string
password:
description: Password of the root user. Required for authentication.
type: string
required:
- email
- password
type: object
IssuePasswordResetTokenRequest:
properties:
email:
type: string
required:
- email
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
IssueSubscriberTransferTokenResponse:
properties:
token:
description: Transfer token.
example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
type: string
required:
- token
type: object
JunctionInspectionConfiguration:
properties:
enabled:
default: false
type: boolean
report:
$ref: '#/components/schemas/FunnelConfiguration'
type: object
JunctionMirroringConfiguration:
properties:
peers:
additionalProperties:
$ref: '#/components/schemas/JunctionMirroringPeer'
type: object
type: object
JunctionMirroringPeer:
properties:
description:
type: string
enabled:
default: false
type: boolean
ipAddress:
type: string
protocol:
enum:
- gre
type: string
type: object
JunctionRedirectionConfiguration:
properties:
description:
type: string
enabled:
type: boolean
gateway:
type: string
type: object
LagoonLicensePackStatusResponse:
properties:
licensePackName:
type: string
quantity:
format: int32
type: integer
type: object
LagoonLicensePacksUpdatingRequest:
properties:
licensePackQuantities:
items:
properties:
desiredQuantity:
format: int32
type: integer
licensePackName:
description: |
Specify the license packs for which you want to update the number.
- `basicUser`: User License Pack.
- `basicDashboard`: Dashboard License Pack.
enum:
- basicUser
- basicDashboard
type: string
type: object
type: array
type: object
LagoonPlanChangingRequest:
properties:
plan:
enum:
- maker
- pro
- free
type: string
type: object
LagoonRegistrationRequest:
properties:
plan:
enum:
- free
- maker
- pro
type: string
userPassword:
description: This password is used by the initial user's login.
type: string
type: object
LagoonRegistrationResponse:
properties:
lagoonUserEmail:
description: This email address is used on login with the initial user.
type: string
type: object
LagoonUser:
properties:
email:
description: This value used on login.
type: string
id:
type: number
lastSeenAt:
description: The last login datetime.
type: string
lastSeenAtAge:
description: The last login datetime as age.
type: string
role:
description: A role that represents the permission.
enum:
- Viewer
- Editor
type: string
type: object
LagoonUserCreationRequest:
properties:
role:
description: A role that represents the permission.
enum:
- Viewer
- Editor
type: string
userEmail:
type: string
userPassword:
type: string
type: object
LagoonUserCreationResponse:
properties:
id:
description: Lagoon user ID assigned to the created user.
type: integer
type: object
LagoonUserEmailUpdatingRequest:
properties:
userEmail:
type: string
type: object
LagoonUserPasswordUpdatingRequest:
properties:
newPassword:
type: string
oldPassword:
type: string
type: object
LagoonUserPermissionUpdatingRequest:
properties:
role:
description: A role that represents the permission.
enum:
- Viewer
- Editor
type: string
type: object
LastSeen:
properties:
rssi:
format: int32
type: integer
snr:
format: int32
type: integer
time:
format: date-time
type: string
type: object
ListCouponResponse:
properties:
couponList:
description: Coupons
items:
$ref: '#/components/schemas/CouponResponse'
type: array
type: object
ListOrderResponse:
properties:
orderList:
description: List of confirmed orders.
items:
$ref: '#/components/schemas/GetOrderResponse'
type: array
type: object
ListOrderedSubscriberResponse:
properties:
orderedSubscriberList:
description: List of ordered SIMs.
items:
$ref: '#/components/schemas/OrderedSubscriber'
type: array
type: object
ListPaymentStatementResponse:
properties:
paymentStatementsList:
description: Payment statements.
items:
$ref: '#/components/schemas/PaymentStatementResponse'
type: array
type: object
ListProductResponse:
properties:
productList:
items:
$ref: '#/components/schemas/ProductModel'
type: array
shippingCostList:
items:
$ref: '#/components/schemas/ShippingCostModel'
type: array
type: object
ListRolesResponse:
properties:
createDateTime:
description: The creation date and time of the role (UNIX time in seconds).
example: 1722480500
format: int64
type: integer
description:
description: The description of the role.
example: This is my role
type: string
owner:
description: |
The type of the role. It can be one of the following:
- soracom: Soracom managed role
- operator: Operator managed role
enum:
- operator
- soracom
type: string
roleId:
description: The role ID. If the role is a Soracom managed role, it will
be in SRN (Soracom Resource Name) format.
example: my-role
type: string
roleName:
description: The role name. If the role is an operator managed role, it
will be the same as `roleId`. If the role is a Soracom managed role, it
will be the resource ID part of the SRN.
example: my-role
type: string
updateDateTime:
description: The update date and time of the role (UNIX time in seconds).
example: 1722480600
format: int64
type: integer
required:
- createDateTime
- roleId
- updateDateTime
type: object
ListShippingAddressResponse:
properties:
shippingAddresses:
items:
$ref: '#/components/schemas/GetShippingAddressResponse'
type: array
type: object
ListVolumeDiscountResponse:
properties:
volumeDiscountList:
description: Contracted long term discounts.
items:
$ref: '#/components/schemas/GetVolumeDiscountResponse'
type: array
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
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
LogEntry:
properties:
body:
description: The error log.
type: object
logLevel:
description: The log level.
enum:
- debug
- error
- warning
- info
type: string
operatorId:
description: The operator ID.
type: string
resourceId:
description: |
The resource ID. It varies according to `resourceType`.
- When the `resourceType` is `Subscriber`, the resource ID is the subscriber's IMSI.
- When the `resourceType` is `Device`, the resource ID is the device's Inventory Device ID.
- When the `resourceType` is `LoraDevice`, the resource ID is the device's LoRaWAN Device ID.
- When the `resourceType` is `SigfoxDevice`, the resource ID is the device's Sigfox Device ID.
type: string
resourceType:
description: The resource type.
enum:
- Subscriber
- Device
- LoraDevice
- SigfoxDevice
type: string
service:
description: |
The service name from which the error log was output.
- `Air`: SORACOM Air
- `Beam`: SORACOM Beam
- `Funk`: SORACOM Funk
- `Funnel`: SORACOM Funnel
- `Harvest`: SORACOM Harvest Data/Files
- `Napter`: SORACOM Napter
- `Orbit`: SORACOM Orbit
- `Unified`: Unified Endpoint
enum:
- Air
- Beam
- Funk
- Funnel
- Harvest
- Napter
- Orbit
- Unified
type: string
time:
description: UNIX time (milliseconds).
format: int64
type: integer
type: object
LoraData:
properties:
data:
type: string
fPort:
default: 2
type: integer
type: object
LoraDevice:
properties:
device_id:
type: string
groupId:
type: string
lastModifiedTime:
format: date-time
type: string
lastSeen:
$ref: '#/components/schemas/LastSeen'
operatorId:
type: string
status:
enum:
- active
- ready
- terminated
- instock
type: string
tags:
additionalProperties:
type: string
type: object
terminationEnabled:
default: false
type: boolean
type: object
LoraGateway:
properties:
address:
type: string
createdTime:
format: date-time
type: string
gatewayId:
type: string
lastModifiedTime:
format: date-time
type: string
networkSetId:
type: string
online:
default: false
type: boolean
operatorId:
type: string
owned:
default: false
type: boolean
status:
enum:
- active
- terminated
- ready
- instock
type: string
tags:
additionalProperties:
type: string
type: object
terminationEnabled:
default: false
type: boolean
type: object
LoraNetworkSet:
properties:
allowedOperators:
items:
type: string
type: array
uniqueItems: true
createdTime:
format: date-time
type: string
lastModifiedTime:
format: date-time
type: string
networkSetId:
type: string
operatorId:
type: string
tags:
additionalProperties:
type: string
type: object
type: object
MFAAuthenticationRequest:
properties:
mfaOTPCode:
type: string
type: object
MFAIssueRevokingTokenRequest:
properties:
email:
type: string
password:
type: string
type: object
MFARevokeRequest:
properties:
password:
description: Root user's password.
type: string
required:
- password
type: object
MFARevokingTokenVerifyRequest:
properties:
backupCode:
type: string
email:
type: string
password:
type: string
token:
type: string
type: object
MFAStatusOfUseResponse:
properties:
status:
type: string
type: object
Map:
additionalProperties:
type: string
type: object
MonthlyBill:
properties:
amount:
description: Amount of monthly bills.
format: double
type: number
appliedCouponAmount:
description: Amount of coupon applied.
format: double
type: number
currency:
description: Currency of bills.
enum:
- JPY
- USD
- EUR
type: string
paymentStatus:
description: |
Latest payment status. For details, please refer to [Payment status of usage charges](https://support.soracom.io/hc/en-us/articles/360029337031).
- `lessThanMinimumCharge`: Will be billed in the next month or later. (due to less than minimum charge)
- `paying`: Payment in progress
- `paid`: Paid
- `fail`: Process failed
- `refunding`: Refund in progress
- `refunded`: Refunded
- `refund_fail`: Refund failed
- `delegating_to_third_party`: Delegating receivables
- `delegated_to_third_party`: Delegated
- `charging`: Charging in progress
- `canceling`: Canceling
- `cancelled`: Cancelled
- `cancel_failed`: Failed to cancel
enum:
- lessThanMinimumCharge
- paying
- paid
- fail
- refunding
- refunded
- refund_fail
- delegating_to_third_party
- delegated_to_third_party
- charging
- canceling
- cancelled
- cancel_failed
type: string
paymentTransactionId:
description: Transaction ID. Call [Payment:getPaymentTransaction API](#!/Payment/getPaymentTransaction)
with this ID to get detail of payment.
type: string
state:
description: |
Aggregation status of the billing
- `temporary`: Aggregating
- `closed`: Confirmed
enum:
- temporary
- closed
type: string
yearMonth:
description: Year and month.
format: yyyyMM
type: string
type: object
NapterAuditLogDirection:
properties:
destinationIPAddress:
type: string
destinationPort:
format: int64
type: integer
sourceIPAddress:
type: string
sourcePort:
format: int64
type: integer
type: object
NapterAuditLogEntry:
properties:
connectionId:
type: string
createdAt:
format: int64
type: integer
direction:
$ref: '#/components/schemas/NapterAuditLogDirection'
imsi:
type: string
operatorId:
type: string
tls:
type: boolean
type:
enum:
- ACCESS
- DENIED
- CONNECTED
- CLOSED
- REFUSED
- CREATED
- DELETED
- EXPIRED
type: string
type: object
NapterAuditLogsExportedDataStatsResponse:
properties:
exportedBytes:
description: exportedBytes
type: integer
yearMonth:
description: yearMonth
type: string
type: object
ObjectInstance:
properties:
id:
format: int32
type: integer
observed:
default: false
type: boolean
resources:
additionalProperties:
$ref: '#/components/schemas/ResourceInstance'
type: object
type: object
OpenGateRequest:
properties:
privacySeparatorEnabled:
default: false
type: boolean
vxlanId:
default: 10
format: int32
type: integer
type: object
OperatorConfigurationModel:
properties:
configuration:
oneOf:
- $ref: '#/components/schemas/OperatorConfigurationOfEmail'
- $ref: '#/components/schemas/OperatorConfigurationOfSupport'
- $ref: '#/components/schemas/OperatorConfigurationOfUserConsole'
isModifiable:
description: If false, the operator configuration cannot be updated by setOperatorConfigurationNamespace
API.
type: boolean
namespace:
description: Each namespace has its own configuration. See configuration
parameter for details.
enum:
- Support
- Email
type: string
version:
description: The version of this configuration.
type: number
type: object
OperatorConfigurationOfEmail:
properties:
billing:
$ref: '#/components/schemas/EmailConfigurationOfBilling'
notification:
$ref: '#/components/schemas/EmailConfigurationOfNotification'
type: object
OperatorConfigurationOfSupport:
properties:
paymentCoverage:
allOf:
- $ref: '#/components/schemas/CoverageType'
description: Coverage type that pays for the support fee.
tier:
allOf:
- $ref: '#/components/schemas/SupportTier'
description: Current support tier.
upcomingTier:
allOf:
- $ref: '#/components/schemas/SupportTier'
description: Support tier that will be applied for the next month. If the
value is null, the current tier will continue for the next month.
type: object
OperatorConfigurationOfUserConsole:
properties:
usageMetricsAcknowledged:
description: This setting is to check if an operator has acknowledged and
had the chance to opt-out of usage metrics collection. Usage metrics includes
information such as page views and performance statistics.
type: boolean
usageMetricsDisabled:
description: The setting whether to disable usage metrics collection for
an operator of the User Console. Usage metrics includes information such
as page views and performance statistics.
type: boolean
type: object
OperatorMFAVerifyingResponse:
properties:
backupCodes:
items:
type: string
type: array
type: object
OrderItemModel:
properties:
productCode:
description: Product code.
type: string
quantity:
description: Quantity.
format: int32
type: integer
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
OrderedSubscriber:
properties:
bundles:
description: Bundle.
items:
type: string
type: array
deviceSerialNumber:
description: Serial number of Device.
type: string
eiccid:
description: eICCID.
type: string
iccid:
description: ICCID.
type: string
imsi:
description: IMSI.
type: string
msisdn:
description: MSISDN.
type: string
serialNumber:
description: Serial number of IoT SIM.
type: string
simId:
description: SIM ID.
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
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
PaymentAmount:
description: Payment amount.
properties:
currency:
description: Currency.
enum:
- JPY
- USD
- EUR
type: string
paymentAmount:
type: number
subTotalAmount:
type: number
taxAmount:
description: Tax amount.
format: double
type: number
taxFreeSubTotalAmount:
description: Tax free sub total amount.
format: double
type: number
taxRate:
type: object
taxableSubTotalAmount:
description: Taxable sub total amount.
format: double
type: number
totalAmount:
description: Total amount (tax included).
format: double
type: number
withholdingTaxAmount:
description: Withholding tax amount.
format: double
type: number
type: object
PaymentDescription:
description: Payment description.
properties:
description:
type: string
itemList:
items:
type: string
type: array
type: object
PaymentStatementResponse:
properties:
amount:
description: Amount.
format: double
type: number
chargedYearMonths:
description: A list of months of usage included in this billing. If the
billing is not for monthly charges, this field is omitted. If the monthly
charge is less than a certain amount, it may be carried over to the next
month. In such cases, this field may include multiple months.
items:
type: string
type: array
currency:
description: Currency.
enum:
- JPY
- USD
- EUR
type: string
orderId:
description: Order ID. If the billing is not an order, this field is omitted.
type: string
paymentDateTime:
description: Payment date time.
format: int64
type: integer
paymentInstrument:
description: Payment instrument.
type: string
paymentMethod:
description: Payment method.
type: string
paymentStatementId:
description: Payment statement ID.
type: string
paymentStatementInfo:
description: Payment statement information
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
PortMapping:
properties:
createdTime:
description: The UNIX time (in milliseconds) when the On-Demand Remote Access
entry was created.
format: int64
type: integer
destination:
$ref: '#/components/schemas/PortMappingDestination'
duration:
description: The duration (in seconds) to maintain the On-Demand Remote
Access entry.
type: number
endpoint:
description: The endpoint (IP address and port number) of the On-Demand
Remote Access entry.
type: string
expired:
type: boolean
expiredTime:
description: The date and time (UNIX time in milliseconds) when the On-Demand
Remote Access entry will be automatically deleted.
format: int64
type: integer
hostname:
description: The hostname of the On-Demand Remote Access entry.
type: string
imsi:
description: |
IMSI. Included only when `destination.destinationChoosingStrategy` is `IMSI_PRIORITIZED`.
type: string
ipAddress:
description: The IP address of the On-Demand Remote Access entry.
type: string
operatorId:
description: The operator ID.
type: string
placement:
description: |
Rendezvous point.
- `default`: The default rendezvous point. Tokyo (Japan) for Japan coverage, Frankfurt (Germany) for global coverage.
- `aws:ap-northeast-1`: Tokyo (Japan).
- `aws:eu-central-1`: Frankfurt (Germany).
- `aws:us-west-2`: Oregon (USA).
- `aws:ap-southeast-2`: Sydney (Australia).
type: string
port:
description: The port number of the On-Demand Remote Access entry.
type: number
simId:
description: |
SIM ID. Included only when `destination.destinationChoosingStrategy` is not `IMSI_PRIORITIZED`.
type: string
source:
$ref: '#/components/schemas/PortMappingSource'
tlsRequired:
description: |
Whether to encrypt the connection from the source to Soracom using TLS.
- `true`: Encrypt using TLS. Specify this if the device is listening on HTTP.
- `false`: Do not use TLS. Specify this when connecting to the device via SSH or if the device is listening on HTTPS. Note that communication from the source to the device is encrypted in SSH and HTTPS.
type: boolean
type: object
PortMappingDestination:
description: |
When creating an On-Demand Remote Access entry, you must specify either `imsi` or `simId`.
properties:
destinationChoosingStrategy:
description: |
A string indicating how the On-Demand Remote Access was created. Ignored at creation time.
- `AIR_PRIORITIZED`: On-Demand Remote Access created by specifying SIM ID and setting `service` to `air`.
- `ARC_PRIORITIZED`: On-Demand Remote Access created by specifying SIM ID and setting `service` to `arc`.
- `DYNAMIC`: On-Demand Remote Access created by specifying only SIM ID.
Online subscribers' sessions will be the target for creating an On-Demand Remote Access entry. If multiple online subscriber sessions exist (for example, both Soracom Air and Soracom Arc sessions are online), it is not guaranteed which will be used to create the On-Demand Remote Access entry.
- `IMSI_PRIORITIZED`: On-Demand Remote Access created by specifying IMSI.
enum:
- AIR_PRIORITIZED
- ARC_PRIORITIZED
- DYNAMIC
- IMSI_PRIORITIZED
type: string
imsi:
description: |
IMSI. If `simId` is specified when creating an On-Demand Remote Access entry, `imsi` will be ignored.
type: string
port:
description: The port number on the device using IoT SIM or virtual SIM/Subscriber,
waiting for connection.
type: number
service:
description: |
The target for creating an On-Demand Remote Access entry. Valid when `simId` is specified.
- `air`: Target Soracom Air subscribers' sessions that are online.
- `arc`: Target Soracom Arc virtual SIM/Subscriber.
**Warning**: If `service` is omitted, online subscriber sessions will be the target for creating an On-Demand Remote Access entry. If multiple online subscriber sessions exist (e.g., both Soracom Air and Soracom Arc sessions are online), it is not guaranteed which session will be used. Please specify either `air` or `arc`.
**Warning**: This property is required when creating an On-Demand Remote Access entry. It will not be included in the response.
enum:
- air
- arc
type: string
simId:
description: |
SIM ID. When specifying `simId` for creating an On-Demand Remote Access entry, also specify `service`. Note that if `simId` is specified, `imsi` will be ignored.
type: string
required:
- port
type: object
PortMappingDestinationForSim:
description: |
Information about the destination when creating an On-Demand Remote Access entry.
properties:
port:
description: The port number on the device using IoT SIM or virtual SIM,
waiting for connection.
type: number
service:
description: |
The target for creating an On-Demand Remote Access entry.
- `air`: Target Soracom Air subscribers' sessions that are online.
- `arc`: Target Soracom Arc virtual SIM.
**Warning**: If `service` is omitted, online subscriber sessions will be the target for creating an On-Demand Remote Access entry. If multiple online subscriber sessions exist (e.g., both Soracom Air and Soracom Arc sessions are online), it is not guaranteed which session will be used. Please specify either `air` or `arc`.
**Warning**: This property is required when creating an On-Demand Remote Access entry. It will not be included in the response.
enum:
- air
- arc
type: string
required:
- port
type: object
PortMappingSource:
properties:
ipRanges:
description: |
The IP address ranges (in CIDR notation) allowed to access the On-Demand Remote Access. Specify global IP addresses. Only devices from IP addresses within the specified ranges will be able to access the device remotely.
items:
type: string
type: array
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
PriceByQuantity:
properties:
minQuantity:
description: Min quantity.
format: int32
type: integer
price:
description: Price.
format: double
type: number
taxIncludedPrice:
description: Tax Included price.
format: double
type: number
type: object
ProductModel:
description: Product.
properties:
campaignCode:
description: Campaign code.
type: string
consignorId:
description: Consignor ID.
type: string
consignorName:
description: Consignor name.
type: string
count:
description: Count.
format: double
type: number
currency:
description: Currency.
enum:
- JPY
- USD
- EUR
type: string
description:
description: Product Description.
type: string
maxQuantity:
description: Max quantity.
format: int32
type: integer
price:
description: Price.
format: double
type: number
priceByQuantityList:
description: Price List by Quantity.
items:
$ref: '#/components/schemas/PriceByQuantity'
type: array
productCode:
description: Product code.
type: string
productInfoURL:
description: URL of product page.
type: string
productName:
description: Product name.
type: string
productType:
description: Product type.
enum:
- sim
- lora
- sigfox
- network_module
- misc
type: string
properties:
additionalProperties:
type: string
description: Properties.
type: object
regularPrice:
description: Regular price.
format: double
type: number
taxIncludedPrice:
description: Tax Included price.
format: double
type: number
taxIncludedRegularPrice:
description: Tax included regular price.
format: double
type: number
termsOfConsignorURL:
description: The URL of terms of conditions for the consignor product.
type: string
termsOfSolutionName:
description: The name of terms and conditions for the solution.
type: string
termsOfSolutionURL:
description: The URL of terms and conditions for the solution.
type: string
type: object
PutIpAddressMapEntryRequest:
properties:
ipAddress:
description: IP address to assign to the specified `key`.
type: string
key:
description: IMSI of the IoT SIM to assign the fixed IP address to.
type: string
required:
- key
- ipAddress
type: object
PutSimBasedRoutingRoutesRequest:
additionalProperties:
type: string
description: Association a router's LAN IP address range and its SIM ID.
example:
YOUR_SIM_ID_1: 192.0.2.0/24
YOUR_SIM_ID_2: 192.0.2.128/25
type: object
ReferenceUrl:
properties:
title:
type: string
url:
type: string
type: object
RegisterGatePeerRequest:
properties:
innerIpAddress:
description: An IP address within the device subnet range (inner IP address).
type: string
outerIpAddress:
type: string
required:
- outerIpAddress
type: object
RegisterLoraDeviceRequest:
properties:
groupId:
type: string
registrationSecret:
type: string
tags:
additionalProperties:
type: string
type: object
type: object
RegisterPayerInformationModel:
properties:
companyName:
description: Company name
type: string
department:
description: Department.
type: string
fullName:
description: Full name.
type: string
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
RegisterSubscribersRequest:
properties:
groupId:
type: string
registrationSecret:
description: PUK or PASSCODE for SIM.
type: string
tags:
$ref: '#/components/schemas/TagSet'
required:
- registrationSecret
type: object
ResourceInitialSetting:
description: Initial setting for the resource.
properties:
simInitialSettings:
additionalProperties:
$ref: '#/components/schemas/SimInitialSetting'
description: |
Initial setting of SIMs for each subscription. The key specifies a subscription.
- `plan01s`
- `plan01s-low_data_volume`: plan01s - Low Data Volume.
- `planX3`: planX3 (X3-5MB).
- `planP1`
- `plan-D`: plan-D (without bundle), plan-D (D-300MB).
- `plan-K2`: plan-K2 (K2-300MB).
- `plan-DU`
- `plan-KM1`
- `plan-K`
- `plan-US`
example:
plan01s:
groupId: 00000000-1111-2222-3333-444444444444
speedClass: s1.4xfast
tags:
date: 20221111
location: headquarters
type: object
type: object
ResourceInstance:
properties:
description:
type: string
id:
format: int32
type: integer
mandatory:
default: false
type: boolean
multiple:
default: false
type: boolean
name:
type: string
observed:
default: false
type: boolean
operations:
enum:
- NONE
- R
- W
- RW
- E
- RE
- WE
- RWE
type: string
rangeEnumeration:
type: string
type:
enum:
- STRING
- INTEGER
- FLOAT
- BOOLEAN
- OPAQUE
- TIME
- OBJLNK
type: string
units:
type: string
value:
type: object
values:
type: object
type: object
ResourceSummary:
properties:
resourceSummaryItems:
description: A list of resource summary items.
items:
$ref: '#/components/schemas/ResourceSummaryItem'
type: array
resourceSummaryType:
description: |
The type of the resource summary.
- `simsPerStatus`: The number of IoT SIMs per status.
example: simsPerStatus
type: string
type: object
ResourceSummaryItem:
properties:
dimensions:
description: A list of dimensions for the resource summary item.
example: []
items:
$ref: '#/components/schemas/ResourceSummaryItemDimension'
type: array
updatedTime:
description: The last updated time of the resource summary item (UNIX time
in milliseconds).
example: 1654007722000
format: int64
type: integer
values:
description: A list of values for the resource summary item.
items:
$ref: '#/components/schemas/ResourceSummaryItemValue'
type: array
type: object
ResourceSummaryItemDimension:
properties:
name:
description: The name of the resource summary item dimension.
type: string
value:
description: The value of the resource summary item dimension.
type: string
type: object
ResourceSummaryItemValue:
properties:
name:
description: |
The name of the resource summary item value.
- if `resourceSummaryType` is `simsPerStatus`:
- `readySims`: The number of IoT SIMs of which status is ready.
- `activeSims`: The number of IoT SIMs of which status is active.
- `inactiveSims`: The number of IoT SIMs of which status is inactive.
- `standbySims`: The number of IoT SIMs of which status is standby.
- `suspendedSims`: The number of IoT SIMs of which status is suspended.
example: activeSims
type: string
value:
description: The value of the resource summary item value.
example: 1
type: number
type: object
RoleResponse:
properties:
createDateTime:
description: The creation date and time of the role (UNIX time in seconds).
format: int64
type: integer
description:
description: The description of the role.
type: string
owner:
description: |
The type of the role. It can be one of the following:
- `operator`: Operator managed role
- `soracom`: Soracom managed role
enum:
- operator
- soracom
type: string
permission:
description: Permission as JSON.
type: string
roleId:
description: Role ID. For operator managed roles, this is the role ID specified
at creation. For Soracom managed roles, this will be in SRN (Soracom Resource
Name) format.
type: string
roleName:
description: Role name. For operator managed roles, this will be the same
as `roleId`. For Soracom managed roles, this will be the resource name
part of the SRN (e.g., `srn:soracom:::Role:[roleName]`).
example: my-role
type: string
updateDateTime:
description: The update date and time of the role (UNIX time in seconds).
format: int64
type: integer
type: object
RoleVersionResponse:
properties:
description:
description: The description of the Soracom managed role.
type: string
owner:
description: |
The type of the role.
- `soracom`: Soracom managed role
enum:
- operator
- soracom
type: string
permission:
description: Permission as JSON for the Soracom managed role.
type: string
publishDateTime:
description: The publish date and time of the Soracom managed role version
(UNIX time in seconds).
format: int64
type: integer
roleId:
description: SRN (Soracom Resource Name) format ID of the Soracom managed
role.
type: string
roleName:
description: Resource name part of the SRN (Soracom Resource Name) of the
Soracom managed role (e.g., `srn:soracom:::Role:[roleName]`).
example: my-role
type: string
version:
description: The version number of the Soracom managed role.
format: int64
type: integer
type: object
RoutingFilterEntry:
properties:
action:
description: Whether to allow or deny the outbound packets with a destination
in the specified range
enum:
- allow
- deny
type: string
ipRange:
description: IPv4 address range in CIDR format, e.g. a.b.c.d/x
type: string
required:
- action
- ipRange
type: object
RuleConfig:
properties:
properties:
$ref: '#/components/schemas/RuleConfigProperty'
type:
description: |
The type of rule. Set one of the following. The values that can be specified in `properties` vary depending on the type.
- `SubscriberFirstTrafficRule`: Execute when a subscriber's data traffic is recorded for the first time.
The properties that can be set in `properties` are as follows:
- `inactiveTimeoutDateConst` (required)
- `SubscriberDailyTrafficRule`: Execute when a subscriber's daily data traffic volume exceeds a certain limit.
The properties that can be set in `properties` are as follows:
- `limitTotalTrafficMegaByte` (required)
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinutes`
- `SubscriberMonthlyTrafficRule`: Execute when a subscriber's monthly data traffic volume exceeds a certain limit.
The properties that can be set in `properties` are as follows:
- `limitTotalTrafficMegaByte` (required)
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinutes`
- `SubscriberCumulativeTrafficRule`: Execute when the cumulative data traffic volume from the start of use of a subscriber exceeds a certain limit.
The properties that can be set in `properties` are as follows:
- `limitTotalTrafficMegaByte` (required)
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinutes`
- `SubscriberStatusAttributeRule`: Execute when a subscriber's status changes.
The properties that can be set in `properties` are as follows:
- `sourceStatus`
- `targetStatus`
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinute`
- `runOnceAmongTarget`
- `SimStatusAttributeRule`: Execute when the status of an IoT SIM changes.
The properties that can be set in `properties` are as follows:
- `sourceStatus`
- `targetStatus`
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinute`
- `runOnceAmongTarget`
- `SubscriberSpeedClassAttributeRule`: Execute when a subscriber's speed class changes.
The properties that can be set in `properties` are as follows:
- `targetSpeedClass`
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinutes`
- `runOnceAmongTarget`
- `SimSpeedClassAttributeRule`: Execute when the speed class of an IoT SIM changes.
The properties that can be set in `properties` are as follows:
- `targetSpeedClass`
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinutes`
- `runOnceAmongTarget`
- `SubscriberExpiredRule`: Execute when a subscriber's validity period expires.
The properties that can be set in `properties` are as follows:
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinutes`
- `runOnceAmongTarget`
- `SimExpiredRule`: Execute when the validity period of an IoT SIM expires.
The properties that can be set in `properties` are as follows:
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinutes`
- `runOnceAmongTarget`
- `SubscriberImeiMismatchedRule`: Execute when a subscriber fails to connect due to an IMEI lock.
The properties that can be set in `properties` are as follows:
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinutes`
- `runOnceAmongTarget`
- `SimImeiMismatchedRule`: Execute when an IoT SIM fails to connect due to an IMEI lock.
The properties that can be set in `properties` are as follows:
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinutes`
- `runOnceAmongTarget`
- `SimDailyTotalTrafficRule`: Execute when the total daily data traffic volume of all subscribers linked to an IoT SIM exceeds a certain limit.
The properties that can be set in `properties` are as follows:
- `limitTotalTrafficMegaByte` (required)
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinutes`
- `runOnceAmongTarget`
- `SimMonthlyTotalTrafficRule`: Execute when the total monthly data traffic volume of all subscribers linked to an IoT SIM exceeds a certain limit.
The properties that can be set in `properties` are as follows:
- `limitTotalTrafficMegaByte` (required)
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinutes`
- `runOnceAmongTarget`
- `SimCumulativeTotalTrafficRule`: Execute when the total cumulative data traffic volume from the start of use of all subscribers linked to an IoT SIM exceeds a certain limit.
The properties that can be set in `properties` are as follows:
- `limitTotalTrafficMegaByte` (required)
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinutes`
- `runOnceAmongTarget`
- `SimSubscriptionStatusRule`: Execute when a subscription is added to an IoT SIM.
The properties that can be set in `properties` are as follows:
- `targetOtaStatus`
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinutes`
- `runOnceAmongTarget`
- `DailyTotalTrafficRule`: Execute when the total daily data traffic volume of all IoT SIMs linked to a group/operator exceeds a certain limit.
The properties that can be set in `properties` are as follows:
- `limitTotalTrafficMegaByte` (required)
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinutes`
- `runOnceAmongTarget`
- `MonthlyTotalTrafficRule`: Execute when the total monthly data traffic volume of all IoT SIMs linked to a group/operator exceeds a certain limit.
The properties that can be set in `properties` are as follows:
- `limitTotalTrafficMegaByte` (required)
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinutes`
- `runOnceAmongTarget`
- `MonthlyChargeRule`: Execute when this month's usage fee exceeds a set amount.
The properties that can be set in `properties` are as follows:
- `limitTotalAmount` (required)
- `inactiveTimeoutDateConst` (required)
- `inactiveTimeoutOffsetMinutes`
enum:
- SubscriberFirstTrafficRule
- SubscriberDailyTrafficRule
- SubscriberMonthlyTrafficRule
- SubscriberCumulativeTrafficRule
- SubscriberStatusAttributeRule
- SimStatusAttributeRule
- SubscriberSpeedClassAttributeRule
- SimSpeedClassAttributeRule
- SubscriberExpiredRule
- SimExpiredRule
- SubscriberImeiMismatchedRule
- SimImeiMismatchedRule
- SimDailyTotalTrafficRule
- SimMonthlyTotalTrafficRule
- SimCumulativeTotalTrafficRule
- SimSubscriptionStatusRule
- DailyTotalTrafficRule
- MonthlyTotalTrafficRule
- MonthlyChargeRule
type: string
required:
- properties
- type
type: object
RuleConfigProperty:
properties:
inactiveTimeoutDateConst:
description: |
The timing for re-evaluation. For more details, refer to [Rule Parameters](/en/docs/air/event-handler/#rule-parameters). Specify one of the following, depending on the `type` value:
- For types `SubscriberDailyTrafficRule`, `SubscriberMonthlyTrafficRule`, `SubscriberCumulativeTrafficRule` (*1), `SimDailyTotalTrafficRule`, `SimMonthlyTotalTrafficRule`, `SimCumulativeTotalTrafficRule` (*1), `SimSubscriptionStatusRule`, `DailyTotalTrafficRule`, `MonthlyTotalTrafficRule`:
- `BEGINNING_OF_NEXT_MONTH`
- `BEGINNING_OF_NEXT_DAY`
- `AFTER_ONE_DAY`
- `NEVER`
(*1) Since cumulative data traffic volume does not reset, actions are repeatedly executed at re-evaluation timing after exceeding the threshold.
- For type `SubscriberFirstTrafficRule`:
- `NEVER`
- For types `SubscriberStatusAttributeRule`, `SubscriberSpeedClassAttributeRule`, `SubscriberExpiredRule`, `SubscriberImeiMismatchedRule`, `SimStatusAttributeRule`, `SimSpeedClassAttributeRule`, `SimExpiredRule`, `SimImeiMismatchedRule`, `MonthlyChargeRule`:
- `IMMEDIATELY`
- `BEGINNING_OF_NEXT_MONTH`
- `BEGINNING_OF_NEXT_DAY`
- `AFTER_ONE_DAY`
- `NEVER`
enum:
- IMMEDIATELY
- BEGINNING_OF_NEXT_MONTH
- BEGINNING_OF_NEXT_DAY
- AFTER_ONE_DAY
- NEVER
type: string
inactiveTimeoutOffsetMinutes:
description: |
Offset (in minutes) for rule re-evaluation. For more details, refer to [Rule Parameters](/en/docs/air/event-handler/#rule-parameters). The default is `0`. Specify an integer between `0` and `525600` as a string.
If `inactiveTimeoutDateConst` is set to `NEVER`, `inactiveTimeoutOffsetMinutes` cannot be specified.
type: string
limitTotalAmount:
description: |
The threshold for "this month's usage fees for the operator". The unit is yen (for Japan coverage) or USD (for global coverage). Specify an integer between `1` and `2147483647` as a string.
type: string
limitTotalTrafficMegaByte:
description: |
The threshold for data traffic volume. The unit is MiB. Specify an integer between `1` and `2147483647` as a string.
type: string
runOnceAmongTarget:
description: |
Do not re-execute until the timing for re-evaluation. For more details, refer to [Rule Parameters](/en/docs/air/event-handler/#rule-parameters).
enum:
- true
- false
type: string
sourceStatus:
description: |
The status of the IoT SIM before change. Specify one of the following when limiting the action execution to a specific pre-change status. If omitted, the action is executed when the status changes from any status.
- `ready`
- `active`
- `inactive`
- `standby`
- `suspended`
If both `sourceStatus` and `targetStatus` are omitted, the action is executed whenever the IoT SIM's status changes, regardless of the status.
enum:
- ready
- active
- inactive
- standby
- suspended
type: string
targetOtaStatus:
description: |
The post-change status of OTA. Specify when executing an action based on the limited OTA status.
- (Omitted): The action is executed when any status change occurs.
- `started`: The action is executed when OTA starts.
- `finished`: The action is executed when OTA is successfully completed.
- `failed`: The action is executed when OTA fails.
enum:
- started
- finished
- failed
type: string
targetSpeedClass:
description: |
The speed class after the change. Specify one of the following when limiting the action execution to a specific post-change speed class. If omitted, the action is executed when the speed class changes to any class.
- For plans plan01s, plan01s - Low Data Volume, planX3 (X3-5MB), planP1, plan-D (without bundle), plan-D (D-300MB), plan-K2 (K2-300MB), plan-K:
- `s1.minimum`
- `s1.slow`
- `s1.standard`
- `s1.fast`
- `s1.4xfast`
- For plan-US:
- `s1.minimum`
- `s1.slow`
- `s1.standard`
- `s1.fast`
- `s1.4xfast`
- `s1.8xfast`
- For plan-DU:
- `u1.standard`
- `u1.slow`
**Warning**: For plan-KM1 and virtual SIM/Subscriber, the speed class cannot be changed as there is only one type available.
enum:
- s1.minimum
- s1.slow
- s1.standard
- s1.fast
- s1.4xfast
- s1.8xfast
- u1.standard
- u1.slow
type: string
targetStatus:
description: |
The status of the IoT SIM after change. Specify one of the following when limiting the action execution to a specific post-change status. If omitted, the action is executed when the status changes to any status.
- `ready`
- `active`
- `inactive`
- `standby`
- `suspended`
- `terminated`
If both `sourceStatus` and `targetStatus` are omitted, the action is executed whenever the IoT SIM's status changes, regardless of the status.
enum:
- ready
- active
- inactive
- standby
- suspended
- terminated
type: string
required:
- inactiveTimeoutDateConst
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
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
SetDeviceObjectModelScopeRequest:
properties:
scope:
type: string
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
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
SetNetworkSetRequest:
properties:
networkSetId:
type: string
type: object
SetOperatorConfigurationNamespaceRequest:
properties:
configuration:
oneOf:
- $ref: '#/components/schemas/OperatorConfigurationOfSupport'
- $ref: '#/components/schemas/OperatorConfigurationOfEmail'
- $ref: '#/components/schemas/OperatorConfigurationOfUserConsole'
expectedVersion:
description: This property is used to avoid update confliction. To use it,
retrieve the version by getOperatorConfigurationNamespace API, then specify
the version here. If the expectedVersion is not specified, the API does
not check an update confliction.
type: number
required:
- configuration
type: object
SetSystemNotificationsRequest:
properties:
emailIdList:
items:
type: string
type: array
password:
description: Password of the operator. This is necessary when type is primary.
type: string
required:
- emailIdList
type: object
SetUserPermissionRequest:
properties:
description:
type: string
permission:
description: JSON string of permissions
type: string
required:
- permission
type: object
SetUserTrustPolicyRequest:
properties:
trustPolicy:
description: Trust policy that describes who can switch to this user.
example: '{"statements": [{"effect":"allow","principal":{"soracom":["srn:soracom:OPXXXXXXXXXX::User:accounting"]}}]}'
type: string
type: object
SetVirtualPrivateGatewayVxLanIdRequest:
properties:
vxlanId:
description: VXLAN ID. Specify a range between 1 and 16777215.
type: integer
required:
- vxlanId
type: object
ShippingAddressModel:
description: Shipping address.
properties:
addressLine1:
type: string
addressLine2:
type: string
building:
type: string
city:
type: string
companyName:
type: string
countryCode:
type: string
department:
type: string
email:
type: string
fullName:
type: string
phoneNumber:
type: string
state:
type: string
zipCode:
type: string
required:
- addressLine1
- city
- state
- zipCode
type: object
ShippingCostModel:
description: Shipping cost.
properties:
appliedShippingOptions:
description: Applied shipping options.
items:
type: object
type: array
currency:
description: Currency.
enum:
- JPY
- USD
- EUR
type: string
shippingArea:
description: (Japan coverage only) Shipping area.
enum:
- hokkaido
- kita_tohoku
- minami_tohoku
- kanto
- shinetsu
- chubu
- hokuriku
- kansai
- chugoku
- shikoku
- kyushu
- okinawa
type: string
shippingAreaName:
description: Shipping Area name.
type: string
shippingCost:
description: Shipping Cost.
format: double
type: number
size:
description: Size.
format: int32
type: integer
type: object
ShippingLabelDetail:
properties:
shipmentCompany:
description: Shipment company name.
example: Yamato Transport
type: string
shipmentCompanyUrl:
description: Shipment company URL.
example: http://track.kuronekoyamato.co.jp/english/tracking
type: string
trackingNumber:
description: Tracking number.
example: 0000-1111-2222
type: string
trackingUrl:
description: Tracking URL with tracking number.
example: https://jizen.kuronekoyamato.co.jp/jizen/servlet/crjz.b.NQ0010?id=0000-1111-2222
type: string
required:
- shipmentCompany
- trackingNumber
type: object
ShippingOptionOfExpeditedShipping:
description: Available for United States and Canada operators only.
properties:
useExpeditedShipping:
description: Specify true to ship by Expedited Shipping. (Shipping to United
States only)
type: boolean
type: object
ShippingOptionOfNekopos:
description: Available for Japan operators only.
properties:
allowNekopos:
description: Specify true to allow use of Nekopos.
type: boolean
shipmentCompany:
description: Shipment company.
enum:
- yamato_transport
type: string
type: object
SigfoxData:
properties:
data:
type: string
type: object
SigfoxDevice:
properties:
device_id:
type: string
groupId:
type: string
lastModifiedTime:
format: date-time
type: string
lastSeen:
$ref: '#/components/schemas/LastSeen'
operatorId:
type: string
status:
enum:
- active
- ready
- terminated
- instock
type: string
tags:
additionalProperties:
type: string
type: object
terminationEnabled:
default: false
type: boolean
type: object
SigfoxRegistrationRequest:
properties:
registrationSecret:
type: string
tags:
additionalProperties:
type: string
type: object
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
SimCostBreakdown:
properties:
amount:
description: Amount.
format: double
type: number
simId:
description: SIM ID.
type: string
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
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
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
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
SimDownlinkRtspAuthenticationNone:
description: Configuration for RTSP connection with no authentication
properties:
type:
enum:
- none
type: string
required:
- type
type: object
SimDownlinkRtspCommandSnapshot:
description: Request to take a snapshot of the RTSP stream.
enum:
- snapshot
type: string
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
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
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
SimDownlinkSshNoAuthentication:
description: |
Configuration for SSH connection with no authentication (`"type": "none"`).
properties:
type:
enum:
- none
type: string
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
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
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
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
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
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
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
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
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
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
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
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
SimInitialSetting:
description: Sim initial setting for the specific subscription.
properties:
groupId:
description: Group ID.
type: string
speedClass:
description: |
Speed class. Specify one of the following. Please specify the speed class that matches the subscription.
- For plan01s, plan01s - Low Data Volume, planX3 (X3-5MB), planP1, plan-D (without bundle), plan-D (D-300MB), plan-K2 (K2-300MB), plan-K:
- `s1.minimum`
- `s1.slow`
- `s1.standard`
- `s1.fast`
- `s1.4xfast`
- For plan-US:
- `s1.minimum`
- `s1.slow`
- `s1.standard`
- `s1.fast`
- `s1.4xfast`
- `s1.8xfast`
- For plan-DU:
- `u1.standard`
- `u1.slow`
- For plan-KM1:
- `t1.standard`
type: string
tags:
additionalProperties:
type: string
description: Tags.
type: object
type: object
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
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
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
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
SmsForwardingReport:
properties:
messageId:
type: string
type: object
SmsForwardingRequest:
properties:
encodingType:
default: 2
description: |
Encoding type of the message body. Default is `2` (`DCS_UCS2`).
- `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).
Example: `{"encodingType": 1, "payload": "Test message."}`
- `2`: Send in UCS-2, which supports Kanji, Cyrillic, Arabic, etc. Maximum 70 characters.
Example: `{"encodingType": 2, "payload": "テストメッセージ"}`
type: integer
payload:
type: string
type: object
SoraCamAtomCamLiveImageResponse:
properties:
url:
type: string
required:
- url
type: object
SoraCamAtomCamSettingsAll:
properties:
logo:
description: |
Display settings for the ATOM tech Inc. logo shown on the bottom left of the captured image.
- `on`
- `off`
enum:
- "on"
- "off"
type: string
motion:
description: |
Settings for motion detection.
- `on`
- `off`
enum:
- "on"
- "off"
type: string
motionSensitivity:
description: |
Settings for the motion detection sensitivity. The higher the sensitivity, the smaller the image changes that can be detected.
- `high`
- `medium`
- `low`
enum:
- high
- medium
- low
type: string
motionTagging:
description: |
Display settings for motion tagging. Motion tagging is a green frame that is displayed when motion is detected.
- `on`
- `off`
enum:
- "on"
- "off"
type: string
nightVision:
description: |
Settings for night vision mode.
- `on`: Night vision mode.
- `off`: Normal mode.
- `auto`: Auto-switching.
enum:
- "on"
- "off"
- auto
type: string
quality:
description: |
Settings for the live video and cloud recording quality. Note that for cloud recordings, the resolution is 1080p (1920 x 1080 pixels), regardless of the quality setting.
- `low`: The same quality as selecting "360p" in the ATOM app.
- `medium`: The same quality as selecting "SD" in the ATOM app.
- `high`: The same quality as selecting "HD (1080p)" in the ATOM app.
enum:
- low
- medium
- high
type: string
rotation:
description: |
Settings for rotating the image by 180 degrees. Set to `180` when installing the SoraCam compatible camera device upside down.
- `0`: OFF (no rotation).
- `180`: ON (180-degree rotation).
enum:
- 0
- 180
type: integer
sound:
description: |
Settings for sound detection.
- `on`
- `off`
enum:
- "on"
- "off"
type: string
soundSensitivity:
description: |
Settings for sound detection sensitivity. The higher the sensitivity, the easier it is to detect small sounds.
- `high`
- `medium`
- `low`
enum:
- high
- medium
- low
type: string
statusLight:
description: |
Settings for the status light (indicator light that shows the status of the camera).
- `on`
- `off`
enum:
- "on"
- "off"
type: string
timestamp:
description: |
Display settings for the timestamp shown on the bottom right of the captured image.
- `on`
- `off`
enum:
- "on"
- "off"
type: string
required:
- quality
- statusLight
- timestamp
- logo
- motion
- motionSensitivity
- motionTagging
- sound
- soundSensitivity
- nightVision
type: object
SoraCamAtomCamSettingsLogo:
properties:
state:
description: |
Display settings for the ATOM tech Inc. logo shown on the bottom left of the captured image.
- `on`
- `off`
enum:
- "on"
- "off"
type: string
required:
- state
type: object
SoraCamAtomCamSettingsMotion:
properties:
state:
description: |
Settings for motion detection.
- `on`
- `off`
enum:
- "on"
- "off"
type: string
required:
- state
type: object
SoraCamAtomCamSettingsMotionSensitivity:
properties:
state:
description: |
Settings for the motion detection sensitivity. The higher the sensitivity, the smaller the image changes that can be detected.
- `high`
- `medium`
- `low`
enum:
- high
- medium
- low
type: string
required:
- state
type: object
SoraCamAtomCamSettingsMotionTagging:
properties:
state:
description: |
Display settings for motion tagging.
- `on`
- `off`
enum:
- "on"
- "off"
type: string
required:
- state
type: object
SoraCamAtomCamSettingsNightVision:
properties:
state:
description: |
Settings for night vision mode.
- `on`: Night vision mode.
- `off`: Normal mode.
- `auto`: Auto-switching.
enum:
- "on"
- "off"
- auto
type: string
required:
- state
type: object
SoraCamAtomCamSettingsQuality:
properties:
state:
description: |
Settings for the live video and cloud recording quality. Note that for cloud recordings, the resolution is 1080p (1920 x 1080 pixels), regardless of the quality setting.
- `low`: The same quality as selecting "360p" in the ATOM app.
- `medium`: The same quality as selecting "SD" in the ATOM app.
- `high`: The same quality as selecting "HD (1080p)" in the ATOM app.
enum:
- low
- medium
- high
type: string
required:
- state
type: object
SoraCamAtomCamSettingsRotation:
properties:
state:
description: |
Settings for rotating the image by 180 degrees. Set to `180` when installing the SoraCam compatible camera device upside down.
- `0`: OFF (no rotation).
- `180`: ON (180-degree rotation).
enum:
- 0
- 180
type: integer
required:
- state
type: object
SoraCamAtomCamSettingsSound:
properties:
state:
description: |
Settings for sound detection.
- `on`
- `off`
enum:
- "on"
- "off"
type: string
required:
- state
type: object
SoraCamAtomCamSettingsSoundSensitivity:
properties:
state:
description: |
Settings for sound detection sensitivity. The higher the sensitivity, the easier it is to detect small sounds.
- `high`
- `medium`
- `low`
enum:
- high
- medium
- low
type: string
required:
- state
type: object
SoraCamAtomCamSettingsStatusLight:
properties:
state:
description: |
Settings for the status light (indicator light that shows the status of the camera).
- `on`
- `off`
enum:
- "on"
- "off"
type: string
required:
- state
type: object
SoraCamAtomCamSettingsTimestamp:
properties:
state:
description: |
Display settings for the timestamp shown on the bottom right of the captured image.
- `on`
- `off`
enum:
- "on"
- "off"
type: string
required:
- state
type: object
SoraCamDevice:
properties:
appliedLicenses:
description: |
List of licenses applied to the device. This information cannot be obtained using [SoraCam:listSoraCamDevices API](#!/SoraCam/listSoraCamDevices). Use [SoraCam:getSoraCamDevice API](#!/SoraCam/getSoraCamDevice).
items:
$ref: '#/components/schemas/SoraCamDeviceLicenseInfo'
type: array
configuration:
$ref: '#/components/schemas/SoraCamDeviceConfiguration'
description: Current configuration of the SoraCam compatible camera device.
connected:
description: Whether the SoraCam compatible camera device is connected to
the cloud.
type: boolean
deviceCategory:
description: |
Category of the SoraCam compatible camera device
- `Camera`
type: string
deviceId:
description: Device ID of the SoraCam compatible camera device.
type: string
firmwareVersion:
description: Current firmware version of the SoraCam compatible camera device.
type: string
isShared:
type: boolean
lastConnectedTime:
description: UNIX time in milliseconds when the SoraCam compatible camera
device was last connected to the cloud.
format: int64
type: integer
name:
description: Name of the SoraCam compatible camera device.
type: string
powerState:
enum:
- "on"
- sleep
type: string
productDisplayName:
description: Product name of the SoraCam compatible camera device.
type: string
required:
- deviceId
- name
- firmwareVersion
- productDisplayName
- powerState
type: object
SoraCamDeviceConfiguration:
description: Configuration of the SoraCam compatible camera device.
properties:
audioAlarmEnabled:
description: Whether audio alarm is enabled or not.
type: boolean
motionDetectionEnabled:
description: Whether motion detection is enabled or not.
type: boolean
smokeAlarmEnabled:
description: Whether smoke alarm is enabled or not.
type: boolean
type: object
SoraCamDeviceLicenseInfo:
properties:
name:
description: |
Name of the license applied to a SoraCam compatible camera device.
- `Cloud Continuous Recording License (x Days)`
- `Cloud Motion Detection "Unlimited" Recording License (x Days)`
type: string
value:
description: |
Properties of the license applied to a SoraCam compatible camera device.
If `name` is `Cloud Continuous Recording License (x Days)` or
`Cloud Motion Detection "Unlimited" Recording License (x Days)`:
- `storage_life`: Storage life.
type: string
required:
- name
- value
type: object
SoraCamDeviceLicenseUpdate:
properties:
type:
description: |
Type of license to assign.
- `CR7-SC`: Cloud Continuous Recording License (7 Days).
- `CR14-SC`: Cloud Continuous Recording License (14 Days).
- `CR30-SC`: Cloud Continuous Recording License (30 Days).
- `MR7-SC`: Cloud Motion Detection "Unlimited" Recording License (7 Days).
- `MR14-SC`: Cloud Motion Detection "Unlimited" Recording License (14 Days).
enum:
- CR7-SC
- CR14-SC
- CR30-SC
- MR7-SC
- MR14-SC
type: string
type: object
SoraCamDeviceName:
properties:
name:
type: string
required:
- name
type: object
SoraCamDeviceOptions:
properties:
realTimeAccess:
$ref: '#/components/schemas/SoraCamDeviceRealTimeAccessOption'
required:
- realTimeAccess
type: object
SoraCamDeviceRealTimeAccessOption:
properties:
enabled:
type: boolean
required:
- enabled
type: object
SoraCamDevicesFirmwareUpdate:
properties:
deviceId:
description: |
Device ID of the SoraCam compatible camera device.
type: string
firmwareVersion:
description: |
Available firmware version for the SoraCam compatible camera device.
type: string
timeout:
description: |
Timeout for the firmware update process (in seconds). If the firmware update process is not completed within this time, the process is considered to have failed.
format: int64
type: integer
required:
- deviceId
- firmwareVersion
- timeout
type: object
SoraCamEvent:
properties:
deviceId:
description: An identifier to identify the device.
type: string
deviceType:
description: Type of the device.
format: string
type: string
eventId:
description: An identifier to identify of the event.
type: string
eventInfo:
properties:
atomEventV1:
description: Detail of the event.
properties:
endTime:
description: Timestamp when the event is ended (unix time in milliseconds).
format: int64
type: integer
labels:
description: List of the detected objects in the event.
items:
type: string
type: array
movie:
description: |
URL of the video recorded by the event; if it has expired, call the API again.
- If the Cloud Motion Detection "Unlimited" Recording license is applied, the URL of the video recorded by the motion detection is not included here; use the [SoraCam:exportSoraCamDeviceRecordedVideo API](#!/SoraCam/exportSoraCamDeviceRecordedVideo) to export it.
- URLs are included here for events other than motion detection, even if the Cloud Motion Detection "Unlimited" Recording license is applied.
type: string
picture:
description: URL for the picture of `startTime`. If the URL has
expired, please call the API again.
type: string
recordingStatus:
description: Status of the event recording.
enum:
- completed
- recording
- failed
type: string
startTime:
description: Timestamp when the event is started (unix time in milliseconds).
format: int64
type: integer
type:
description: |
Type of the event.
- `motion`: Motion Alert.
- `sound`: Sound Alert.
- `other`: Others.
enum:
- motion
- sound
- other
type: string
type: object
infoType:
description: Type of the event detail. May vary depend on `deviceType`.
type: string
required:
- infoType
type: object
time:
description: Timestamp of the event (unix time in milliseconds).
format: int64
type: integer
required:
- deviceId
- eventId
- time
- deviceType
type: object
SoraCamExportImageToHarvestFiles:
description: |
Specifies the settings for exporting images to Harvest Files.
Example: `harvestFiles: { pathPrefix: "/sora_cam/{device_id}" }`
If the `pathPrefix` is omitted or set to an empty string, the export will be saved in the root directory of Harvest Files.
Example of exporting to the root directory: `harvestFiles: { pathPrefix: "" }`
properties:
pathPrefix:
description: |
The directory name where the images will be saved when exporting to Harvest Files.
The following strings can be entered, and they will be replaced according to the rules during export:
- `{export_id}`: The export ID (e.g., `123e4567-e89b-12d3-a456-426614174000`).
- `{device_id}`: The device ID (e.g., `001A2B3C4D5E`).
- `{date}`: The request date and time of the export (e.g., `2024/10/01/12/34`).
- `{time}`: The capture time of the image (UNIX time in milliseconds) (e.g., `1728393803000`).
For example, if you enter `/sora_cam/{device_id}`, the images will be exported to a directory unique to each SoraCam compatible camera device. `{date}` and `{time}` are useful when saving images captured/exported at the same time from multiple SoraCam compatible camera devices to the same directory.
**Info**: If omitted or set to an empty string, the export will be saved in the root directory of Harvest Files.
type: string
type: object
SoraCamExportUsage:
properties:
deviceId:
description: Device ID of the SoraCam compatible camera device.
type: string
image:
$ref: '#/components/schemas/SoraCamImageExportUsage'
description: The number of still images, assuming that all of the recorded
video time available for export is used for exporting still images.
meteredYearMonth:
description: 'The year and month (format: ''YYYYMM'') for which the video
can be exported. In the case of `202301`, this means that the available
export time of the video for January 2023 is output.'
type: string
video:
$ref: '#/components/schemas/SoraCamVideoExportUsage'
description: The number of seconds of video, assuming that all of the recorded
video time available for export is used for exporting as video.
required:
- deviceId
- meteredYearMonth
- video
- image
type: object
SoraCamExportUsageLimitOverrideSpecification:
properties:
limitHours:
description: New value for the monthly limit for the amount of hours that
recorded video can be exported.
type: integer
required:
- limitHours
type: object
SoraCamExportVideoToHarvestFiles:
description: |
Specifies the settings for exporting video to Harvest Files.
Example: `harvestFiles: { pathPrefix: "/sora_cam/{device_id}" }`
If the `pathPrefix` is omitted or set to an empty string, the export will be saved in the root directory of Harvest Files.
Example of exporting to the root directory: `harvestFiles: { pathPrefix: "" }`
properties:
pathPrefix:
description: |
The directory name where the video will be saved when exporting to Harvest Files.
The following strings can be entered, and they will be replaced according to the rules during export:
- `{export_id}`: The export ID (e.g., `123e4567-e89b-12d3-a456-426614174000`).
- `{device_id}`: The device ID (e.g., `001A2B3C4D5E`).
- `{date}`: The request date and time of the export (e.g., `2024/10/01/12/34`).
- `{from}`: The start time of the video (UNIX time in milliseconds) (e.g., `1728393803000`).
- `{to}`: The end time of the video (UNIX time in milliseconds) (e.g., `1728394700000`).
For example, if you enter `/sora_cam/{device_id}`, the video will be exported to a directory unique to each SoraCam compatible camera device. `{date}`, `{from}`, and `{to}` are useful when saving videos recorded/exported at the same time from multiple SoraCam compatible camera devices to the same directory.
**Info**: If omitted or set to an empty string, the export will be saved in the root directory of Harvest Files.
type: string
type: object
SoraCamImageExportInfo:
properties:
deviceId:
description: Device ID of the SoraCam compatible camera device.
type: string
expiryTime:
description: Expiration timestamp of the URL (unix time in milliseconds).
The URL becomes unusable 10 minutes after export completion. Only included
if `status` is `completed`.
format: int64
type: integer
exportId:
description: |
Export ID. If you specify the export ID obtained in [SoraCam:exportSoraCamDeviceRecordedImage API](#!/SoraCam/exportSoraCamDeviceRecordedImage) to [SoraCam:getSoraCamDeviceExportedImage API](#!/SoraCam/getSoraCamDeviceExportedImage), you can obtain the URL for downloading the jpg file.
type: string
operatorId:
description: |
Operator ID that called [SoraCam:exportSoraCamDeviceRecordedImage API](#!/SoraCam/exportSoraCamDeviceRecordedImage).
type: string
requestedTime:
description: |
The date and time when the Soracom platform accepted the export request from [SoraCam:exportSoraCamDeviceRecordedImage API](#!/SoraCam/exportSoraCamDeviceRecordedImage) (unix time in milliseconds).
format: int64
type: integer
status:
description: |
Current status of the export.
- `initializing`: Initial state.
- `processing`: Processing.
- `completed`: Export completed.
- `retrying`: Retry export.
- `failed`: Export failed.
- `limitExceeded`: Video cannot be exported because the recorded video time available for export has been exceeded.
- `expired`: Exported URL is expired.
enum:
- initializing
- processing
- completed
- retrying
- failed
- limitExceeded
- expired
type: string
url:
description: URL to download the exported jpg file. Only included if `status`
is `completed`.
type: string
required:
- exportId
- requestedTime
- operatorId
- deviceId
- status
type: object
SoraCamImageExportSpecification:
properties:
harvestFiles:
$ref: '#/components/schemas/SoraCamExportImageToHarvestFiles'
imageFilters:
description: Image filters to be applied to the exported image.
items:
enum:
- wide_angle_correction
type: string
type: array
time:
description: Time to be exported (unix time in milliseconds). A still image
is exported from the recorded video taken at the specified time.
format: int64
type: integer
required:
- time
type: object
SoraCamImageExportUsage:
properties:
billedFrames:
description: The number of still images, assuming that all of the recorded
video time available for export has been used for exporting still images.
In other words, when the value is 0, no charge is incurred. Note that
the billing calculation uses `billedSeconds`, not the frame count.
type: integer
limitFrames:
description: The number of still images that can be exported by assuming
that all of the available export time for the video is used for exporting
still images. The recorded video time available for export is output in
the number of still images that can be exported.
type: integer
remainingFrames:
description: The number of still images that can be exported, assuming that
all of the available export time for the video is used for exporting still
images, up to the maximum possible video export time. `limitFrames` minus
`usedFrames`.
type: integer
usedFrames:
description: The number of still images exported, assuming that all the
recorded video time available for export consumed in the current month
was used for exporting still images.
type: integer
required:
- billedFrames
- limitFrames
- remainingFrames
- usedFrames
type: object
SoraCamLicensePackQuantityUpdatingRequest:
properties:
currentQuantity:
description: Current license quantity of the license pack.
example: 1
format: int32
type: integer
desiredQuantity:
description: Desired license quantity of the license pack.
example: 2
format: int32
type: integer
type: object
SoraCamLicensePackResponse:
properties:
id:
description: ID of the license pack.
example: CR7-SC
type: string
name:
description: Name of the license pack.
example: Cloud Recording License (7 Days)
type: string
quantity:
description: The quantity of licenses in the license pack.
example: 1
format: int32
type: integer
quantityInUse:
description: The quantity of licenses in the license pack currently in use.
example: 1
format: int32
type: integer
salesChannel:
description: Sales channel of the license pack.
example: SORACOM Inc.
type: string
type: object
SoraCamPlayListEntry:
properties:
from:
description: The start time of the recorded video (UNIX time in milliseconds).
Omitted for the latest video.
format: int64
type: integer
to:
description: The end time of the recorded video (UNIX time in milliseconds).
Omitted for the latest video.
format: int64
type: integer
url:
description: |
URL to get mpd file of streaming video (latest video / recorded video).
- No URL is returned in the following cases:
- When trying to get the latest video, the power of the SoraCam compatible camera device is not turned on.
- When trying to get the latest video, cloud recording has not started on a SoraCam compatible camera device.
- When trying to get recorded video, there is no recorded video between the specified `from` and `to`.
type: string
required:
- url
type: object
SoraCamPowerState:
properties:
powerState:
description: |
Power state of the SoraCam compatible camera device.
- `on`
- `sleep`
enum:
- "on"
- sleep
type: string
required:
- powerState
type: object
SoraCamRecordingsAndEventsList:
properties:
events:
items:
properties:
endTime:
description: Timestamp when the event is ended (unix time in milliseconds).
format: int64
type: integer
startTime:
description: Timestamp when the event is started (unix time in milliseconds).
format: int64
type: integer
type:
description: |
Type of the event.
- `motion`: Motion Alert.
- `sound`: Sound Alert.
- `other`: Others.
enum:
- motion
- sound
- other
type: string
required:
- startTime
- type
type: object
type: array
records:
items:
properties:
endTime:
description: Timestamp when the recording is ended (unix time in milliseconds).
`endTime` is not included for ongoing recordings.
format: int64
type: integer
startTime:
description: Timestamp when the recording is started (unix time in
milliseconds).
format: int64
type: integer
required:
- startTime
type: object
type: array
required:
- records
- events
type: object
SoraCamStreamingVideo:
properties:
expiryTime:
description: Expiration timestamp of all URLs in playList (UNIX time in
milliseconds).
format: int64
type: integer
playList:
description: |
Array of playlist entries for streaming video (latest video / recorded video).
- For the latest video, only one video file is always returned. In addition, `from` and `to` are omitted.
- For recorded video, the video file may be split depending on the recording status.
items:
$ref: '#/components/schemas/SoraCamPlayListEntry'
type: array
required:
- expiryTime
type: object
SoraCamVideoExportInfo:
properties:
deviceId:
description: Device ID of the SoraCam compatible camera device.
type: string
expiryTime:
description: Expiration timestamp of the URL (unix time in milliseconds).
The URL becomes unusable 10 minutes after export completion. Only included
if `status` is `completed`.
format: int64
type: integer
exportId:
description: |
Export ID. If you specify the export ID obtained in [SoraCam:exportSoraCamDeviceRecordedVideo API](#!/SoraCam/exportSoraCamDeviceRecordedVideo) to [SoraCam:getSoraCamDeviceExportedVideo API](#!/SoraCam/getSoraCamDeviceExportedVideo), you can obtain the URL for downloading the zipped mp4 file.
type: string
operatorId:
description: |
Operator ID that called [SoraCam:exportSoraCamDeviceRecordedVideo API](#!/SoraCam/exportSoraCamDeviceRecordedVideo).
type: string
requestedTime:
description: |
The date and time when the Soracom platform accepted the export request from [SoraCam:exportSoraCamDeviceRecordedVideo API](#!/SoraCam/exportSoraCamDeviceRecordedVideo) (unix time in milliseconds).
format: int64
type: integer
status:
description: |
Current status of the export.
- `initializing`: Initial state.
- `processing`: Processing.
- `completed`: Export completed.
- `retrying`: Retry export.
- `failed`: Export failed.
- `limitExceeded`: Video cannot be exported because the recorded video time available for export has been exceeded.
- `expired`: Exported URL is expired.
enum:
- initializing
- processing
- completed
- retrying
- failed
- limitExceeded
- expired
type: string
url:
description: |
URL to download a zipped mp4 file. Only included if `status` is `completed`.
- You can get mp4 files by extracting the downloaded zip file.
type: string
required:
- exportId
- requestedTime
- operatorId
- deviceId
- status
type: object
SoraCamVideoExportSpecification:
properties:
archive:
default: true
description: |
Specifies whether exported files should be compressed. Defaults to `true`.
- `true`: Compresses video files in zip format.
- `false`: Exports video files as uncompressed MP4 files.
type: boolean
audioCodec:
default: pcm_s16le
description: |
Specifies the audio codec for exported videos. Defaults to `pcm_s16le`.
- `mp3`: MP3
- `pcm_s16le`: PCM 16-bit (WAV file)
**Warning**: If `mp3` is specified, it will consume twice the recorded video time available for export.
enum:
- pcm_s16le
- mp3
type: string
from:
description: Start time for exporting (unix time in milliseconds).
format: int64
type: integer
harvestFiles:
$ref: '#/components/schemas/SoraCamExportVideoToHarvestFiles'
to:
description: |
End time for exporting (unix time in milliseconds).
- The maximum duration that can be exported in a single API call is 900 seconds (15 minutes). Make sure the difference between `from` and `to` does not exceed 900 seconds.
format: int64
type: integer
required:
- from
- to
type: object
SoraCamVideoExportUsage:
properties:
billedSeconds:
description: The number of seconds of video, assuming that all of the recorded
video time available for export has been used for exporting video. In
other words, when the value is 0, no charge is incurred. Note that only
`billedSeconds` are used in the calculation of the billing amount.
type: integer
limitSeconds:
description: The number of seconds of video, assuming that all of the available
export time for the video is used for exporting video. The maximum available
export time for the video is output in seconds of video.
type: integer
remainingSeconds:
description: The number of seconds of video that can be exported, assuming
that all of the available export time for the video is used for exporting
as video, up to the maximum possible video export time. `limitSeconds`
minus `usedSeconds`.
type: integer
usedSeconds:
description: The number of seconds of video exported, assuming that all
the recorded video time available for export consumed in the current month
was used for exporting video.
type: integer
required:
- billedSeconds
- limitSeconds
- remainingSeconds
- usedSeconds
type: object
SoracomBeamStats:
properties:
count:
format: int64
type: integer
type: object
SoracomFunkStats:
properties:
count:
format: int64
type: integer
type: object
SoracomFunnelStats:
properties:
count:
format: int64
type: integer
type: object
SoracomHarvestStats:
properties:
count:
format: int64
type: integer
type: object
SoracomTransitGateway:
properties:
arn:
type: string
asn:
type: integer
awsAccountId:
type: string
id:
type: string
region:
type: string
resourceSharedStatus:
additionalProperties:
$ref: '#/components/schemas/TransitGatewayResourceSharedStatus'
type: object
type: object
Soralet:
properties:
createdTime:
format: int64
type: integer
description:
type: string
operatorId:
type: string
soraletId:
type: string
updatedTime:
format: int64
type: integer
type: object
SoraletDataSource:
properties:
resourceId:
type: string
resourceType:
type: string
required:
- resourceType
- resourceId
type: object
SoraletLog:
properties:
createdTime:
format: int64
type: integer
message:
type: string
operatorId:
type: string
soraletId:
type: string
version:
format: int64
type: integer
type: object
SoraletVersion:
properties:
createdTime:
format: int64
type: integer
hash:
type: string
operatorId:
type: string
size:
format: int64
type: integer
soraletId:
type: string
srn:
type: string
version:
format: int64
type: integer
type: object
StartAnalysisQueriesRequest:
properties:
from:
description: Start of the period to apply the SQL query (UNIX time (seconds)).
type: integer
sql:
description: A SQL query.
type: string
to:
description: End of the period to apply the SQL query (UNIX time (seconds)).
type: integer
type: object
StartAnalysisQueriesResponse:
properties:
queryId:
description: SQL query ID.
type: string
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
SubscriptionContainer:
properties:
containerId:
format: int64
type: integer
downloaded:
type: boolean
subscriber:
additionalProperties:
$ref: '#/components/schemas/Subscriber'
type: object
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
SupportTier:
enum:
- basic
- priority
- enterprise
type: string
SupportTokenResponse:
properties:
token:
type: string
required:
- token
type: object
SwitchUserRequest:
properties:
operatorId:
description: Operator ID to be switched to.
type: string
tokenTimeoutSeconds:
default: 3600
description: |
API key and API token validity period (in seconds) for the switched user. The default is 3600 seconds (1 hour). The minimum and maximum values are also shown below.
- Minimum: 180 seconds (3 minutes)
- Maximum value: 3600 seconds (1 hour)
maximum: 3600
minimum: 180
type: integer
userName:
description: The SAM user name of the specified operator ID to be switched
to.
type: string
type: object
SystemNotificationsModel:
properties:
emailIdList:
items:
type: string
type: array
type:
description: Email address type.
enum:
- primary
- recovery
- billing
- support
type: string
updateDateTime:
format: int64
type: integer
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
TagUpdateRequest:
properties:
tagName:
type: string
tagValue:
type: string
required:
- tagName
- tagValue
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
TrafficVolumeRanking:
properties:
imsi:
type: string
trafficVolume:
format: int64
type: integer
type: object
TransitGatewayAttachment:
properties:
destinationCidrBlocks:
items:
type: string
type: array
id:
type: string
tgwId:
type: string
type: object
TransitGatewayPeeringConnection:
properties:
createdTime:
description: Creation time of the transit gateway peering connection
type: integer
customerAwsAccountId:
description: AWS account ID of the peer transit Gateway
type: string
customerRegion:
description: AWS region of the peer transit Gateway
type: string
customerTransitGatewayId:
description: Peer transit gateway ID
type: string
id:
description: Transit gateway peering attachment ID of the peering connection.
This is the unique ID of the transit gateway peering connection.
type: string
lastModifiedTime:
description: Last modified time of the transit gateway peering connection
type: integer
name:
description: User defined name of the transit gateway peering connection
type: string
soracomTransitGatewayPeeringAttachmentId:
description: Transit gateway peering attachment ID of the peering connection.
This is the unique ID of the transit gateway peering connection.
type: string
status:
description: Current status of the transit gateway peering connection
enum:
- pending
- active
type: string
type: object
TransitGatewayResourceSharedStatus:
properties:
createdTime:
description: Creation time of the resource share
type: integer
customerAwsAccountId:
description: AWS account ID which is sharing resources with Soracom
type: string
lastModifiedTime:
description: Last modified time of the resource share
type: integer
resourceShareArn:
description: The ARN for the resource share
type: string
status:
description: Status of the resource share. Status of pending implies that
the user has yet to accept resource share with Soracom on their aws account.
type: string
type: object
TransitGatewayVpcAttachment:
properties:
createdTime:
description: Creation time of the VPC attachment
type: integer
customerAwsAccountId:
description: AWS Account ID of the VPC to be attached
type: string
customerTransitGatewayVpcAttachmentId:
description: Transit gateway VPC attachment ID of the VPC to be attached.
This is the unique ID of the transit gateway VPC attachment.
type: string
customerVpcId:
description: ID of the VPC to be attached
type: string
id:
description: Transit gateway VPC attachment ID of the VPC to be attached.
This is the unique ID of the transit gateway VPC attachment.
type: string
lastModifiedTime:
description: Last modified time of the VPC attachment
type: integer
name:
description: User defined name of the transit gateway VPC attachment
type: string
status:
description: Current status of the transit gateway VPC attachment. 'vpcAttachmentPending'
status implies that a VPC attachment is yet to be created on the peer
AWS account.
enum:
- vpcAttachmentPending
- acceptancePending
- active
- failed
type: string
type: object
UpdateAnalysisPlanQueryRequest:
properties:
plan:
description: The type of the Analysis query plan.
UpdateBatchGroupRequest:
properties:
batchGroupName:
description: Batch group name.
maxLength: 100
type: string
description:
description: Description of the batch group.
maxLength: 500
type: string
type: object
UpdateCustomerRouteRequest:
properties:
target:
type: string
required:
- target
type: object
UpdateDefaultPermissionsRequest:
properties:
permissions:
description: JSON string of permissions
type: string
required:
- permissions
type: object
UpdateEventHandlerRequest:
$ref: '#/components/schemas/CreateEventHandlerRequest'
UpdatePasswordRequest:
properties:
currentPassword:
type: string
newPassword:
type: string
required:
- currentPassword
- newPassword
type: object
UpdatePermissionRequest:
properties:
operatorId:
type: string
type: object
UpdateSpeedClassRequest:
properties:
speedClass:
description: |
Speed class. Specify one of the following. Please specify the speed class that matches the subscription.
- For plan01s, plan01s - Low Data Volume, planX3 (X3-5MB), planP1, plan-D (without bundle), plan-D (D-300MB), plan-K2 (K2-300MB), plan-K:
- `s1.minimum`
- `s1.slow`
- `s1.standard`
- `s1.fast`
- `s1.4xfast`
- For plan-US:
- `s1.minimum`
- `s1.slow`
- `s1.standard`
- `s1.fast`
- `s1.4xfast`
- `s1.8xfast`
- For plan-DU:
- `u1.standard`
- `u1.slow`
**Warning**: Speed class for plan-KM1 and virtual SIM/Subscriber cannot be changed as there is only one speed class available.
enum:
- s1.minimum
- s1.slow
- s1.standard
- s1.fast
- s1.4xfast
- s1.8xfast
- u1.standard
- u1.slow
type: string
required:
- speedClass
type: object
UpdateUserRequest:
properties:
description:
type: string
type: object
UpdateVirtualPrivateGatewayTagsRequest:
items:
properties:
tagName:
type: string
tagValue:
type: string
required:
- tagName
- tagValue
type: object
type: array
UserDetailResponse:
properties:
authKeyList:
description: A list of authentication keys.
items:
$ref: '#/components/schemas/AuthKeyResponse'
type: array
createDateTime:
description: The creation date and time of the SAM user (UNIX time in seconds).
example: 1722480500
format: int64
type: integer
description:
description: The description of the SAM user.
example: This is my user
type: string
hasPassword:
description: Whether the login password for the Soracom User Console has
been set.
type: boolean
permission:
description: The permission of the SAM user.
example: '{"statements":[{"api":"*","effect":"allow"}]}'
type: string
roleList:
description: A list of roles assigned to the SAM user.
items:
$ref: '#/components/schemas/ListRolesResponse'
type: array
updateDateTime:
description: The update date and time of the SAM user (UNIX time in seconds).
example: 1722480600
format: int64
type: integer
userName:
description: The name of the SAM user.
example: my-user
type: string
required:
- authKeyList
- createDateTime
- hasPassword
- roleList
- updateDateTime
- userName
type: object
VerifyAddEmailTokenRequest:
properties:
token:
description: |
Authentication token issued by [Email:issueAddEmailToken API](#/Email/issueAddEmailToken). The authentication token is sent to the target email address.
type: string
required:
- token
type: object
VerifyPasswordResetTokenRequest:
properties:
password:
type: string
token:
type: string
required:
- password
- token
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
VerifySubscriberTransferTokenResponse:
properties:
transferredImsi:
description: List of IMSIs of the SIM which were transferred.
items:
type: string
type: array
required:
- transferredImsi
type: object
VirtualPrivateGateway:
properties:
allowedOperators:
items:
type: string
type: array
createdTime:
description: Creation time of the VPG (UNIX time in milliseconds).
format: int64
type: integer
customerRoutes:
additionalProperties:
$ref: '#/components/schemas/CustomerRoute'
description: List of routing table entries
type: object
deviceSubnetCidrRange:
description: Device Subnet IP Address Range.
type: string
enableSimBasedRouting:
type: boolean
fixedIpAddressesEnabled:
description: |
Fixed global IP address option.
- `true`: Enabled.
- `false`: Disabled.
type: boolean
fixedPublicIpAddresses:
items:
type: string
type: array
gateOpened:
description: |
The status of [Soracom Gate](/en/docs/gate/) service for the VPG.
- `true`: Gate is enabled
- `false`: Gate is disabled
type: boolean
gatePrivacySeparatorEnabled:
type: boolean
gateVxlanId:
description: VXLAN ID of the Gate.
type: number
implicitTerminationProtected:
type: boolean
inspection:
$ref: '#/components/schemas/JunctionInspectionConfiguration'
junctionEnabled:
description: |
The status of [Soracom Junction](/en/docs/junction/) service for the VPG.
- `true`: Junction (Mirroring, Inspection, or Redirection) is enabled.
- `false`: Junction is disabled.
type: boolean
lastModifiedTime:
description: Last modified time of the VPG (UNIX time in milliseconds).
format: int64
type: integer
mirroring:
properties:
peers:
additionalProperties:
$ref: '#/components/schemas/JunctionMirroringPeer'
type: object
type: object
offsetId:
type: integer
operatorId:
description: Operator ID.
type: string
placement:
$ref: '#/components/schemas/Placement'
primaryServiceName:
description: (Deprecated) This property is no longer used.
type: string
redirection:
$ref: '#/components/schemas/JunctionRedirectionConfiguration'
routingFilterEntries:
items:
$ref: '#/components/schemas/RoutingFilterEntry'
type: array
sessionStats:
properties:
lastUpdatedAt:
description: Date and time (Unix timestamp in milliseconds) that the
number of online sessions was last updated.
format: int64
type: integer
online:
description: Number of Soracom Air IoT SIMs and Soracom Arc Virtual
SIMs that are connected to the VPG and online. Please note that this
number is not updated in real-time. Use the lastUpdatedAt property
to check the date and time this number was updated.
type: integer
type: object
simBasedRoutingConfig:
additionalProperties:
type: string
type: object
size:
description: (Deprecated) This property is no longer used.
type: string
soracomTransitGateway:
$ref: '#/components/schemas/SoracomTransitGateway'
soracomTransitGatewayPeeringConnections:
additionalProperties:
$ref: '#/components/schemas/TransitGatewayPeeringConnection'
description: Map of transit gateway peering connections associated with
the VPG.
type: object
soracomTransitGatewayVpcAttachments:
additionalProperties:
$ref: '#/components/schemas/TransitGatewayVpcAttachment'
description: Map of transit gateway VPC attachments associated with the
VPG.
type: object
status:
description: |
Status of the VPG.
- `running`: Running.
enum:
- running
type: string
tags:
$ref: '#/components/schemas/TagSet'
transitGatewayAttachments:
additionalProperties:
$ref: '#/components/schemas/TransitGatewayAttachment'
type: object
type:
description: |
VPG Type.
- `12`: Type-C
- `13`: Type-D
- `14`: Type-E
- `15`: Type-F
- `242`: Type-F2
enum:
- 12
- 13
- 14
- 15
- 242
type: integer
ueSubnetCidrRange:
description: Device Subnet IP Address Range.
type: string
useInternetGateway:
description: |
The Internet Gateway configuration for the VPG.
- `true`: Internet Gateway is on
- `false`: Internet Gateway is off
type: boolean
virtualInterfaces:
additionalProperties:
type: string
description: Settings for [Direct](/en/docs/direct/).
type: object
vpcPeeringConnections:
additionalProperties:
type: string
description: Settings for [Canal](/en/docs/canal/)'s Amazon VPC peering
connections.
type: object
vpgId:
description: VPG ID.
type: string
vpgSubnetCidrRange:
description: The range of IP addresses assigned to the VPG, required for
configuring Soracom Door or Soracom Direct.
type: string
vpnConnections:
additionalProperties:
$ref: '#/components/schemas/VpnConnection'
type: object
type: object
VolumeDiscountModel:
description: Long term discount.
properties:
contractTermMonth:
default: 12
description: Contract months.
format: int32
type: integer
currency:
description: Currency.
enum:
- JPY
- USD
- EUR
type: string
endDate:
description: End date.
example: yyyyMMdd
type: string
initialCost:
description: Initial cost.
format: double
type: number
quantity:
description: Quantity.
format: int32
type: integer
startDate:
description: Start date.
example: yyyyMMdd
type: string
taxIncludedInitialCost:
description: Tax included initial cost.
format: double
type: number
taxIncludedUnitPrice:
description: Tax included unit price.
format: double
type: number
unitPrice:
description: Unit price.
format: double
type: number
volumeDiscountPaymentType:
description: Payment type.
enum:
- MONTHLY
- PREPAYMENT
type: string
volumeDiscountType:
description: Long term discount type.
enum:
- SORACOM_AIR_BASIC_CHARGE_V2
- SORACOM_AIR_BASIC_CHARGE
- SORACOM_AIR_MONTHLY_FIXED_BASIC_CHARGE
type: string
type: object
VpcPeeringConnection:
properties:
destinationCidrBlock:
type: string
id:
type: string
peerOwnerId:
type: string
peerVpcId:
type: string
type: object
VpnConnection:
properties:
bgpAsn:
type: string
id:
type: string
useDynamicRouting:
type: boolean
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
tags:
- description: '[Audit logs](/en/docs/api-audit-logs/)'
name: AuditLog
- description: '[Soracom Query](/en/docs/query/)'
name: Analysis
- description: |
- [Generate API key and token](/en/tools/api/key-and-token/)
- Password reset token generation and verification
- [Switch user](/en/docs/switch-user/) API key and token generation
name: Auth
- description: '[Usage charges (billing details)](/en/guides/accounting/check-usage/)'
name: Billing
- description: '[Cell tower location information](/en/docs/air/get-location-info/#get-cell-tower-location-information)'
name: CellLocation
- description: |
- [Coupon codes](/en/guides/accounting/payment/register-coupon/)
- [Usage charges (billing details)](/en/guides/accounting/check-usage/)
- [Payment methods](/en/guides/accounting/payment/)
- [Long term discounts](/en/docs/air/volume-discount/)
name: Payment
- description: |
- [Coupon codes](/en/guides/accounting/payment/register-coupon/)
- [Long term discounts](/en/docs/air/volume-discount/)
- Order management
- Product catalog
name: Order
- description: |
[Credentials store](/en/docs/credentials-store/)
Create, update, and delete credentials
name: Credential
- description: '[Soracom Harvest Data](/en/docs/harvest/)'
name: DataEntry
- description: '[Soracom Inventory object model](/en/docs/inventory/define-custom-object/)'
name: DeviceObjectModel
- description: '[Soracom Inventory devices](/en/docs/inventory/)'
name: Device
- description: '[Diagnostic features](/en/guides/diagnostic/)'
name: Diagnostic
- description: '[Event handlers](/en/docs/event-handler/)'
name: EventHandler
- description: '[Soracom Harvest Files](/en/docs/harvest/)'
name: FileEntry
- description: |
Download files exported by the following APIs:
- [Billing](#/Billing)
- [Payment: exportPaymentStatement](#/Payment/exportPaymentStatement)
- [Stats](#/Stats)
- [Subscriber:exportSubscribers](#/Subscriber/exportSubscribers)
name: Files
- description: Gadget API compatible devices- [SoraCam dedicated cellular pack](/en/guides/soracom-cloud-camera-services/setting-cellular-pack/)
name: Gadget
- description: '[Group configuration](/en/docs/group-configuration/)'
name: Group
- description: |
[Soracom Lagoon](/en/docs/lagoon-v3/)
User and plan management
name: Lagoon
- description: Error logs
name: Log
- description: '[Soracom Air for LoRaWAN](/en/docs/air-for-lorawan/) devices'
name: LoraDevice
- description: '[Soracom Air for LoRaWAN](/en/docs/air-for-lorawan/) gateways'
name: LoraGateway
- description: '[Soracom Air for LoRaWAN](/en/docs/air-for-lorawan/) network sets'
name: LoraNetworkSet
- description: |
- Operator management
- Update registration information
- Password changes
- [Multi-factor authentication](/en/docs/mfa/)
name: Operator
- description: '[Email addresses](/en/docs/email/)'
name: Email
- description: '[Access management (Soracom Access Management)](/en/docs/sam/)'
name: Role
- description: Shipping address operations for direct sales
name: ShippingAddress
- description: '[Soracom Cloud Camera Services](/en/guides/soracom-cloud-camera-services/)'
name: SoraCam
- description: '[Email addresses](/en/docs/email/)'
name: SystemNotification
- description: |
- [Access management (Soracom Access Management)](/en/docs/sam/)
- Password changes
- [Multi-factor authentication](/en/docs/mfa/)
- [Switch user](/en/docs/switch-user/) trust policy configuration
name: User
- description: '[Soracom Napter](/en/docs/napter/)'
name: PortMapping
- description: Search SIMs, Soracom Inventory devices, and Sigfox devices
name: Query
- description: '[Soracom Air for Sigfox](/en/docs/air-for-sigfox/) devices'
name: SigfoxDevice
- 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 Orbit](/en/docs/orbit/) Soralet'
name: Soralet
- description: '[Data usage history](/en/docs/air/view-data-usage/) retrieval'
name: Stats
- description: '[Soracom Air for Cellular](/en/docs/air/) SIM information, operations,
and cancellation'
name: Subscriber
- description: |
- [Virtual Private Gateway (VPG)](/en/docs/vpg/) (Canal / Direct / Door / Gate)
- [Soracom Junction](/en/docs/junction/)
- [Soracom Peek](/en/docs/peek/)
name: VirtualPrivateGateway
- description: Batch processing
name: Batch