Resources and monitoring
Resources are workspace objects that applications, monitors, and log senders target. List them using GET /v1/workspaces/{workspace_id}/resources; read or edit a resource using its UUID. Creation and update bodies are defined in the cloud reference.
Create a resource
Use a stable integration-specific external_id and a credential with resource-write access:
curl --fail-with-body -X POST \
"$ALSHIVAL_BASE_URL/v1/workspaces/$ALSHIVAL_WORKSPACE_ID/resources" \
-H "Authorization: Bearer $ALSHIVAL_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"external_id":"example:worker","name":"Worker","kind":"api","environment":"production"}'
Use the returned resource UUID in subsequent log URLs. Keep credentials out of resource descriptions and details, which are workspace-visible.
Logs and permissions
Each resource has its own JSON and OTLP log endpoints. A credential must have the necessary scope and access to that particular resource. A resource name or display URL does not replace the workspace/resource UUID pair in API paths.
Monitoring and alerts
The API exposes resource alerts, monitoring state/settings, monitoring subscriptions, and monitoring sources. Read current settings before applying changes. These are separate operations from ingesting application logs: writing an ERROR event does not configure a monitor.
Repository integration
Read the resource repository snapshot through /resources/{resource_id}/repository; request refresh with its /refresh operation. Availability depends on the resource's configured connection and authorization. Treat a refresh request as a request to update, not proof that new indexed content is already available.
SSH keys
The resource /ssh-key routes read metadata, set a public key, or remove the configured key as documented in the endpoint reference. Do not send private SSH keys to these endpoints. Changes require their corresponding permissions and should be verified by reading current state.
Shared file/document operations are not part of the currently published cloud OpenAPI surface; shared files live in Neural Labs. Do not build new integrations against hidden or retired upload routes.