openapi: 3.0.0
info:
title: Soracom Cloud Camera Services API
description: Manage Soracom Cloud Camera Services (SoraCam) devices, recordings, images, and events.
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:
/sora_cam/devices:
get:
description: 'Obtains a list of cameras that are compatible with the Soracom Cloud Camera Services.
**Warning**: When calling this API using a SAM User''s API key and API token, the SAM User must also have permission
to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions,
see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
'
operationId: listSoraCamDevices
responses:
'200':
content:
application/json:
example:
- configuration:
audioAlarmEnabled: false
motionDetectionEnabled: true
smokeAlarmEnabled: false
connected: true
deviceCategory: Camera
deviceId: 7CDDDEADBEEF
firmwareVersion: 4.58.0.97
isShared: false
lastConnectedTime: 1664512183393
name: My ATOM Cam 2
powerState: 'on'
productDisplayName: ATOM Cam 2
schema:
items:
$ref: '#/components/schemas/SoraCamDevice'
type: array
description: A list of SoraCam compatible camera devices.
security:
- api_key: []
api_token: []
summary: List SoraCam compatible camera devices.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices list
/sora_cam/devices/{device_id}:
delete:
description: 'Delete a SoraCam compatible camera device from the operator identified by device_id.
**Warning**: When calling this API using a SAM User''s API key and API token, the SAM User must also have permission
to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions,
see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
'
operationId: handleDeleteSoraCamDevice
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
'200':
description: OK.
'404':
description: The specified SoraCam compatible camera device could not be found.
security:
- api_key: []
api_token: []
summary: Delete the SoraCam compatible camera device identified by device_id.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices delete
get:
description: 'Obtain a SoraCam compatible camera device record for the device identified by device_id.
**Warning**: When calling this API using a SAM User''s API key and API token, the SAM User must also have permission
to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions,
see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
'
operationId: getSoraCamDevice
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
appliedLicenses:
- name: Cloud Continuous Recording License (14 Days)
value: storage_life=14
configuration:
audioAlarmEnabled: false
motionDetectionEnabled: true
smokeAlarmEnabled: false
connected: true
deviceCategory: Camera
deviceId: 7CDDDEADBEEF
firmwareVersion: 4.58.0.97
isShared: false
lastConnectedTime: 1664512183393
name: My ATOM Cam 2
powerState: 'on'
productDisplayName: ATOM Cam 2
schema:
$ref: '#/components/schemas/SoraCamDevice'
description: OK.
'404':
description: The specified SoraCam compatible camera device could not be found.
security:
- api_key: []
api_token: []
summary: Get the SoraCam compatible camera device information identified by device_id.
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices get
/sora_cam/devices/{device_id}/atom_cam/firmware/update:
get:
description: 'Returns available firmware update information for a SoraCam compatible camera device.
**Warning**: If you will run this API with a SAM user''s API key and API token, please add the `OAuth2:authorize`
permission to the SAM user in addition to the permission required to call this API (e.g. `SoraCam:*`). For more information
on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
'
operationId: getSoraCamDeviceAtomCamFirmwareUpdate
parameters:
- in: path
name: device_id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
- deviceId: 7CDDDEADBEEF
firmwareVersion: 4.58.0.97
timeout: 600
schema:
items:
$ref: '#/components/schemas/SoraCamDevicesFirmwareUpdate'
type: array
description: OK.
'204':
description: There are no firmware versions available for update for the specified SoraCam compatible camera device.
'404':
description: The specified SoraCam compatible camera device could not be found.
security:
- api_key: []
api_token: []
summary: Retrieve firmware update information for a SoraCam compatible camera device
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam get-firmware-update
post:
description: 'Update a firmware for a SoraCam compatible camera device if it is available. The SoraCam compatible camera
device will be offline while updating.
**Warning**: Please do not turn off the power while updating.
**Warning**: If you will run this API with a SAM user''s API key and API token, please add the `OAuth2:authorize`
permission to the SAM user in addition to the permission required to call this API (e.g. `SoraCam:*`). For more information
on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
'
operationId: updateSoraCamDeviceAtomCamFirmware
parameters:
- in: path
name: device_id
required: true
schema:
type: string
responses:
'200':
description: OK.
'400':
description: No firmware update found.
'404':
description: The specified SoraCam compatible camera device could not be found.
security:
- api_key: []
api_token: []
summary: Update a firmware for a SoraCam compatible camera device
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam update-firmware
/sora_cam/devices/{device_id}/atom_cam/license:
delete:
description: 'Unassigns the license from a specified SoraCam compatible camera device.
**Warning**: If you will run this API with a SAM user''s API key and API token, please add the `OAuth2:authorize`
permission to the SAM user in addition to the permission required to call this API (e.g. `SoraCam:*`). For more information
on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Warning**: Devices will not undergo cloud recording by Soracom Cloud Camera Services unless a license is assigned.
**Warning**: A license is required to view footage already recorded to the cloud. This does not affect already exported
videos/still images.
**Warning**: Unassigning the license will not stop license charges from being applied. To stop billing, cancel the
license after unassigning it via the [SoraCam:listSoraCamLicensePacks API](#/SoraCam/listSoraCamLicensePacks) or the
User Console.
'
operationId: unassignSoraCamDeviceAtomCamLicense
parameters:
- in: path
name: device_id
required: true
schema:
type: string
responses:
'204':
description: License successfully unassigned.
'403':
description: 'Unable to unassign the license. Possible reasons include:
- Insufficient permissions.
- The device is shared by another operator.
'
'404':
description: The specified device could not be found under the operator or has no assigned license.
security:
- api_key: []
- api_token: []
summary: Unassign the license from a SoraCam compatible camera device
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam unassign-license
put:
description: 'Updates the license for a specified SoraCam compatible camera device.
**Warning**: If you will run this API with a SAM user''s API key and API token, please add the `OAuth2:authorize`
permission to the SAM user in addition to the permission required to call this API (e.g. `SoraCam:*`). For more information
on setting permissions, see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
'
operationId: assignSoraCamDeviceAtomCamLicense
parameters:
- in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SoraCamDeviceLicenseUpdate'
required: true
responses:
'200':
content:
application/json:
example:
type: CR14-SC
schema:
$ref: '#/components/schemas/SoraCamDeviceLicenseUpdate'
description: License successfully updated.
'304':
description: No changes were made to the existing license.
'400':
description: Invalid input data or license type specified.
'403':
description: 'Unable to assign the license. Possible reasons include:
- Insufficient permissions.
- No available purchased licenses.
- The device is shared by another operator.
'
'404':
description: The specified device could not be found under the operator.
security:
- api_key: []
api_token: []
summary: Update the assigned license for a SoraCam compatible camera device
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam assign-license
/sora_cam/devices/{device_id}/atom_cam/live_image:
get:
description: 'Gets a live image from a SoraCam compatible camera device. Images are captured at the time the API is
called and a download URL is returned.
**Warning**: When calling this API using a SAM User''s API key and API token, the SAM User must also have permission
to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions,
see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must enable real-time access.
'
operationId: getSoraCamDeviceAtomCamLiveImage
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
url: https://192-0-2-1.sora-cam.soracom.io/devices/7CDDDEADBEEF/xxxxxxxx/image.jpg?token=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
schema:
$ref: '#/components/schemas/SoraCamAtomCamLiveImageResponse'
description: Successfully retrieved live image URL.
'404':
description: The specified SoraCam compatible camera device could not be found.
'422':
description: The SoraCam compatible camera device and server cannot be connected. This may occur when the device
is offline or real-time access is not enabled.
security:
- api_key: []
api_token: []
summary: Get a live image from a SoraCam compatible camera device
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam live-image
/sora_cam/devices/{device_id}/atom_cam/options:
get:
description: 'Gets a list of whether the following options are enabled for a SoraCam-compatible camera.
- [Real-time access](https://users.soracom.io/ja-jp/docs/soracom-cloud-camera-services/real-time-access/) (Japanese)
'
operationId: getSoraCamDeviceAtomCamOptions
parameters:
- description: The device ID of the SoraCam-compatible camera.
in: path
name: device_id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
realTimeAccess:
enabled: true
schema:
$ref: '#/components/schemas/SoraCamDeviceOptions'
description: A list of enabled optional features for the SoraCam-compatible camera.
'404':
description: The specified SoraCam-compatible camera was not found.
security:
- api_key: []
api_token: []
summary: Retrieve enabled options for a SoraCam-compatible camera
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam get-options
/sora_cam/devices/{device_id}/atom_cam/options/real_time_access:
put:
description: 'Enables or disables the real-time access feature for a SoraCam-compatible camera.
When enabled, the camera can be accessed directly via P2P communication for retrieving camera feed and performing
operations in real time.
**Warning:** Real-time access is a paid feature. For more details, see the [documentation](https://users.soracom.io/ja-jp/docs/soracom-cloud-camera-services/real-time-access/)
(Japanese).
'
operationId: updateSoraCamDeviceAtomCamOptionsRealTimeAccess
parameters:
- description: The device ID of the SoraCam-compatible camera.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SoraCamDeviceRealTimeAccessOption'
responses:
'200':
content:
application/json:
example:
enabled: true
schema:
$ref: '#/components/schemas/SoraCamDeviceRealTimeAccessOption'
description: Real-time access has been enabled/disabled.
'400':
description: The request payload is invalid.
'404':
description: The specified SoraCam-compatible camera was not found.
security:
- api_key: []
api_token: []
summary: Enable or disable real-time access for a SoraCam-compatible camera
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam update-real-time-access-option
/sora_cam/devices/{device_id}/atom_cam/settings:
get:
description: 'Retrieve the camera''s various settings.
**Warning**: When calling this API using a SAM User''s API key and API token, the SAM User must also have permission
to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions,
see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable
real-time access.
'
operationId: getSoraCamDeviceAtomCamSettings
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
logo: 'on'
motion: 'off'
motionSensitivity: low
motionTagging: 'on'
nightVision: auto
quality: high
rotation: 0
sound: 'off'
soundSensitivity: low
statusLight: 'on'
timestamp: 'on'
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsAll'
description: OK.
'404':
description: The specified SoraCam compatible camera device could not be found.
security:
- api_key: []
api_token: []
summary: Retrieve the camera's various settings
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam get-settings
/sora_cam/devices/{device_id}/atom_cam/settings/logo:
get:
description: 'Retrieve the display settings for the ATOM tech Inc. logo shown on the bottom left of the captured image.
**Warning**: When calling this API using a SAM User''s API key and API token, the SAM User must also have permission
to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions,
see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable
real-time access.
'
operationId: getSoraCamDeviceAtomCamSettingsLogo
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
state: 'on'
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsLogo'
description: OK.
'404':
description: The specified SoraCam compatible camera device could not be found.
security:
- api_key: []
api_token: []
summary: Retrieve the display settings for the ATOM tech Inc. logo shown on the bottom left of the captured image
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings get-logo
post:
description: 'Change the display settings for the ATOM tech Inc. logo shown on the bottom left of the captured image.
**Warning**: When calling this API using a SAM User''s API key and API token, the SAM User must also have permission
to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions,
see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable
real-time access.
'
operationId: setSoraCamDeviceAtomCamSettingsLogo
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
state: 'on'
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsLogo'
responses:
'200':
description: OK.
'400':
description: The specified value is invalid.
'404':
description: The specified SoraCam compatible camera device could not be found.
security:
- api_key: []
api_token: []
summary: Change the display settings for the ATOM tech Inc. logo shown on the bottom left of the captured image
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings set-logo
/sora_cam/devices/{device_id}/atom_cam/settings/motion:
get:
description: 'Retrieve the settings for motion detection. If motion detection is enabled, recording will start when
the SoraCam compatible camera device detects moving objects.
**Warning**: Even if a Cloud Motion Detection "Unlimited" Recording License is assigned to the SoraCam compatible
camera device, no recording will occur if motion detection is disabled, as it will not detect any moving objects.
**Warning**: When calling this API using a SAM User''s API key and API token, the SAM User must also have permission
to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions,
see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable
real-time access.
'
operationId: getSoraCamDeviceAtomCamSettingsMotion
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
state: 'on'
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsMotion'
description: OK.
'404':
description: The specified SoraCam compatible camera device could not be found.
security:
- api_key: []
api_token: []
summary: Retrieve the settings for motion detection
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings get-motion
post:
description: 'Change the settings for motion detection. If motion detection is enabled, recording will start when the
SoraCam compatible camera device detects moving objects.
**Warning**: Even if a Cloud Motion Detection "Unlimited" Recording License is assigned to the SoraCam compatible
camera device, no recording will occur if motion detection is disabled, as it will not detect any moving objects.
**Warning**: When calling this API using a SAM User''s API key and API token, the SAM User must also have permission
to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions,
see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable
real-time access.
'
operationId: setSoraCamDeviceAtomCamSettingsMotion
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
state: 'on'
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsMotion'
responses:
'200':
description: OK.
'400':
description: The specified value is invalid.
'404':
description: The specified SoraCam compatible camera device could not be found.
security:
- api_key: []
api_token: []
summary: Change the settings for motion
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings set-motion
/sora_cam/devices/{device_id}/atom_cam/settings/motion_sensitivity:
get:
description: 'Retrieve the settings for motion sensitivity.
**Warning**: When calling this API using a SAM User''s API key and API token, the SAM User must also have permission
to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions,
see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable
real-time access.
'
operationId: getSoraCamDeviceAtomCamSettingsMotionSensitivity
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
state: low
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsMotionSensitivity'
description: OK.
'404':
description: The specified SoraCam compatible camera device could not be found.
security:
- api_key: []
api_token: []
summary: Retrieve the settings for motion sensitivity
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings get-motion-sensitivity
post:
description: 'Change the settings for motion sensitivity.
**Warning**: When calling this API using a SAM User''s API key and API token, the SAM User must also have permission
to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions,
see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable
real-time access.
'
operationId: setSoraCamDeviceAtomCamSettingsMotionSensitivity
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
state: low
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsMotionSensitivity'
responses:
'200':
description: OK.
'400':
description: The specified value is invalid.
'404':
description: The specified SoraCam compatible camera device could not be found.
security:
- api_key: []
api_token: []
summary: Change the settings for motion sensitivity
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings set-motion-sensitivity
/sora_cam/devices/{device_id}/atom_cam/settings/motion_tagging:
get:
description: 'Retrieve the display settings for motion tagging. Motion tagging is a green frame that is displayed when
motion is detected.
**Warning**: When calling this API using a SAM User''s API key and API token, the SAM User must also have permission
to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions,
see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable
real-time access.
'
operationId: getSoraCamDeviceAtomCamSettingsMotionTagging
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
state: 'on'
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsMotionTagging'
description: OK.
'404':
description: The specified SoraCam compatible camera device could not be found.
security:
- api_key: []
api_token: []
summary: Retrieve the display settings for motion tagging
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings get-motion-tagging
post:
description: 'Change the display settings for motion tagging. Motion tagging is a green frame that is displayed when
motion is detected.
**Warning**: When calling this API using a SAM User''s API key and API token, the SAM User must also have permission
to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions,
see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable
real-time access.
'
operationId: setSoraCamDeviceAtomCamSettingsMotionTagging
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
state: 'on'
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsMotionTagging'
responses:
'200':
description: OK.
'400':
description: The specified value is invalid.
'404':
description: The specified SoraCam compatible camera device could not be found.
security:
- api_key: []
api_token: []
summary: Change the display settings for motion tagging
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings set-motion-tagging
/sora_cam/devices/{device_id}/atom_cam/settings/night_vision:
get:
description: 'Retrieve the settings for night vision mode.
**Warning**: When calling this API using a SAM User''s API key and API token, the SAM User must also have permission
to call the `OAuth2:authorize` API in addition to permission to call this API. For more information on setting permissions,
see [Access Levels](/en/docs/security/users-and-roles/#access-levels).
**Info**: To use this API, you must either assign a cloud license to the target Soracom-compatible camera or enable
real-time access.
'
operationId: getSoraCamDeviceAtomCamSettingsNightVision
parameters:
- description: Device ID of the target SoraCam compatible camera device.
in: path
name: device_id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
state: auto
schema:
$ref: '#/components/schemas/SoraCamAtomCamSettingsNightVision'
description: OK.
'404':
description: The specified SoraCam compatible camera device could not be found.
security:
- api_key: []
api_token: []
summary: Retrieve the settings for night vision mode
tags:
- SoraCam
x-soracom-cli:
- sora-cam devices atom-cam settings get-night-vision
post:
description: 'Change the settings for nig
# --- truncated at 32 KB (172 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/soracom/refs/heads/main/openapi/soracom-soracam-api-openapi.yml