openapi: 3.0.0 info: title: Soracom and Query Analysis Operator API description: Run SQL queries against Soracom Query, fetch query schemas, and search SIMs, Inventory devices, and Sigfox devices. 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 tags: - description: '- Operator management - Update registration information - Password changes - [Multi-factor authentication](/en/docs/mfa/) ' name: Operator paths: /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}/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}/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}/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/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 components: schemas: 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 MFAIssueRevokingTokenRequest: properties: email: type: string password: type: string 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 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 SupportTokenResponse: properties: token: type: string required: - token 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 OperatorConfigurationOfEmail: properties: billing: $ref: '#/components/schemas/EmailConfigurationOfBilling' notification: $ref: '#/components/schemas/EmailConfigurationOfNotification' 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 CoverageType: enum: - jp - g type: string 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 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 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 MFAAuthenticationRequest: properties: mfaOTPCode: 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 MFAStatusOfUseResponse: properties: status: 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 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 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 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 EnableMFAOTPResponse: properties: totpUri: type: string required: - totpUri 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 MFARevokeRequest: properties: password: description: Root user's password. type: string required: - password type: object GenerateTokenResponse: properties: token: type: string required: - token type: object SupportTier: enum: - basic - priority - enterprise type: string MFARevokingTokenVerifyRequest: properties: backupCode: type: string email: type: string password: type: string token: type: string type: object UpdatePasswordRequest: properties: currentPassword: type: string newPassword: type: string required: - currentPassword - newPassword 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 GenerateOperatorsAuthKeyResponse: properties: authKey: type: string authKeyId: type: string type: object OperatorMFAVerifyingResponse: properties: backupCodes: items: type: string type: array type: object APICallError: properties: errorMessage: $ref: '#/components/schemas/APICallErrorMessage' httpStatus: format: int32 type: integer 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