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. [![Creative Commons License](/assets/images/ccbysa_4.0_80x15.png)](https://creativecommons.org/licenses/by-sa/4.0/ "no-icon-external-link") OpenCelliD Project is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License operationId: getCellLocation parameters: - description: MCC - Mobile Country Code. example: 440 in: query name: mcc required: true schema: type: string - description: MNC - Mobile Network Code. example: 10 in: query name: mnc required: true schema: type: string - description: LAC - Location Area Code (for 3G). in: query name: lac required: false schema: type: string - description: CID - Cell ID (for 3G). in: query name: cid required: false schema: type: string - description: TAC - Tracking Area Code (for 4G). example: 5680 in: query name: tac required: false schema: type: string - description: ECID - Enhanced Cell ID (for 4G) - specify either `ecid` or `eci`. The result is the same regardless of which value is specified. example: 48872466 in: query name: ecid required: false schema: type: string - description: ECID - Enhanced Cell ID (for 4G) - specify either `ecid` or `eci`. The result is the same regardless of which value is specified. in: query name: eci required: false schema: type: string responses: "200": content: application/json: example: avg_strength: 0 created: "2022-01-01T00:00:00.000Z" exact: 0 lat: 35.7119449 lon: 139.813642 range: 476 samples: 7 updated: 2022-01-01T00:00:00:000Z schema: $ref: '#/components/schemas/CellLocation' description: Location information for the cell tower. "404": description: Location information is not found for the cell tower. security: - api_key: [] api_token: [] summary: Get location information for a cell tower tags: - CellLocation x-soracom-cli: - cell-locations get post: description: | Retrieves a list of location information (latitude/longitude) for multiple cell towers based on cell information such as Cell ID. For 3G, please specify MCC, MNC, LAC, and CID. It is possible to retrieve approximate location information without CID, but the accuracy will be low. For LTE (4G), please specify MCC, MNC, TAC, and ECID. The conversion of cell tower information to location information uses the OpenCelliD Project database, so it is possible that the information may not exist or may be incorrect. [![Creative Commons License](/assets/images/ccbysa_4.0_80x15.png)](https://creativecommons.org/licenses/by-sa/4.0/ "no-icon-external-link") OpenCelliD Project is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License operationId: batchGetCellLocations requestBody: content: application/json: example: - cid: "68485165" identifier: test001 lac: "195" mcc: "440" mnc: "10" - ecid: "44668480" identifier: test002 mcc: "440" mnc: "10" tac: "5840" schema: items: $ref: '#/components/schemas/CellIdentifier' type: array description: List of cell identifiers. required: true responses: "200": content: application/json: example: - avg_strength: 0 created: "2022-01-01T00:00:00.000Z" exact: 0 identifier: test001 lat: 35.6814383 lon: 139.7665133 range: 0 samples: 1 updated: 2022-01-01T00:00:00:000Z - avg_strength: 0 created: "2022-01-01T00:00:00.000Z" exact: 0 identifier: test002 lat: 35.7119449 lon: 139.813642 range: 476 samples: 7 updated: 2022-01-01T00:00:00:000Z schema: items: $ref: '#/components/schemas/CellLocation' type: array description: List of location information for the specified cell towers. security: - api_key: [] api_token: [] summary: List location information for multiple cell towers. tags: - CellLocation x-soracom-cli: - cell-locations batch-get /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