Soracom Lagoon API

Manage Soracom Lagoon (managed Grafana) subscription, plan tier, organization, dashboards, users, licenses, and data sources.

Soracom Lagoon 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, Lagoon, Dashboards, and Visualization. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

soracom-lagoon-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Soracom Lagoon API
  description: Manage Soracom Lagoon (dashboard and visualization) users, plans, and licenses.
  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:
  /lagoon/image/link:
    get:
      description: Get a custom icon image link of Soracom Lagoon Console.
      operationId: getImageLink
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: OK.
        '400':
          description: Bad request.
      security:
      - api_key: []
        api_token: []
      summary: Get a custom icon image link of Soracom Lagoon Console
      tags:
      - Lagoon
      x-soracom-cli:
      - lagoon get-image-link
  /lagoon/license_packs:
    get:
      description: Get the status of active Soracom Lagoon license packs.
      operationId: listLagoonLicensePackStatus
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/LagoonLicensePackStatusResponse'
                type: array
          description: OK.
        '400':
          description: Bad request.
      security:
      - api_key: []
        api_token: []
      summary: Get the status of active Soracom Lagoon license packs
      tags:
      - Lagoon
      x-soracom-cli:
      - lagoon license-packs list-status
    put:
      description: 'Update the quantities for license packs of Soracom Lagoon.


        **Warning**: This API must be called with the root user credentials. The quantities for license packs of Soracom Lagoon
        cannot be updated with SAM user credentials.

        '
      operationId: updateLagoonLicensePack
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LagoonLicensePacksUpdatingRequest'
        description: Request.
        required: true
      responses:
        '204':
          description: Updated.
        '400':
          description: Bad request.
        '404':
          description: Operator not found.
      security:
      - api_key: []
        api_token: []
      summary: Update the quantities for license packs of Soracom Lagoon
      tags:
      - Lagoon
      x-soracom-cli:
      - lagoon license-packs update
  /lagoon/plan:
    put:
      description: 'Update the plan of Soracom Lagoon.


        **Warning**: This API must be called with the root user credentials. The plan of Lagoon cannot be updated with SAM
        user credentials.

        '
      operationId: updateLagoonPlan
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LagoonPlanChangingRequest'
        required: true
      responses:
        '204':
          description: Updated.
        '400':
          description: Bad request.
        '404':
          description: Operator not found.
      security:
      - api_key: []
        api_token: []
      summary: Update the plan of Soracom Lagoon
      tags:
      - Lagoon
      x-soracom-cli:
      - lagoon updated-plan
  /lagoon/register:
    post:
      description: 'Register (activate) Soracom Lagoon.


        **Warning**: This API must be called with the root user credentials. Lagoon cannot be registered with SAM user credentials.

        '
      operationId: registerLagoon
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LagoonRegistrationRequest'
        description: Request.
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LagoonRegistrationResponse'
          description: Registered.
        '400':
          description: Bad request.
      security:
      - api_key: []
        api_token: []
      summary: Register (activate) Soracom Lagoon
      tags:
      - Lagoon
      x-soracom-cli:
      - lagoon register
  /lagoon/terminate:
    post:
      description: 'Terminate (deactivate) Soracom Lagoon.


        **Warning**: This API must be called with the root user credentials. Lagoon cannot be terminated with SAM user credentials.

        '
      operationId: terminateLagoon
      responses:
        '204':
          description: Terminated.
        '400':
          description: Bad request.
        '404':
          description: Operator not found.
      security:
      - api_key: []
        api_token: []
      summary: Terminate (deactivate) Soracom Lagoon
      tags:
      - Lagoon
      x-soracom-cli:
      - lagoon terminate
  /lagoon/users:
    get:
      description: List Soracom Lagoon users that belong to operator.
      operationId: listLagoonUsers
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/LagoonUser'
                type: array
          description: OK.
        '400':
          description: Bad request.
      security:
      - api_key: []
        api_token: []
      summary: List Soracom Lagoon users that belong to operator
      tags:
      - Lagoon
      x-soracom-cli:
      - lagoon list-users
      - lagoon users list
    post:
      description: Create a Soracom Lagoon user.
      operationId: createLagoonUser
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LagoonUserCreationRequest'
        description: Request.
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LagoonUserCreationResponse'
          description: Created.
        '400':
          description: Bad request.
      security:
      - api_key: []
        api_token: []
      summary: Create a Soracom Lagoon user
      tags:
      - Lagoon
      x-soracom-cli:
      - lagoon create-user
      - lagoon users create
  /lagoon/users/{lagoon_user_id}:
    delete:
      description: Delete a Soracom Lagoon user.
      operationId: deleteLagoonUser
      parameters:
      - description: Target ID of the lagoon user.
        in: path
        name: lagoon_user_id
        required: true
        schema:
          type: integer
      responses:
        '204':
          description: Deleted.
        '400':
          description: Bad request.
      security:
      - api_key: []
        api_token: []
      summary: Delete a Soracom Lagoon user
      tags:
      - Lagoon
      x-soracom-cli:
      - lagoon delete-user
      - lagoon users delete
  /lagoon/users/{lagoon_user_id}/email:
    put:
      description: Update email address of a Soracom Lagoon user.
      operationId: updateLagoonUserEmail
      parameters:
      - description: Target ID of the lagoon user.
        in: path
        name: lagoon_user_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LagoonUserEmailUpdatingRequest'
        description: Request.
        required: true
      responses:
        '200':
          description: OK.
        '400':
          description: Bad request.
      security:
      - api_key: []
        api_token: []
      summary: Update email address of a Soracom Lagoon user
      tags:
      - Lagoon
      x-soracom-cli:
      - lagoon update-user-email
      - lagoon users update-email
  /lagoon/users/{lagoon_user_id}/password:
    put:
      description: Update password of a Soracom Lagoon user.
      operationId: updateLagoonUserPassword
      parameters:
      - description: Target ID of the lagoon user.
        in: path
        name: lagoon_user_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LagoonUserPasswordUpdatingRequest'
        description: Request.
        required: true
      responses:
        '200':
          description: OK.
        '400':
          description: Bad request.
      security:
      - api_key: []
        api_token: []
      summary: Update password of a Soracom Lagoon user
      tags:
      - Lagoon
      x-soracom-cli:
      - lagoon update-user-password
      - lagoon users update-password
  /lagoon/users/{lagoon_user_id}/permission:
    put:
      description: Update permission of a Soracom Lagoon user.
      operationId: updateLagoonUserPermission
      parameters:
      - description: Target ID of the lagoon user.
        in: path
        name: lagoon_user_id
        required: true
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LagoonUserPermissionUpdatingRequest'
        description: Request.
        required: true
      responses:
        '200':
          description: OK.
        '400':
          description: Bad request.
      security:
      - api_key: []
        api_token: []
      summary: Update permission of a Soracom Lagoon user
      tags:
      - Lagoon
      x-soracom-cli:
      - lagoon update-user-permission
      - lagoon users update-permission
