openapi: 3.0.0 info: description: SORACOM SANDBOX API v1 title: SORACOM SANDBOX API version: 20230923-005714 servers: - url: https://api-sandbox.soracom.io/v1 paths: /sandbox/coupons/create: post: description: Creates a coupon. operationId: sandboxCreateCoupon requestBody: content: application/json: schema: $ref: '#/components/schemas/sandboxCreateCouponRequest' description: request required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/sandboxCreateCouponResponse' description: OK "400": description: Request is not correct. security: - api_key: [] api_token: [] summary: Creates a coupon tags: - 'API Sandbox: Coupon' x-soracom-cli: - sandbox coupons create /sandbox/init: post: description: Performs complex signup process at once, including registering dummy payment method. Specify `email` and `password` for an operator which will be created on sandbox, `authKeyId` and `authKey` for a real operator on the production environment. An API Key and an API Token will be included in the response if successful. Use the API Key and the API Token to requests afterwards. operationId: sandboxInitializeOperator requestBody: content: application/json: schema: $ref: '#/components/schemas/sandboxInitRequest' description: request required: true responses: "201": content: application/json: schema: $ref: '#/components/schemas/sandboxAuthResponse' description: Successfully created a sandbox operator. "400": description: Email address, AuthKeyId, or AuthKey is not correct. summary: Creates an operator account tags: - 'API Sandbox: Operator' x-soracom-cli: - sandbox init /sandbox/operators/{operator_id}: delete: description: Deletes the specified operator. operationId: sandboxDeleteOperator parameters: - description: Operator ID in: path name: operator_id required: true schema: type: string responses: "200": description: OK "400": description: Operator does not exist. security: - api_key: [] api_token: [] summary: Deletes an operator tags: - 'API Sandbox: Operator' x-soracom-cli: - sandbox operators delete /sandbox/operators/token/{email}: post: description: Retrieves a 'signup token' for registration confirmation. Please specify a pair of AuthKeyId and AuthKey of a SAM user on the production environment to check if the caller has a valid account on it. operationId: sandboxGetSignupToken parameters: - description: Email in: path name: email required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/sandboxGetSignupTokenRequest' description: Authentication request. required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/sandboxGetSignupTokenResponse' description: Successfully retrieved signup token. "400": description: Email address, AuthKeyId, or AuthKey is not correct. summary: Gets a signup token tags: - 'API Sandbox: Operator' x-soracom-cli: - sandbox operators get-signup-token /sandbox/orders/ship: post: description: Changes the shipping status to 'shipped' and gets ready the subscribers included in the order. operationId: sandboxShipOrder requestBody: content: application/json: schema: $ref: '#/components/schemas/sandboxShipOrderRequest' description: Shipping request required: true responses: "200": description: OK "400": description: Order does not exist. security: - api_key: [] api_token: [] summary: Ships the specified order tags: - 'API Sandbox: Order' x-soracom-cli: - sandbox orders ship /sandbox/stats/air/subscribers/{imsi}: post: description: Populates Air stats for testing purpose. Inserted data are going to be automatically accumulated. It is not possible to put the data multiple times with the same timestamp. operationId: sandboxInsertAirStats parameters: - description: IMSI. in: path name: imsi required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/sandboxInsertAirStatsRequest' description: The Air stats (up/down bytes of data) with specified timestamp. required: true responses: "200": description: OK "400": description: Data with the same timestamp already exists. security: - api_key: [] api_token: [] summary: Inserts Air stats for testing tags: - 'API Sandbox: Stats' x-soracom-cli: - sandbox stats air insert /sandbox/stats/beam/subscribers/{imsi}: post: description: Populates Beam stats for testing purpose. Inserted data are going to be automatically accumulated. It is not possible to put the data multiple times with the same timestamp. operationId: sandboxInsertBeamStats parameters: - description: IMSI. in: path name: imsi required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/sandboxInsertBeamStatsRequest' description: The Beam stats (number of requests) with specified timestamp. required: true responses: "200": description: OK "400": description: Data with the same timestamp already exists. security: - api_key: [] api_token: [] summary: Inserts Beam stats for testing tags: - 'API Sandbox: Stats' x-soracom-cli: - sandbox stats beam insert /sandbox/subscribers/create: post: description: Creates a new subscriber for sandbox. operationId: sandboxCreateSubscriber requestBody: content: application/json: examples: Creating "plan-D (D-300MB)": value: bundle: - D-300MB subscription: plan-D Creating "plan01s": value: subscription: plan01s schema: $ref: '#/components/schemas/sandboxCreateSubscriberRequest' description: Create request responses: "200": content: application/json: schema: $ref: '#/components/schemas/sandboxCreateSubscriberResponse' description: OK security: - api_key: [] api_token: [] summary: Creates a new subscriber for sandbox tags: - 'API Sandbox: Subscriber' x-soracom-cli: - sandbox subscribers create components: schemas: TagSet: additionalProperties: type: string type: object sandboxAuthResponse: properties: apiKey: type: string operatorId: type: string token: type: string userName: type: string type: object sandboxBeamCounts: properties: count: format: int64 type: integer type: object sandboxCreateCouponRequest: properties: amount: example: 1000 format: int32 type: integer applicableBillItemName: enum: - dailyDataTrafficChargeTotal - dailyChargeTotal - dailySoracomBeamRequestChargeTotal example: dailyDataTrafficChargeTotal type: string expiryYearMonth: format: yyyyMM type: string type: object sandboxCreateCouponResponse: properties: amount: description: Coupon amount. format: double type: number balance: description: Balance. format: double type: number billItemName: description: Bill Item. type: string couponCode: description: Coupon code. type: string expiryYearMonth: description: Year and month of expiration. format: yyyyMM type: string type: object sandboxCreateSubscriberRequest: properties: bundles: description: 'Bundle. If necessary, specify one of:' items: enum: - X3-5MB - D-300MB - DU-10GB - DU-50GB - DU-100GB - K2-300MB type: string type: array subscription: description: 'Subscription. Specify one of:' enum: - plan01s - plan01s-low_data_volume - planP1 - planX3 - plan-D - plan-K - plan-KM1 - plan-DU - plan-K2 type: string type: object sandboxCreateSubscriberResponse: properties: apn: type: string createdAt: format: int64 type: integer expiryTime: format: int64 type: integer imsi: type: string ipAddress: type: string lastModifiedAt: format: int64 type: integer msisdn: type: string operatorId: type: string registrationSecret: type: string serialNumber: type: string speedClass: type: string status: type: string subscription: type: string tags: $ref: '#/components/schemas/TagSet' type: object sandboxDataTrafficStats: properties: downloadByteSizeTotal: format: int64 type: integer downloadPacketSizeTotal: format: int64 type: integer uploadByteSizeTotal: format: int64 type: integer uploadPacketSizeTotal: format: int64 type: integer type: object sandboxGetSignupTokenRequest: properties: authKey: type: string authKeyId: type: string type: object sandboxGetSignupTokenResponse: properties: token: type: string required: - token type: object sandboxInitRequest: properties: authKey: type: string authKeyId: type: string coverageTypes: description: | Coverage type. - `g`: Global coverage - `jp`: Japan coverage items: enum: - g - jp type: string type: array email: type: string password: type: string registerPaymentMethod: default: true type: boolean required: - email - password - authKeyId - authKey type: object sandboxInsertAirStatsRequest: properties: dataTrafficStatsMap: additionalProperties: $ref: '#/components/schemas/sandboxDataTrafficStats' description: | Test data for each speed class, including data for both upload and download, with timestamps. Specify a string representing the speed class as a key. - `s1.minimum` - `s1.slow` - `s1.standard` - `s1.fast` - `s1.4xfast` - `s1.8xfast` - `u1.standard` - `u1.slow` - `t1.standard` - `arc.standard` type: object unixtime: description: UNIX time (in seconds). format: int64 type: integer type: object sandboxInsertBeamStatsRequest: properties: beamStatsMap: properties: inHttp: $ref: '#/components/schemas/sandboxBeamCounts' inMqtt: $ref: '#/components/schemas/sandboxBeamCounts' inTcp: $ref: '#/components/schemas/sandboxBeamCounts' inUdp: $ref: '#/components/schemas/sandboxBeamCounts' outHttp: $ref: '#/components/schemas/sandboxBeamCounts' outHttps: $ref: '#/components/schemas/sandboxBeamCounts' outMqtt: $ref: '#/components/schemas/sandboxBeamCounts' outMqtts: $ref: '#/components/schemas/sandboxBeamCounts' outTcp: $ref: '#/components/schemas/sandboxBeamCounts' outTcps: $ref: '#/components/schemas/sandboxBeamCounts' outUdp: $ref: '#/components/schemas/sandboxBeamCounts' type: object unixtime: description: UNIX time (in seconds). format: int64 type: integer type: object sandboxShipOrderRequest: properties: operatorId: type: string orderId: type: string required: - orderId - operatorId type: object tags: - name: 'API Sandbox: Coupon' - name: 'API Sandbox: Operator' - name: 'API Sandbox: Order' - name: 'API Sandbox: Stats' - name: 'API Sandbox: Subscriber'