Soracom Event Handler API

Configure event handlers (rules + actions) on SIM, data, and billing events; manage the Credentials Store; and deploy Orbit Soralets (WebAssembly inline payload transforms).

Soracom Event Handler API is one of 18 APIs that Soracom publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include IoT, Automation, Event Handler, Soralet, and Credentials. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

soracom-event-handler-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Soracom Event Handler API
  description: Define event handlers, rule sets, and actions to drive workflows on SIM, billing, and data events; manage credentials
    and Soralets.
  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:
  /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: [email protected]
                    type: SendMailAction
                  - properties:
                      executionDateTimeConst: AFTER_ONE_DAY
                      message: Speed limitation will be released
                      title: Notification from Soracom
                      to: [email protected]
                    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: [email protected]
                    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: [email protected]
                    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
  /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
  /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:
          ty

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