Soracom EventHandler API

[Event handlers](/en/docs/event-handler/)

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

soracom-eventhandler-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Soracom and Query Analysis EventHandler 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: '[Event handlers](/en/docs/event-handler/)'
  name: EventHandler
paths:
  /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
components:
  schemas:
    UpdateEventHandlerRequest:
      $ref: '#/components/schemas/CreateEventHandlerRequest'
    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:\n\n- For types `SubscriberDailyTrafficRule`, `SubscriberMonthlyTrafficRule`, `SubscriberCumulativeTrafficRule` (*1), `SimDailyTotalTrafficRule`, `SimMonthlyTotalTrafficRule`, `SimCumulativeTotalTrafficRule` (*1), `SimSubscriptionStatusRule`, `DailyTotalTrafficRule`, `MonthlyTotalTrafficRule`:\n  - `BEGINNING_OF_NEXT_MONTH`\n  - `BEGINNING_OF_NEXT_DAY`\n  - `AFTER_ONE_DAY`\n  - `NEVER`\n\n  (*1) Since cumulative data traffic volume does not reset, actions are repeatedly executed at re-evaluation timing after exceeding the threshold.\n- For type `SubscriberFirstTrafficRule`:\n  - `NEVER`\n- For types `SubscriberStatusAttributeRule`, `SubscriberSpeedClassAttributeRule`, `SubscriberExpiredRule`, `SubscriberImeiMismatchedRule`, `SimStatusAttributeRule`, `SimSpeedClassAttributeRule`, `SimExpiredRule`, `SimImeiMismatchedRule`, `MonthlyChargeRule`:\n  - `IMMEDIATELY`\n  - `BEGINNING_OF_NEXT_MONTH`\n  - `BEGINNING_OF_NEXT_DAY`\n  - `AFTER_ONE_DAY`\n  - `NEVER`\n"
          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.\n\n- 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:\n    - `s1.minimum`\n    - `s1.slow`\n    - `s1.standard`\n    - `s1.fast`\n    - `s1.4xfast`\n- For plan-US:\n    - `s1.minimum`\n    - `s1.slow`\n    - `s1.standard`\n    - `s1.fast`\n    - `s1.4xfast`\n    - `s1.8xfast`\n- For plan-DU:\n    - `u1.standard`\n    - `u1.slow`\n\n**Warning**: For plan-KM1 and virtual SIM/Subscriber, the speed class cannot be changed as there is only one type available.\n"
          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:
      

# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/soracom/refs/heads/main/openapi/soracom-eventhandler-api-openapi.yml