# golioth API API

> golioth API API on Apizie: 106 endpoints (POST /v1/artifacts, POST /v1/billing/webhook, GET /v1/boards, GET /v1/boards/{id}, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/iot:golioth/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `iot:golioth`
- Category: IoT
- Status: byok
- Source: https://golioth.io
- Page: https://apizie.tech/api/iot/golioth
- OpenAPI: https://apizie.tech/api/iot/golioth/openapi.json

Built IoT your way without the stress. Securely connect your MCU then capture and route sensor data anywhere with the Golioth SDK. Build secure, scalable, and innovative IoT in a fraction of the time.

## Endpoints

### POST /v1/artifacts
`POST https://apizie.tech/v1/iot:golioth/artifacts-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### POST /v1/billing/webhook
`POST https://apizie.tech/v1/iot:golioth/billing-payment-webhook` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### GET /v1/boards
`GET https://apizie.tech/v1/iot:golioth/boards-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | no |  |
| platform | string | no |  |

### GET /v1/boards/{id}
`GET https://apizie.tech/v1/iot:golioth/boards-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |

### GET /v1/integration-types
`GET https://apizie.tech/v1/iot:golioth/integrations-list-integration-types` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | no |  |
| perPage | integer | no |  |

### GET /v1/organizations
`GET https://apizie.tech/v1/iot:golioth/organizations-list` (byok)

### POST /v1/organizations
`POST https://apizie.tech/v1/iot:golioth/organizations-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### GET /v1/organizations/{organizationId}
`GET https://apizie.tech/v1/iot:golioth/organizations-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationId | string | yes |  |

### PUT /v1/organizations/{organizationId}
`POST https://apizie.tech/v1/iot:golioth/organizations-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationId | string | yes |  |
| updateMask | string | no |  |
| body | object | yes | JSON request body |

### PATCH /v1/organizations/{organizationId}
`POST https://apizie.tech/v1/iot:golioth/organizations-update2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationId | string | yes |  |
| body | object | yes | JSON request body |

### POST /v1/organizations/{organizationId}/checkout_sessions
`POST https://apizie.tech/v1/iot:golioth/billing-create-checkout-session` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationId | string | yes |  |
| body | object | yes | JSON request body |

### POST /v1/organizations/{organizationId}/customer_portal_sessions
`POST https://apizie.tech/v1/iot:golioth/billing-create-customer-portal-session` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationId | string | yes |  |
| body | object | yes | JSON request body |

### GET /v1/organizations/{organizationId}/quotas
`GET https://apizie.tech/v1/iot:golioth/organizations-get-quota` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationId | string | yes |  |

### GET /v1/organizations/{organizationId}/usage
`GET https://apizie.tech/v1/iot:golioth/usage-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationId | string | yes |  |
| start | string | no |  |
| end | string | no |  |

### GET /v1/projects
`GET https://apizie.tech/v1/iot:golioth/projects-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| organizationId | string | no |  |

### POST /v1/projects
`POST https://apizie.tech/v1/iot:golioth/projects-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### GET /v1/projects/{projectId}
`GET https://apizie.tech/v1/iot:golioth/projects-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |

### PUT /v1/projects/{projectId}
`POST https://apizie.tech/v1/iot:golioth/projects-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| updateMask | string | no |  |
| body | object | yes | JSON request body |

### PATCH /v1/projects/{projectId}
`POST https://apizie.tech/v1/iot:golioth/projects-update2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| body | object | yes | JSON request body |

### DELETE /v1/projects/{projectId}
`POST https://apizie.tech/v1/iot:golioth/projects-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |

### GET /v1/projects/{projectId}/apikeys
`GET https://apizie.tech/v1/iot:golioth/apikeys-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| page | integer | no |  |
| perPage | integer | no |  |

### POST /v1/projects/{projectId}/apikeys
`POST https://apizie.tech/v1/iot:golioth/apikeys-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| body | object | yes | JSON request body |

### PATCH /v1/projects/{projectId}/apikeys/{apikeyId}
`POST https://apizie.tech/v1/iot:golioth/apikeys-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| apikeyId | string | yes |  |
| body | object | yes | JSON request body |

### DELETE /v1/projects/{projectId}/apikeys/{apikeyId}
`POST https://apizie.tech/v1/iot:golioth/apikeys-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| apikeyId | string | yes |  |

### GET /v1/projects/{projectId}/artifacts
`GET https://apizie.tech/v1/iot:golioth/artifacts-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| page | integer | no |  |
| perPage | integer | no |  |
| version | string | no |  |
| blueprintId | string | no |  |
| package | string | no |  |
| ids | array | no |  |

### GET /v1/projects/{projectId}/artifacts/{artifactId}
`GET https://apizie.tech/v1/iot:golioth/artifacts-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| artifactId | string | yes |  |

### PUT /v1/projects/{projectId}/artifacts/{artifactId}
`POST https://apizie.tech/v1/iot:golioth/artifacts-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| artifactId | string | yes |  |
| updateMask | string | no |  |
| body | object | yes | JSON request body |

### PATCH /v1/projects/{projectId}/artifacts/{artifactId}
`POST https://apizie.tech/v1/iot:golioth/artifacts-update2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| artifactId | string | yes |  |
| body | object | yes | JSON request body |

### DELETE /v1/projects/{projectId}/artifacts/{artifactId}
`POST https://apizie.tech/v1/iot:golioth/artifacts-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| artifactId | string | yes |  |

### GET /v1/projects/{projectId}/blueprints
`GET https://apizie.tech/v1/iot:golioth/blueprints-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| page | integer | no |  |
| perPage | integer | no |  |
| blueprintName | string | no |  |
| ids | array | no |  |
| boardId | string | no |  |
| platform | string | no |  |

### POST /v1/projects/{projectId}/blueprints
`POST https://apizie.tech/v1/iot:golioth/blueprints-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| body | object | yes | JSON request body |

### GET /v1/projects/{projectId}/blueprints/{blueprintId}
`GET https://apizie.tech/v1/iot:golioth/blueprints-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| blueprintId | string | yes |  |

### PUT /v1/projects/{projectId}/blueprints/{blueprintId}
`POST https://apizie.tech/v1/iot:golioth/blueprints-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| blueprintId | string | yes |  |
| updateMask | string | no |  |
| body | object | yes | JSON request body |

### PATCH /v1/projects/{projectId}/blueprints/{blueprintId}
`POST https://apizie.tech/v1/iot:golioth/blueprints-update2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| blueprintId | string | yes |  |
| body | object | yes | JSON request body |

### DELETE /v1/projects/{projectId}/blueprints/{blueprintId}
`POST https://apizie.tech/v1/iot:golioth/blueprints-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| blueprintId | string | yes |  |

### GET /v1/projects/{projectId}/certificates
`GET https://apizie.tech/v1/iot:golioth/certificates-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| page | integer | no |  |
| perPage | integer | no | TODO: filter by: device_id, enabled/disabled, start/end expiration date, cert type, may increase filters in the future |

### POST /v1/projects/{projectId}/certificates
`POST https://apizie.tech/v1/iot:golioth/certificates-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| body | object | yes | JSON request body |

### GET /v1/projects/{projectId}/certificates/{certificateId}
`GET https://apizie.tech/v1/iot:golioth/certificates-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| certificateId | string | yes |  |

### DELETE /v1/projects/{projectId}/certificates/{certificateId}
`POST https://apizie.tech/v1/iot:golioth/certificates-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| certificateId | string | yes |  |

### POST /v1/projects/{projectId}/credentials
`POST https://apizie.tech/v1/iot:golioth/credentials-create2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| body | object | yes | JSON request body |

### DELETE /v1/projects/{projectId}/credentials/{credentialId}
`POST https://apizie.tech/v1/iot:golioth/credentials-delete2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| credentialId | string | yes |  |
| deviceId | string | no |  |

### GET /v1/projects/{projectId}/device-activity-logs
`GET https://apizie.tech/v1/iot:golioth/logs-get-latest-device-activity-logs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| page | integer | no |  |
| perPage | integer | no |  |

### GET /v1/projects/{projectId}/devices
`GET https://apizie.tech/v1/iot:golioth/devices-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| page | integer | no |  |
| perPage | integer | no |  |
| deviceName | string | no |  |
| hardwareId | string | no |  |
| tags | array | no |  |
| blueprintId | string | no |  |
| statePath | string | no |  |
| streamPath | string | no |  |
| updatePath | string | no |  |
| term | string | no |  |
| enabled | boolean | no |  |

### POST /v1/projects/{projectId}/devices
`POST https://apizie.tech/v1/iot:golioth/devices-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| body | object | yes | JSON request body |

### GET /v1/projects/{projectId}/devices/{deviceId}
`GET https://apizie.tech/v1/iot:golioth/devices-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |

### PUT /v1/projects/{projectId}/devices/{deviceId}
`POST https://apizie.tech/v1/iot:golioth/devices-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |
| updateMask | string | no |  |
| body | object | yes | JSON request body |

### PATCH /v1/projects/{projectId}/devices/{deviceId}
`POST https://apizie.tech/v1/iot:golioth/devices-update2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |
| body | object | yes | JSON request body |

### DELETE /v1/projects/{projectId}/devices/{deviceId}
`POST https://apizie.tech/v1/iot:golioth/devices-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |

### GET /v1/projects/{projectId}/devices/{deviceId}/credentials
`GET https://apizie.tech/v1/iot:golioth/credentials-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |

### POST /v1/projects/{projectId}/devices/{deviceId}/credentials
`POST https://apizie.tech/v1/iot:golioth/credentials-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |
| body | object | yes | JSON request body |

### DELETE /v1/projects/{projectId}/devices/{deviceId}/credentials/{credentialId}
`POST https://apizie.tech/v1/iot:golioth/credentials-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |
| credentialId | string | yes |  |

### GET /v1/projects/{projectId}/devices/{deviceId}/data/{path}
`GET https://apizie.tech/v1/iot:golioth/device-state-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |
| path | string | yes |  |

### POST /v1/projects/{projectId}/devices/{deviceId}/data/{path}
`POST https://apizie.tech/v1/iot:golioth/device-state-update3` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |
| path | string | yes |  |
| body | object | yes | JSON request body |

### PUT /v1/projects/{projectId}/devices/{deviceId}/data/{path}
`POST https://apizie.tech/v1/iot:golioth/device-state-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |
| path | string | yes |  |
| body | object | yes | JSON request body |

### PATCH /v1/projects/{projectId}/devices/{deviceId}/data/{path}
`POST https://apizie.tech/v1/iot:golioth/device-state-update2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |
| path | string | yes |  |
| body | object | yes | JSON request body |

### DELETE /v1/projects/{projectId}/devices/{deviceId}/data/{path}
`POST https://apizie.tech/v1/iot:golioth/device-state-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |
| path | string | yes |  |

### POST /v1/projects/{projectId}/devices/{deviceId}/provisioning
`POST https://apizie.tech/v1/iot:golioth/provisioning-provision-device2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |
| body | object | yes | JSON request body |

### POST /v1/projects/{projectId}/devices/{deviceId}/rpc
`POST https://apizie.tech/v1/iot:golioth/device-remote-procedure-call-remote-procedure-call` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |
| body | object | yes | JSON request body |

### GET /v1/projects/{projectId}/devices/{deviceId}/settings
`GET https://apizie.tech/v1/iot:golioth/settings-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |

### GET /v1/projects/{projectId}/devices/{deviceId}/stream
`GET https://apizie.tech/v1/iot:golioth/device-stream-get-device-stream` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |
| start | string | no |  |
| end | string | no |  |
| interval | string | no |  |
| encodedQuery | string | no |  |
| query.timeBucket | string | no |  |
| page | integer | no |  |
| perPage | integer | no |  |

### POST /v1/projects/{projectId}/devices/{deviceId}/stream
`POST https://apizie.tech/v1/iot:golioth/device-stream-get-device-stream2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |
| body | object | yes | JSON request body |

### GET /v1/projects/{projectId}/devices/{deviceId}/stream/latest/{path}
`GET https://apizie.tech/v1/iot:golioth/device-stream-get-latest-stream` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | yes |  |
| path | string | yes |  |

### POST /v1/projects/{projectId}/devicesByTag/{tag}/data/{path}
`POST https://apizie.tech/v1/iot:golioth/device-state-update-by-tag3` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| tag | string | yes |  |
| path | string | yes |  |
| body | object | yes | JSON request body |

### PUT /v1/projects/{projectId}/devicesByTag/{tag}/data/{path}
`POST https://apizie.tech/v1/iot:golioth/device-state-update-by-tag` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| tag | string | yes |  |
| path | string | yes |  |
| body | object | yes | JSON request body |

### PATCH /v1/projects/{projectId}/devicesByTag/{tag}/data/{path}
`POST https://apizie.tech/v1/iot:golioth/device-state-update-by-tag2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| tag | string | yes |  |
| path | string | yes |  |
| body | object | yes | JSON request body |

### DELETE /v1/projects/{projectId}/devicesByTag/{tag}/data/{path}
`POST https://apizie.tech/v1/iot:golioth/device-state-delete-by-tag` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| tag | string | yes |  |
| path | string | yes |  |

### GET /v1/projects/{projectId}/firmware/logs
`GET https://apizie.tech/v1/iot:golioth/firmwares-logs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| page | integer | no |  |
| perPage | integer | no |  |
| version | string | no |  |
| target | string | no |  |
| state | string | no |  |
| reason | string | no |  |
| deviceId | array | no |  |
| start | string | no |  |
| end | string | no |  |

### GET /v1/projects/{projectId}/integrations
`GET https://apizie.tech/v1/iot:golioth/integrations-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| page | integer | no |  |
| perPage | integer | no |  |
| name | string | no |  |
| ids | array | no |  |
| type | string | no |  |

### POST /v1/projects/{projectId}/integrations
`POST https://apizie.tech/v1/iot:golioth/integrations-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| body | object | yes | JSON request body |

### POST /v1/projects/{projectId}/integrations/validate
`POST https://apizie.tech/v1/iot:golioth/integrations-validate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| body | object | yes | JSON request body |

### GET /v1/projects/{projectId}/integrations/{integrationId}
`GET https://apizie.tech/v1/iot:golioth/integrations-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| integrationId | string | yes |  |

### PUT /v1/projects/{projectId}/integrations/{integrationId}
`POST https://apizie.tech/v1/iot:golioth/integrations-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| integrationId | string | yes |  |
| updateMask | string | no |  |
| body | object | yes | JSON request body |

### PATCH /v1/projects/{projectId}/integrations/{integrationId}
`POST https://apizie.tech/v1/iot:golioth/integrations-update2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| integrationId | string | yes |  |
| body | object | yes | JSON request body |

### DELETE /v1/projects/{projectId}/integrations/{integrationId}
`POST https://apizie.tech/v1/iot:golioth/integrations-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| integrationId | string | yes |  |

### POST /v1/projects/{projectId}/integrations/{integrationId}/test
`POST https://apizie.tech/v1/iot:golioth/integrations-test` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| integrationId | string | yes |  |
| body | object | yes | JSON request body |

### GET /v1/projects/{projectId}/logs
`GET https://apizie.tech/v1/iot:golioth/logs-get-logs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| deviceId | string | no |  |
| start | string | no |  |
| end | string | no |  |
| module | string | no |  |
| level | string | no |  |
| term | string | no |  |
| tags | array | no |  |

### GET /v1/projects/{projectId}/permissions
`GET https://apizie.tech/v1/iot:golioth/access-list-permissions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |

### GET /v1/projects/{projectId}/policies
`GET https://apizie.tech/v1/iot:golioth/access-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| page | integer | no |  |
| perPage | integer | no |  |
| userId | string | no |  |

### GET /v1/projects/{projectId}/policies/{policyId}
`GET https://apizie.tech/v1/iot:golioth/access-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| policyId | string | yes |  |

### PUT /v1/projects/{projectId}/policies/{policyId}
`POST https://apizie.tech/v1/iot:golioth/access-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| policyId | string | yes |  |
| updateMask | string | no |  |
| body | object | yes | JSON request body |

### PATCH /v1/projects/{projectId}/policies/{policyId}
`POST https://apizie.tech/v1/iot:golioth/access-update2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| policyId | string | yes |  |
| body | object | yes | JSON request body |

### DELETE /v1/projects/{projectId}/policies/{policyId}
`POST https://apizie.tech/v1/iot:golioth/access-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| policyId | string | yes |  |

### POST /v1/projects/{projectId}/provisioning
`POST https://apizie.tech/v1/iot:golioth/provisioning-provision-device` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| body | object | yes | JSON request body |

### GET /v1/projects/{projectId}/releases
`GET https://apizie.tech/v1/iot:golioth/releases-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| page | integer | no |  |
| perPage | integer | no |  |
| releaseTags | array | no |  |
| deviceTags | array | no |  |
| ids | array | no |  |
| rollout | boolean | no |  |
| blueprintId | string | no |  |

### POST /v1/projects/{projectId}/releases
`POST https://apizie.tech/v1/iot:golioth/releases-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| body | object | yes | JSON request body |

### GET /v1/projects/{projectId}/releases/{releaseId}
`GET https://apizie.tech/v1/iot:golioth/releases-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| releaseId | string | yes |  |

### PUT /v1/projects/{projectId}/releases/{releaseId}
`POST https://apizie.tech/v1/iot:golioth/releases-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| releaseId | string | yes |  |
| updateMask | string | no |  |
| body | object | yes | JSON request body |

### PATCH /v1/projects/{projectId}/releases/{releaseId}
`POST https://apizie.tech/v1/iot:golioth/releases-update2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| releaseId | string | yes |  |
| body | object | yes | JSON request body |

### DELETE /v1/projects/{projectId}/releases/{releaseId}
`POST https://apizie.tech/v1/iot:golioth/releases-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| releaseId | string | yes |  |

### GET /v1/projects/{projectId}/settings
`GET https://apizie.tech/v1/iot:golioth/settings-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| blueprintId | string | no |  |
| deviceId | string | no |  |

### POST /v1/projects/{projectId}/settings
`POST https://apizie.tech/v1/iot:golioth/settings-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| body | object | yes | JSON request body |

### PUT /v1/projects/{projectId}/settings/{settingId}
`POST https://apizie.tech/v1/iot:golioth/settings-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| settingId | string | yes |  |
| body | object | yes | JSON request body |

### PATCH /v1/projects/{projectId}/settings/{settingId}
`POST https://apizie.tech/v1/iot:golioth/settings-update2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| settingId | string | yes |  |
| body | object | yes | JSON request body |

### DELETE /v1/projects/{projectId}/settings/{settingId}
`POST https://apizie.tech/v1/iot:golioth/settings-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| settingId | string | yes |  |

### GET /v1/projects/{projectId}/stream
`GET https://apizie.tech/v1/iot:golioth/device-stream-get-project-stream` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| start | string | no |  |
| end | string | no |  |
| interval | string | no |  |
| encodedQuery | string | no |  |
| query.timeBucket | string | no |  |
| deviceId | array | no |  |
| page | integer | no |  |
| perPage | integer | no |  |
| tags | array | no |  |

### POST /v1/projects/{projectId}/stream
`POST https://apizie.tech/v1/iot:golioth/device-stream-get-project-stream2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| body | object | yes | JSON request body |

### GET /v1/projects/{projectId}/tags
`GET https://apizie.tech/v1/iot:golioth/tags-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| page | integer | no |  |
| perPage | integer | no |  |
| tagName | string | no |  |
| ids | array | no |  |

### POST /v1/projects/{projectId}/tags
`POST https://apizie.tech/v1/iot:golioth/tags-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| body | object | yes | JSON request body |

### GET /v1/projects/{projectId}/tags/{tagId}
`GET https://apizie.tech/v1/iot:golioth/tags-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| tagId | string | yes |  |

### PUT /v1/projects/{projectId}/tags/{tagId}
`POST https://apizie.tech/v1/iot:golioth/tags-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| tagId | string | yes |  |
| updateMask | string | no |  |
| body | object | yes | JSON request body |

### PATCH /v1/projects/{projectId}/tags/{tagId}
`POST https://apizie.tech/v1/iot:golioth/tags-update2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| tagId | string | yes |  |
| body | object | yes | JSON request body |

### DELETE /v1/projects/{projectId}/tags/{tagId}
`POST https://apizie.tech/v1/iot:golioth/tags-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| tagId | string | yes |  |

### GET /v1/projects/{projectId}/users
`GET https://apizie.tech/v1/iot:golioth/access-list-users` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |

### POST /v1/projects/{projectId}/users/invitation
`POST https://apizie.tech/v1/iot:golioth/access-invite-user` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| projectId | string | yes |  |
| body | object | yes | JSON request body |

### GET /v1/roles
`GET https://apizie.tech/v1/iot:golioth/access-list-roles` (byok)

### GET /v1/settings-data-types
`GET https://apizie.tech/v1/iot:golioth/settings-list-allowed-settings-data-types` (byok)

## Example
```
curl "https://apizie.tech/v1/iot:golioth/artifacts-create" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the golioth API API?
Create a free Apizie key, then send POST https://apizie.tech/v1/iot:golioth/artifacts-create with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the golioth API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. golioth API itself also needs your own key from api.golioth.io.

### Can AI agents use the golioth API API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key iot:golioth.

### What is the status of the golioth API API?
Needs your own provider key (bring your own key)