tags:
- description: '[Soracom Lagoon](/en/docs/lagoon-v3/)

    User and plan management

    '
  name: Lagoon
components:
  schemas:
    LagoonUser:
      properties:
        email:
          description: This value used on login.
          type: string
        id:
          type: number
        lastSeenAt:
          description: The last login datetime.
          type: string
        lastSeenAtAge:
          description: The last login datetime as age.
          type: string
        role:
          description: A role that represents the permission.
          enum:
          - Viewer
          - Editor
          type: string
      type: object
    LagoonRegistrationResponse:
      properties:
        lagoonUserEmail:
          description: This email address is used on login with the initial user.
          type: string
      type: object
    LagoonUserEmailUpdatingRequest:
      properties:
        userEmail:
          type: string
      type: object
    LagoonLicensePackStatusResponse:
      properties:
        licensePackName:
          type: string
        quantity:
          format: int32
          type: integer
      type: object
    LagoonUserPasswordUpdatingRequest:
      properties:
        newPassword:
          type: string
        oldPassword:
          type: string
      type: object
    LagoonUserPermissionUpdatingRequest:
      properties:
        role:
          description: A role that represents the permission.
          enum:
          - Viewer
          - Editor
          type: string
      type: object
    LagoonUserCreationRequest:
      properties:
        role:
          description: A role that represents the permission.
          enum:
          - Viewer
          - Editor
          type: string
        userEmail:
          type: string
        userPassword:
          type: string
      type: object
    LagoonUserCreationResponse:
      properties:
        id:
          description: Lagoon user ID assigned to the created user.
          type: integer
      type: object
    LagoonRegistrationRequest:
      properties:
        plan:
          enum:
          - free
          - maker
          - pro
          type: string
        userPassword:
          description: This password is used by the initial user's login.
          type: string
      type: object
    LagoonPlanChangingRequest:
      properties:
        plan:
          enum:
          - maker
          - pro
          - free
          type: string
      type: object
    LagoonLicensePacksUpdatingRequest:
      properties:
        licensePackQuantities:
          items:
            properties:
              desiredQuantity:
                format: int32
                type: integer
              licensePackName:
                description: 'Specify the license packs for which you want to update the number.

                  - `basicUser`: User License Pack.

                  - `basicDashboard`: Dashboard License Pack.

                  '
                enum:
                - basicUser
                - basicDashboard
                type: string
            type: object
          type: array
      type: object
  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