Download OpenAPI specification:Download
Actcast APIにはリクエスト数の制限が存在します。レートリミットの上限緩和についてはグループの情報や使用用途を添えてお問い合わせください。
APIのレスポンスは、レートリミットの状態を表す次のヘッダーを含みます。
X-RateLimit-Limit
X-RateLimit-Remaining
X-RateLimit-Reset
ヘッダーの値は次の仕様に準拠しています。ただし、ヘッダー名の先頭に X-
が加えられていることに注意してください。
draft-polli-ratelimit-headers-00
また、レスポンスのステータスコードが429(Too Many Requests)のとき追加で Retry-After
ヘッダーが含まれます。
このとき Retry-After
の値は次にリクエストを送れるようになるまでの秒数を表しています。
ステータスコード | 理由 | 備考 |
---|---|---|
200 | OK | 成功 |
202 | Accepted | 成功(非同期) |
400 | Bad Request | リクエスト形式の間違い |
401 | Unauthorized | 認証情報の間違い |
403 | Forbidden | 権限のエラー |
404 | Not Found | 対象が存在しない |
429 | Too Many Requests | レートリミット |
一つのレスポンスに複数のリソースが含まれている場合、一定以上の数のリソースを取得しようとすると複数回のリクエストを行う必要があります。
リクエスト時に次のクエリパラメータを付与します。
パラメータ名 | 備考 |
---|---|
limit | 取得するリソース数 |
next | 続きを取得するためのトークン |
レスポンスには次の項目が含まれます。
フィールド名 | 備考 |
---|---|
items | リソースの配列 |
totol | 全体の数 |
next | 続きを取得するためのトークン |
$ curl -H "Authorization: token $YOUR_API_TOKEN" https://api.actcast.io/v0/groups/$YOUR_GROUP_ID/devices?limit=5
{
"items": [
... snip ...
],
"total": 10,
"next": "dummy_next_token"
}
$ curl -H "Authorization: token $YOUR_API_TOKEN" https://api.actcast.io/v0/groups/$YOUR_GROUP_ID/devices?limit=5&next=dummy_next_token
{
"items": [
... snip ...
],
"total": 10,
"next": null
}
プリミティブデータ型に対するformatの指定については下記のリンク先をご覧ください。
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.3.md#data-types
一部のクエリパラメータ(include_device_status
など)で 0
, 1
のいずれかを渡す必要がある場合 1
が有効を意味します。
グループが管理しているデバイス一覧を返します。 必要に応じて、欲しい情報をパラメータで渡すことが可能です。
group_id required | integer (GroupId) |
limit | integer [ 1 .. 100 ] Default: 20 The numbers of items to return |
next | string string |
include_status | number Enum: 0 1 add device status to device |
{- "items": [
- {
- "device": {
- "access_points": [
- {
- "ssid": "string"
}
], - "act": {
- "artifact_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "name": "string",
- "settings": { },
- "base_settings": { },
- "device_specific_settings": { }
}, - "auto_reboot_config": {
- "network_disconnected_threshold": 0
}, - "country_code": "string",
- "device_type": "string",
- "dying_log": {
- "log_level": "standard"
}, - "firmware_config": {
- "firmware_version": {
- "firmware_version": "string",
- "type": "latest"
}
}, - "firmware_update_masks": [
- {
- "day": 0,
- "days_of_week": {
- "fri": true,
- "mon": true,
- "sat": true,
- "sun": true,
- "thu": true,
- "tue": true,
- "wed": true
}, - "hour_range": {
- "begin": 0,
- "end": 0
}, - "month": 0,
- "type": "days_of_week",
- "tz": "string"
}
], - "firmware_version": "string",
- "firmware_version_timestamp": "2019-08-24T14:15:22Z",
- "foundness": "Found",
- "hardware_id": "string",
- "host_version": "string",
- "hostname": "string",
- "id": "string",
- "last_os_booted_at": "2019-08-24T14:15:22Z",
- "mac_addr": "string",
- "mdns_config": {
- "enabled": true
}, - "name": "string",
- "registered_at": "2019-08-24T14:15:22Z",
- "reported_act": {
- "artifact_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "installed_at": "2019-08-24T14:15:22Z",
- "name": "string",
- "settings": { }
}, - "tags": [
- "string"
], - "target_triple": "string"
}, - "status": {
- "act_latest_event": {
- "act_id": 0,
- "event_type": "act_downloading",
- "should_retry": true,
- "status": {
- "exited": 0,
- "type": "act_exited"
}, - "uptime": 0
}, - "act_status": "started",
- "connected_devices": {
- "device": [
- "string"
], - "type": "camera"
}, - "connected_ssid": "string",
- "cpu_temperature": 0,
- "disk": 0,
- "disk_usage": 0,
- "foundness": "Found",
- "id": "string",
- "last_updated": "2019-08-24T14:15:22Z",
- "memory": 0,
- "memory_usage": 0,
- "settings": { },
- "signal_strength": 0,
- "throttled": {
- "currently_throttled": true,
- "frequency_capped": true,
- "frequency_capping_occurred": true,
- "soft_temperature_limit_active": true,
- "soft_temperature_limit_occurred": true,
- "throttling_occurred": true,
- "under_voltage_detected": true,
- "under_voltage_occurred": true
}, - "uptime": 0
}
}
], - "total": 0,
- "next": "string"
}
グループが管理しているデバイスに対してコマンドを送信します。 必要に応じて、デバイスを限定するクエリを渡すことが可能です。
group_id required | integer (GroupId) |
q | string random query to search something |
object (UpdateDevicesOperation) type が update_device_info の時は tags, access_points, firmware_update_masks, firmware_config, auto_reboot_config, dying_log, mdns_config フィールド type が update_device_act の時は id, settings restore フィールド(settings が null | undefined の場合はデバイス固有の設定を削除します)(restore: true のときは、以前の固有設定があればそれを使い、なければ共通設定を使います) type が create_device_job の時は command フィールド がそれぞれ存在します。 type が uninstall_act, unregister_device の時は追加のフィールドはありません。 |
{- "operation": {
- "access_points": [
- {
- "modified": true,
- "passphrase": "string",
- "ssid": "string"
}
], - "auto_reboot_config": {
- "network_disconnected_threshold": 0
}, - "command": "take_photo",
- "dying_log": {
- "log_level": "standard"
}, - "firmware_config": {
- "firmware_version": {
- "firmware_version": "string",
- "type": "latest"
}
}, - "firmware_update_masks": [
- {
- "day": 0,
- "days_of_week": {
- "fri": true,
- "mon": true,
- "sat": true,
- "sun": true,
- "thu": true,
- "tue": true,
- "wed": true
}, - "hour_range": {
- "begin": 0,
- "end": 0
}, - "month": 0,
- "type": "days_of_week",
- "tz": "string"
}
], - "id": 0,
- "mdns_config": {
- "enabled": true
}, - "restore": true,
- "settings": { },
- "tags": [
- "string"
], - "type": "update_device_info"
}
}
{- "code": "string",
- "message": "string"
}
デバイスの情報を返します。 必要に応じて、欲しい情報をパラメータで渡すことが可能です。
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
include_status | number Enum: 0 1 add device status to device |
{- "device": {
- "access_points": [
- {
- "ssid": "string"
}
], - "act": {
- "artifact_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "name": "string",
- "settings": { },
- "base_settings": { },
- "device_specific_settings": { }
}, - "auto_reboot_config": {
- "network_disconnected_threshold": 0
}, - "country_code": "string",
- "device_type": "string",
- "dying_log": {
- "log_level": "standard"
}, - "firmware_config": {
- "firmware_version": {
- "firmware_version": "string",
- "type": "latest"
}
}, - "firmware_update_masks": [
- {
- "day": 0,
- "days_of_week": {
- "fri": true,
- "mon": true,
- "sat": true,
- "sun": true,
- "thu": true,
- "tue": true,
- "wed": true
}, - "hour_range": {
- "begin": 0,
- "end": 0
}, - "month": 0,
- "type": "days_of_week",
- "tz": "string"
}
], - "firmware_version": "string",
- "firmware_version_timestamp": "2019-08-24T14:15:22Z",
- "foundness": "Found",
- "hardware_id": "string",
- "host_version": "string",
- "hostname": "string",
- "id": "string",
- "last_os_booted_at": "2019-08-24T14:15:22Z",
- "mac_addr": "string",
- "mdns_config": {
- "enabled": true
}, - "name": "string",
- "registered_at": "2019-08-24T14:15:22Z",
- "reported_act": {
- "artifact_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "installed_at": "2019-08-24T14:15:22Z",
- "name": "string",
- "settings": { }
}, - "tags": [
- "string"
], - "target_triple": "string"
}, - "status": {
- "act_latest_event": {
- "act_id": 0,
- "event_type": "act_downloading",
- "should_retry": true,
- "status": {
- "exited": 0,
- "type": "act_exited"
}, - "uptime": 0
}, - "act_status": "started",
- "connected_devices": {
- "device": [
- "string"
], - "type": "camera"
}, - "connected_ssid": "string",
- "cpu_temperature": 0,
- "disk": 0,
- "disk_usage": 0,
- "foundness": "Found",
- "id": "string",
- "last_updated": "2019-08-24T14:15:22Z",
- "memory": 0,
- "memory_usage": 0,
- "settings": { },
- "signal_strength": 0,
- "throttled": {
- "currently_throttled": true,
- "frequency_capped": true,
- "frequency_capping_occurred": true,
- "soft_temperature_limit_active": true,
- "soft_temperature_limit_occurred": true,
- "throttling_occurred": true,
- "under_voltage_detected": true,
- "under_voltage_occurred": true
}, - "uptime": 0
}
}
デバイスの名前やタグを変更します
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
include_status | number Enum: 0 1 add device status to device |
name | string (Name) [ 1 .. 100 ] characters |
hostname | string (Hostname) |
country_code | string (CountryCode) |
tags | Array of strings (DeviceTagName) [ items [ 1 .. 128 ] characters ] |
Array of objects | |
Array of objects (FirmwareUpdateMask) | |
object (FirmwareConfig) | |
object (MdnsConfig) |
{- "name": "string",
- "hostname": "string",
- "country_code": "string",
- "tags": [
- "string"
], - "access_points": [
- {
- "modified": true,
- "ssid": "string",
- "passphrase": "string"
}
], - "firmware_update_masks": [
- {
- "day": 0,
- "days_of_week": {
- "fri": true,
- "mon": true,
- "sat": true,
- "sun": true,
- "thu": true,
- "tue": true,
- "wed": true
}, - "hour_range": {
- "begin": 0,
- "end": 0
}, - "month": 0,
- "type": "days_of_week",
- "tz": "string"
}
], - "firmware_config": {
- "firmware_version": {
- "firmware_version": "string",
- "type": "latest"
}
}, - "mdns_config": {
- "enabled": true
}
}
{- "code": "string",
- "message": "string"
}
デバイスを管理対象から外します
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
include_status | number Enum: 0 1 add device status to device |
{- "code": "string",
- "message": "string"
}
デバイスに設定されているActの情報を返します。 デバイスにActが設定されていない場合404 act_not_installedが返ります。
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
{- "artifact_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "name": "string",
- "settings": { },
- "base_settings": { },
- "device_specific_settings": { }
}
デバイスに設定されているActの詳細設定を変更します settingsはreleaseのsetting_schemaに適合しなければなりません
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
settings | object |
{- "settings": { }
}
{- "code": "string",
- "message": "string"
}
デバイスに設定されているActを変更します。 settingsはreleaseのsetting_schemaに適合しなければなりません device にインストール可能な Act の Release バイナリがなかった場合 404 が返ります
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
id required | integer (ActId) |
settings | object |
{- "id": 0,
- "settings": { }
}
{- "code": "string",
- "message": "string"
}
過去14日以内のデバイスのログを返します(デバイス上のActのログを含みません)
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
start | integer (UnixTimeMillis) older limit to show logs |
end | integer (UnixTimeMillis) newer limit to show logs |
limit | integer [ 1 .. 100 ] Default: 20 The numbers of items to return |
next | string string |
{- "items": [
- {
- "data": "string",
- "device_id": "string",
- "timestamp": "2019-08-24T14:15:22Z"
}
], - "next": "string"
}
デバイスに設定されているActの過去14日以内の出力ログを返します。
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
limit | integer [ 1 .. 100 ] Default: 20 The numbers of items to return |
next | string string |
start | integer (UnixTimeMillis) older limit to show logs |
end | integer (UnixTimeMillis) newer limit to show logs |
{- "items": [
- {
- "act_id": 0,
- "data": { },
- "device_id": "string",
- "timestamp": "2019-08-24T14:15:22Z"
}
], - "next": "string"
}
デバイスにジョブコマンドを送信します。
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
job_command_type required | string (JobCommandType) Enum: "take_photo" "firmware_update" "os_reboot" "device_status" "os_shutdown" "blink_led" "upgrade_to_actcastos2" "upgrade_to_actcastos3" |
{- "code": "string",
- "message": "string"
}
最後に撮影したカメラ画像の情報を返します。 URLは画像サーバーが期限付きで発行します。
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
{- "photo": {
- "expires_at": "2019-08-24T14:15:22Z",
- "taken_at": "2019-08-24T14:15:22Z",
- "url": "string"
}, - "requested_at": "2019-08-24T14:15:22Z"
}
{- "app": {
- "categories": [
- 0
], - "deleting": {
- "scheduled_at": "2019-08-24T14:15:22Z"
}, - "id": 0,
- "name": "string",
- "price_tier": {
- "amounts": {
- "jpy": {
- "amount": 0,
- "exponent": 0,
- "tax": 0
}, - "usd": {
- "amount": 0,
- "exponent": 0,
- "tax": 0
}
}, - "id": 0,
- "name": "string"
}, - "restricted": true,
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "vendor_id": 0,
- "vendor_name": "string"
}, - "latest_release": {
- "artifact_id": 0,
- "revision": 0,
- "short_description": "string",
- "short_descriptions": { },
- "version": "string"
}
}
リリースの詳細情報を返します。
artifact_id required | integer (ArtifactId) |
{- "app_id": 0,
- "artifact_id": 0,
- "id": 0,
- "long_description": "string",
- "long_descriptions": { },
- "manifesto": [
- { }
], - "revision": 0,
- "setting_schema": { },
- "short_description": "string",
- "short_descriptions": { },
- "version": "string"
}
デバイスに設定されているActの情報を返します。 デバイスにActが設定されていない場合404 act_not_installedが返ります。
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
{- "artifact_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "name": "string",
- "settings": { },
- "base_settings": { },
- "device_specific_settings": { }
}
デバイスに設定されているActの詳細設定を変更します settingsはreleaseのsetting_schemaに適合しなければなりません
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
settings | object |
{- "settings": { }
}
{- "code": "string",
- "message": "string"
}
デバイスに設定されているActを変更します。 settingsはreleaseのsetting_schemaに適合しなければなりません device にインストール可能な Act の Release バイナリがなかった場合 404 が返ります
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
id required | integer (ActId) |
settings | object |
{- "id": 0,
- "settings": { }
}
{- "code": "string",
- "message": "string"
}
デバイスに設定されているActの過去14日以内の出力ログを返します。
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
limit | integer [ 1 .. 100 ] Default: 20 The numbers of items to return |
next | string string |
start | integer (UnixTimeMillis) older limit to show logs |
end | integer (UnixTimeMillis) newer limit to show logs |
{- "items": [
- {
- "act_id": 0,
- "data": { },
- "device_id": "string",
- "timestamp": "2019-08-24T14:15:22Z"
}
], - "next": "string"
}
groupで使用しているact一覧を返します。
group_id required | integer (GroupId) |
limit | integer [ 1 .. 100 ] Default: 20 The numbers of items to return |
offset | integer Default: 0 The number of items to skip before starting to collect the result set |
{- "total": 0,
- "items": [
- {
- "artifact_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "name": "string",
- "settings": { },
- "app": {
- "app": {
- "categories": [
- 0
], - "deleting": {
- "scheduled_at": "2019-08-24T14:15:22Z"
}, - "id": 0,
- "name": "string",
- "price_tier": {
- "amounts": {
- "jpy": {
- "amount": 0,
- "exponent": 0,
- "tax": 0
}, - "usd": {
- "amount": 0,
- "exponent": 0,
- "tax": 0
}
}, - "id": 0,
- "name": "string"
}, - "restricted": true,
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "vendor_id": 0,
- "vendor_name": "string"
}, - "latest_artifact": {
- "artifact_id": 0,
- "revision": 0,
- "short_description": "string",
- "short_descriptions": { },
- "version": "string"
}, - "latest_release": {
- "artifact_id": 0,
- "revision": 0,
- "short_description": "string",
- "short_descriptions": { },
- "version": "string"
}
}, - "release": {
- "artifact_id": 0,
- "revision": 0,
- "short_description": "string",
- "short_descriptions": { },
- "version": "string"
}
}
]
}
actの情報を返します
group_id required | integer (GroupId) |
act_id required | integer (ActId) |
{- "artifact_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "id": 0,
- "name": "string",
- "settings": { },
- "app": {
- "app": {
- "categories": [
- 0
], - "deleting": {
- "scheduled_at": "2019-08-24T14:15:22Z"
}, - "id": 0,
- "name": "string",
- "price_tier": {
- "amounts": {
- "jpy": {
- "amount": 0,
- "exponent": 0,
- "tax": 0
}, - "usd": {
- "amount": 0,
- "exponent": 0,
- "tax": 0
}
}, - "id": 0,
- "name": "string"
}, - "restricted": true,
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "vendor_id": 0,
- "vendor_name": "string"
}, - "latest_artifact": {
- "artifact_id": 0,
- "revision": 0,
- "short_description": "string",
- "short_descriptions": { },
- "version": "string"
}, - "latest_release": {
- "artifact_id": 0,
- "revision": 0,
- "short_description": "string",
- "short_descriptions": { },
- "version": "string"
}
}, - "release": {
- "artifact_id": 0,
- "revision": 0,
- "short_description": "string",
- "short_descriptions": { },
- "version": "string"
}
}
過去14日以内のデバイスのログを返します(デバイス上のActのログを含みません)
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
start | integer (UnixTimeMillis) older limit to show logs |
end | integer (UnixTimeMillis) newer limit to show logs |
limit | integer [ 1 .. 100 ] Default: 20 The numbers of items to return |
next | string string |
{- "items": [
- {
- "data": "string",
- "device_id": "string",
- "timestamp": "2019-08-24T14:15:22Z"
}
], - "next": "string"
}
過去14日以内のデバイスのイベントログを返します
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
start | integer (UnixTimeMillis) older limit to show logs |
end | integer (UnixTimeMillis) newer limit to show logs |
limit | integer [ 1 .. 100 ] Default: 20 The numbers of items to return |
next | string string |
{- "items": [
- {
- "description": "string",
- "event": {
- "type": "connected"
}, - "timestamp": "2019-08-24T14:15:22Z"
}
], - "next": "string"
}
デバイスに設定されているActの過去14日以内の出力ログを返します。
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
limit | integer [ 1 .. 100 ] Default: 20 The numbers of items to return |
next | string string |
start | integer (UnixTimeMillis) older limit to show logs |
end | integer (UnixTimeMillis) newer limit to show logs |
{- "items": [
- {
- "act_id": 0,
- "data": { },
- "device_id": "string",
- "timestamp": "2019-08-24T14:15:22Z"
}
], - "next": "string"
}
デバイスにジョブコマンドを送信します。
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
job_command_type required | string (JobCommandType) Enum: "take_photo" "firmware_update" "os_reboot" "device_status" "os_shutdown" "blink_led" "upgrade_to_actcastos2" "upgrade_to_actcastos3" |
{- "code": "string",
- "message": "string"
}
最後に撮影したカメラ画像の情報を返します。 URLは画像サーバーが期限付きで発行します。
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
{- "photo": {
- "expires_at": "2019-08-24T14:15:22Z",
- "taken_at": "2019-08-24T14:15:22Z",
- "url": "string"
}, - "requested_at": "2019-08-24T14:15:22Z"
}
グループの情報を返します。
group_id required | integer (GroupId) |
{- "id": 0,
- "name": "string",
- "vendor_phase": "restricted",
- "vendor_tokutei": {
- "address": "string",
- "contact": "string",
- "representative": "string",
- "seller": "string"
}
}
ファームウェアのリリース詳細を返します
group_id required | integer (GroupId) |
firmware_version | string |
firmware_type | string |
next | string string |
{- "items": [
- {
- "firmware_type": "string",
- "firmware_version": "string",
- "packages": { },
- "release_date": "2019-08-24T14:15:22Z"
}
], - "next": "string"
}
過去14日以内のデバイスのイベントログを返します
group_id required | integer (GroupId) |
device_id required | string (DeviceId) |
start | integer (UnixTimeMillis) older limit to show logs |
end | integer (UnixTimeMillis) newer limit to show logs |
limit | integer [ 1 .. 100 ] Default: 20 The numbers of items to return |
next | string string |
{- "items": [
- {
- "description": "string",
- "event": {
- "type": "connected"
}, - "timestamp": "2019-08-24T14:15:22Z"
}
], - "next": "string"
}