# Cyoda Documentation ## Getting Started - [Install cyoda-go and create your first entity](https://docs.cyoda.net/markdown/getting-started/install-and-first-entity.md): Install cyoda-go with SQLite (the default), define an entity model, trigger a workflow, and read state back. ## Concepts - [APIs and surfaces](https://docs.cyoda.net/markdown/concepts/apis-and-surfaces.md): REST, gRPC, and Trino SQL — when and why to use each. - [Authentication and identity](https://docs.cyoda.net/markdown/concepts/authentication-and-identity.md): OAuth 2.0 tokens, machine-to-machine credentials, on-behalf-of exchange, and external key trust — conceptually. - [Design principles](https://docs.cyoda.net/markdown/concepts/design-principles.md): The mental model behind Cyoda: entities as durable state machines, transitions as the unit of change, and history as a first-class query surface. - [Digital twins and the growth path](https://docs.cyoda.net/markdown/concepts/digital-twins-and-growth-path.md): Why the same Cyoda app runs on any storage tier, and when to pick each tier. - [Entities and lifecycle](https://docs.cyoda.net/markdown/concepts/entities-and-lifecycle.md): Entities are durable state machines — schemas, states, transitions, and history. - [What is Cyoda?](https://docs.cyoda.net/markdown/concepts/what-is-cyoda.md): An Entity Database Management System — a database engine where the first-class abstraction is a stateful entity with schema, lifecycle, history, and transactional integrity. - [Workflows and events](https://docs.cyoda.net/markdown/concepts/workflows-and-events.md): State machines as a first-class concept — triggers, external processors, and audit trails. ## Build - [Analytics with SQL](https://docs.cyoda.net/markdown/build/analytics-with-sql.md): Query entities with Trino SQL — when its the right surface, how to connect, and where to find the full grammar. - [Build](https://docs.cyoda.net/markdown/build.md): Develop Cyoda applications — tier-agnostic patterns that work on any runtime. - [Client compute nodes](https://docs.cyoda.net/markdown/build/client-compute-nodes.md): Patterns for processor and criteria services — implementation, registration, and lifecycle. - [Edge messages](https://docs.cyoda.net/markdown/build/edge-messages.md): The edge-message store — a durable, tenant-scoped staging buffer at the platform edge, a peer of the entity store. - [Modeling entities](https://docs.cyoda.net/markdown/build/modeling-entities.md): Design patterns for entity schemas — boundaries, evolution, and validation. - [Searching entities](https://docs.cyoda.net/markdown/build/searching-entities.md): Query sets of entities over REST — direct vs async modes, predicates, pagination, and historical reads. - [Testing with digital twins](https://docs.cyoda.net/markdown/build/testing-with-digital-twins.md): In-memory mode as a test harness; running simulations at volumes exceeding production. - [Workflows and processors](https://docs.cyoda.net/markdown/build/workflows-and-processors.md): State-machine design, transitions, and external processors — with a preference for gRPC in compute nodes. - [Working with entities](https://docs.cyoda.net/markdown/build/working-with-entities.md): Create, read, update, and search entities via the cyoda-go API — worked examples. ## Run - [Desktop (single binary)](https://docs.cyoda.net/markdown/run/desktop.md): Run cyoda-go from a single binary — dev, low-volume production, in-memory and SQLite modes. - [Docker](https://docs.cyoda.net/markdown/run/docker.md): Run cyoda-go in Docker for bespoke integrations and local compositions. - [Kubernetes](https://docs.cyoda.net/markdown/run/kubernetes.md): Deploy cyoda-go with the Helm chart for clustered PostgreSQL-backed production. - [Run](https://docs.cyoda.net/markdown/run.md): The cyoda-go packaging ladder — desktop, docker, kubernetes, and hosted Cyoda Cloud. - [Storage engines](https://docs.cyoda.net/markdown/run/storage-engines.md): Five ways to run Cyoda — one application contract. ## Reference - [API reference](https://docs.cyoda.net/markdown/reference/api.md): REST and gRPC surfaces. - [BaseEvent](https://docs.cyoda.net/markdown/reference/schemas/common/base-event.md): Schema definition for BaseEvent - [CalculationMemberGreetEvent](https://docs.cyoda.net/markdown/reference/schemas/processing/calculation-member-greet-event.md): Schema definition for CalculationMemberGreetEvent - [CalculationMemberJoinEvent](https://docs.cyoda.net/markdown/reference/schemas/processing/calculation-member-join-event.md): Schema definition for CalculationMemberJoinEvent - [CalculationMemberKeepAliveEvent](https://docs.cyoda.net/markdown/reference/schemas/processing/calculation-member-keep-alive-event.md): Schema definition for CalculationMemberKeepAliveEvent - [CLI](https://docs.cyoda.net/markdown/reference/cli.md): cyoda-go command-line interface — narrative navigator over `cyoda help cli`. - [CloudEvents Schemas](https://docs.cyoda.net/markdown/reference/schemas.md): Complete reference for the CloudEvent and entity/model JSON schemas used in Cyoda - [CloudEventType](https://docs.cyoda.net/markdown/reference/schemas/common/cloud-event-type.md): Schema definition for CloudEventType - [Common Schemas](https://docs.cyoda.net/markdown/reference/schemas/common.md): JSON schemas in the Common category - [Configuration](https://docs.cyoda.net/markdown/reference/configuration.md): cyoda-go configuration model — narrative navigator over `cyoda help config`. - [DataFormat](https://docs.cyoda.net/markdown/reference/schemas/common/data-format.md): Specifies the format of the input data (e.g., JSON). - [DataPayload](https://docs.cyoda.net/markdown/reference/schemas/common/data-payload.md): Schema definition for DataPayload - [Entity model export](https://docs.cyoda.net/markdown/reference/entity-model-export.md): Wire format of the SIMPLE_VIEW and JSON_SCHEMA entity-model exports — response envelope, node descriptors, type descriptors, and error shapes. - [Entity Schemas](https://docs.cyoda.net/markdown/reference/schemas/entity.md): JSON schemas in the Entity category - [EntityChangeMeta](https://docs.cyoda.net/markdown/reference/schemas/common/entity-change-meta.md): Metadata about entity changes including transaction information and change type. - [EntityChangesMetadataGetRequest](https://docs.cyoda.net/markdown/reference/schemas/search/entity-changes-metadata-get-request.md): Schema definition for EntityChangesMetadataGetRequest - [EntityChangesMetadataResponse](https://docs.cyoda.net/markdown/reference/schemas/search/entity-changes-metadata-response.md): Schema definition for EntityChangesMetadataResponse - [EntityCreateCollectionRequest](https://docs.cyoda.net/markdown/reference/schemas/entity/entity-create-collection-request.md): Schema definition for EntityCreateCollectionRequest - [EntityCreatePayload](https://docs.cyoda.net/markdown/reference/schemas/entity/entity-create-payload.md): Schema definition for EntityCreatePayload - [EntityCreateRequest](https://docs.cyoda.net/markdown/reference/schemas/entity/entity-create-request.md): Schema definition for EntityCreateRequest - [EntityCriteriaCalculationRequest](https://docs.cyoda.net/markdown/reference/schemas/processing/entity-criteria-calculation-request.md): Schema definition for EntityCriteriaCalculationRequest - [EntityCriteriaCalculationResponse](https://docs.cyoda.net/markdown/reference/schemas/processing/entity-criteria-calculation-response.md): Schema definition for EntityCriteriaCalculationResponse - [EntityDeleteAllRequest](https://docs.cyoda.net/markdown/reference/schemas/entity/entity-delete-all-request.md): Schema definition for EntityDeleteAllRequest - [EntityDeleteAllResponse](https://docs.cyoda.net/markdown/reference/schemas/entity/entity-delete-all-response.md): Schema definition for EntityDeleteAllResponse - [EntityDeleteRequest](https://docs.cyoda.net/markdown/reference/schemas/entity/entity-delete-request.md): Schema definition for EntityDeleteRequest - [EntityDeleteResponse](https://docs.cyoda.net/markdown/reference/schemas/entity/entity-delete-response.md): Schema definition for EntityDeleteResponse - [EntityFunctionCalculationRequest](https://docs.cyoda.net/markdown/reference/schemas/processing/entity-function-calculation-request.md): Schema definition for EntityFunctionCalculationRequest - [EntityFunctionCalculationResponse](https://docs.cyoda.net/markdown/reference/schemas/processing/entity-function-calculation-response.md): Schema definition for EntityFunctionCalculationResponse - [EntityGetAllRequest](https://docs.cyoda.net/markdown/reference/schemas/search/entity-get-all-request.md): Schema definition for EntityGetAllRequest - [EntityGetRequest](https://docs.cyoda.net/markdown/reference/schemas/search/entity-get-request.md): Schema definition for EntityGetRequest - [EntityMetadata](https://docs.cyoda.net/markdown/reference/schemas/common/entity-metadata.md): Metadata about an entity. id, modelKey and creationDate are invariant against the point-in-time. All other values are with respect to the as-at point-in-time for which the entity was retrieved. If the point-in-time was not explicitly set, the values correspond to the latest state of the entity. - [EntityModelDeleteRequest](https://docs.cyoda.net/markdown/reference/schemas/model/entity-model-delete-request.md): Schema definition for EntityModelDeleteRequest - [EntityModelDeleteResponse](https://docs.cyoda.net/markdown/reference/schemas/model/entity-model-delete-response.md): Schema definition for EntityModelDeleteResponse - [EntityModelExportRequest](https://docs.cyoda.net/markdown/reference/schemas/model/entity-model-export-request.md): Schema definition for EntityModelExportRequest - [EntityModelExportResponse](https://docs.cyoda.net/markdown/reference/schemas/model/entity-model-export-response.md): Schema definition for EntityModelExportResponse - [EntityModelGetAllRequest](https://docs.cyoda.net/markdown/reference/schemas/model/entity-model-get-all-request.md): Schema definition for EntityModelGetAllRequest - [EntityModelGetAllResponse](https://docs.cyoda.net/markdown/reference/schemas/model/entity-model-get-all-response.md): Schema definition for EntityModelGetAllResponse - [EntityModelImportRequest](https://docs.cyoda.net/markdown/reference/schemas/model/entity-model-import-request.md): Schema definition for EntityModelImportRequest - [EntityModelImportResponse](https://docs.cyoda.net/markdown/reference/schemas/model/entity-model-import-response.md): Schema definition for EntityModelImportResponse - [EntityModelTransitionRequest](https://docs.cyoda.net/markdown/reference/schemas/model/entity-model-transition-request.md): Schema definition for EntityModelTransitionRequest - [EntityModelTransitionResponse](https://docs.cyoda.net/markdown/reference/schemas/model/entity-model-transition-response.md): Schema definition for EntityModelTransitionResponse - [EntityPatchPayload](https://docs.cyoda.net/markdown/reference/schemas/entity/entity-patch-payload.md): Schema definition for EntityPatchPayload - [EntityPatchRequest](https://docs.cyoda.net/markdown/reference/schemas/entity/entity-patch-request.md): Schema definition for EntityPatchRequest - [EntityProcessorCalculationRequest](https://docs.cyoda.net/markdown/reference/schemas/processing/entity-processor-calculation-request.md): Schema definition for EntityProcessorCalculationRequest - [EntityProcessorCalculationResponse](https://docs.cyoda.net/markdown/reference/schemas/processing/entity-processor-calculation-response.md): Schema definition for EntityProcessorCalculationResponse - [EntityResponse](https://docs.cyoda.net/markdown/reference/schemas/search/entity-response.md): Schema definition for EntityResponse - [EntitySearchRequest](https://docs.cyoda.net/markdown/reference/schemas/search/entity-search-request.md): Schema definition for EntitySearchRequest - [EntitySnapshotSearchRequest](https://docs.cyoda.net/markdown/reference/schemas/search/entity-snapshot-search-request.md): Schema definition for EntitySnapshotSearchRequest - [EntitySnapshotSearchResponse](https://docs.cyoda.net/markdown/reference/schemas/search/entity-snapshot-search-response.md): Schema definition for EntitySnapshotSearchResponse - [EntityStatsByStateGetRequest](https://docs.cyoda.net/markdown/reference/schemas/search/entity-stats-by-state-get-request.md): Schema definition for EntityStatsByStateGetRequest - [EntityStatsByStateResponse](https://docs.cyoda.net/markdown/reference/schemas/search/entity-stats-by-state-response.md): Schema definition for EntityStatsByStateResponse - [EntityStatsGetRequest](https://docs.cyoda.net/markdown/reference/schemas/search/entity-stats-get-request.md): Schema definition for EntityStatsGetRequest - [EntityStatsResponse](https://docs.cyoda.net/markdown/reference/schemas/search/entity-stats-response.md): Schema definition for EntityStatsResponse - [EntityTransactionInfo](https://docs.cyoda.net/markdown/reference/schemas/entity/entity-transaction-info.md): Schema definition for EntityTransactionInfo - [EntityTransactionResponse](https://docs.cyoda.net/markdown/reference/schemas/entity/entity-transaction-response.md): Schema definition for EntityTransactionResponse - [EntityTransitionRequest](https://docs.cyoda.net/markdown/reference/schemas/entity/entity-transition-request.md): Schema definition for EntityTransitionRequest - [EntityTransitionResponse](https://docs.cyoda.net/markdown/reference/schemas/entity/entity-transition-response.md): Schema definition for EntityTransitionResponse - [EntityUpdateCollectionRequest](https://docs.cyoda.net/markdown/reference/schemas/entity/entity-update-collection-request.md): Schema definition for EntityUpdateCollectionRequest - [EntityUpdatePayload](https://docs.cyoda.net/markdown/reference/schemas/entity/entity-update-payload.md): Schema definition for EntityUpdatePayload - [EntityUpdateRequest](https://docs.cyoda.net/markdown/reference/schemas/entity/entity-update-request.md): Schema definition for EntityUpdateRequest - [ErrorCode](https://docs.cyoda.net/markdown/reference/schemas/common/error-code.md): Schema definition for ErrorCode - [EventAckResponse](https://docs.cyoda.net/markdown/reference/schemas/processing/event-ack-response.md): Schema definition for EventAckResponse - [Helm values](https://docs.cyoda.net/markdown/reference/helm.md): cyoda-go Helm chart — narrative navigator over `cyoda help helm`. - [Identity and IAM](https://docs.cyoda.net/markdown/reference/identity-and-iam.md): Self-hosted cyoda-go IAM admin surface — OIDC provider trust, JWT signing keys, machine-to-machine clients, and the configuration that governs them. - [Model Schemas](https://docs.cyoda.net/markdown/reference/schemas/model.md): JSON schemas in the Model category - [ModelConverterType](https://docs.cyoda.net/markdown/reference/schemas/common/model-converter-type.md): Defines the type of converter to use when importing the model (e.g., SAMPLE_DATA to use sample object) - [ModelInfo](https://docs.cyoda.net/markdown/reference/schemas/common/model-info.md): Schema definition for ModelInfo - [ModelSpec](https://docs.cyoda.net/markdown/reference/schemas/common/model-spec.md): Schema definition for ModelSpec - [PatchFormat](https://docs.cyoda.net/markdown/reference/schemas/common/patch-format.md): Patch dialect: MERGE_PATCH (RFC 7386, implemented) or JSON_PATCH (RFC 6902, not implemented). - [Processing Schemas](https://docs.cyoda.net/markdown/reference/schemas/processing.md): JSON schemas in the Processing category - [ProcessorInfo](https://docs.cyoda.net/markdown/reference/schemas/common/statemachine/processor-info.md): Schema definition for ProcessorInfo - [Reference](https://docs.cyoda.net/markdown/reference.md): Technical references — mostly generated from cyoda-go at build time. - [Search Schemas](https://docs.cyoda.net/markdown/reference/schemas/search.md): JSON schemas in the Search category - [SearchSnapshotStatus](https://docs.cyoda.net/markdown/reference/schemas/search/search-snapshot-status.md): Schema definition for SearchSnapshotStatus - [SnapshotCancelRequest](https://docs.cyoda.net/markdown/reference/schemas/search/snapshot-cancel-request.md): Schema definition for SnapshotCancelRequest - [SnapshotGetRequest](https://docs.cyoda.net/markdown/reference/schemas/search/snapshot-get-request.md): Schema definition for SnapshotGetRequest - [SnapshotGetStatusRequest](https://docs.cyoda.net/markdown/reference/schemas/search/snapshot-get-status-request.md): Schema definition for SnapshotGetStatusRequest - [Statemachine Schemas](https://docs.cyoda.net/markdown/reference/schemas/common/statemachine.md): JSON schemas in the Statemachine category - [TransitionInfo](https://docs.cyoda.net/markdown/reference/schemas/common/statemachine/transition-info.md): Schema definition for TransitionInfo - [Trino SQL surface](https://docs.cyoda.net/markdown/reference/trino.md): How entities are projected into virtual SQL tables — naming rules, type mapping, polymorphic fields, and JDBC. - [WorkflowInfo](https://docs.cyoda.net/markdown/reference/schemas/common/statemachine/workflow-info.md): Schema definition for WorkflowInfo ## Tools - [Cyoda Skills](https://docs.cyoda.net/markdown/tools/cyoda-skills.md): Skill set that teaches AI coding agents to set up, design, build, and debug Cyoda applications. - [Dev Console and model-editor MCP](https://docs.cyoda.net/markdown/tools/dev-console.md): Local, file-based tools for viewing and editing Cyoda workflow and entity models — a desktop app and an MCP server for AI CLIs. - [Environment dashboard](https://docs.cyoda.net/markdown/tools/env-dashboard.md): Web UI for investigating and exploring a running Cyoda environment — workflows, entity instances, reporting, and processing. - [Java client template](https://docs.cyoda.net/markdown/tools/java-client-template.md): Spring Boot template for building Java and Kotlin Cyoda applications and compute nodes. - [Python client template and MCP](https://docs.cyoda.net/markdown/tools/python-client-template.md): Quart template for Python-based Cyoda compute nodes, and an MCP server that gives AI assistants access to a Cyoda instance. - [Tools](https://docs.cyoda.net/markdown/tools.md): Developer tools, libraries, and project templates for building and operating Cyoda applications. - [Workflow editor libraries](https://docs.cyoda.net/markdown/tools/workflow-editor.md): TypeScript packages for parsing, projecting, rendering, and editing Cyoda workflow JSON. ## Releases - [Cyoda-Go v0.8.1](https://docs.cyoda.net/markdown/releases/v0-8-1.md): Federated identity, point-in-time statistics, OpenAPI-conformant IAM, and a new home on GitHub. - [Cyoda-Go v0.8.2](https://docs.cyoda.net/markdown/releases/v0-8-2.md): Contract-true OpenAPI, richer entity queries, and transaction-joined compute callbacks. - [Cyoda-Go v0.8.3](https://docs.cyoda.net/markdown/releases/v0-8-3.md): Scheduled state transitions, Cloud-aligned search semantics, and honest attribution for follow-on actions. - [Cyoda-Go v0.8.4](https://docs.cyoda.net/markdown/releases/v0-8-4.md): One path grammar, one resolver, one search execution path — and a server boundary that stays up while it answers. - [Releases](https://docs.cyoda.net/markdown/releases.md): Release notes and changelog for Cyoda-Go — whats new in each version, newest first. ## Help - [admin — runtime-switchable admin endpoints](https://docs.cyoda.net/markdown/help/admin.md): Both endpoint families require `ROLE_ADMIN` on the JWT and update process-local state atomically. State is **not** propagated across nodes; multi-node dep… - [analytics — Trino SQL analytics interface](https://docs.cyoda.net/markdown/help/analytics.md): Cyoda Cloud exposes entity data as Trino SQL tables through a Trino connector. The connector uses the Schema Management REST API to discover table definit… - [audit — entity audit event API](https://docs.cyoda.net/markdown/help/audit.md): The audit API exposes a per-entity event log covering entity lifecycle changes (`EntityChange` events) and workflow state-machine progression (`StateMachi… - [auth — authenticate client applications against cyoda](https://docs.cyoda.net/markdown/help/auth.md): auth — authenticate client applications against cyoda. - [auth configuration](https://docs.cyoda.net/markdown/help/config/auth.md): config.auth — IAM mode, JWT issuer, HMAC secret, and admin bootstrap controls. - [auth.clients — M2M client lifecycle](https://docs.cyoda.net/markdown/help/auth/clients.md): auth.clients — provision and manage machine-to-machine (M2M) clients that authenticate against cyoda via the `client_credentials` grant. - [auth.oidc — federated OIDC providers](https://docs.cyoda.net/markdown/help/auth/oidc.md): auth.oidc — register an external OIDC identity provider so JWTs it issues are accepted by cyoda directly, without re-minting at `/oauth/token`. - [auth.tokens — /oauth/token grants and JWT claim contract](https://docs.cyoda.net/markdown/help/auth/tokens.md): auth.tokens — exchange credentials for a JWT at `POST /api/oauth/token`. Covers every supported grant and the canonical JWT claim contract that all cyoda … - [auth.trusted-keys — register public keys for offline JWT signing](https://docs.cyoda.net/markdown/help/auth/trusted-keys.md): auth.trusted-keys — register a public key with cyoda so JWTs you sign offline with the matching private key are accepted, without an IdP or `/oauth/token`… - [BAD_REQUEST — malformed or invalid request](https://docs.cyoda.net/markdown/help/errors/bad_request.md): Fired when the server cannot parse or structurally process the incoming request. Common triggers include invalid JSON, unsupported format specifiers, a pa… - [Browse cyoda help](https://docs.cyoda.net/markdown/help.md): Static mirror of cyoda-gos `cyoda help` and live HTTP help API, optimized for both humans and AI agents. Pinned to a specific cyoda-go release. - [cloudevents — CloudEvent payload JSON Schemas](https://docs.cyoda.net/markdown/help/cloudevents.md): cyoda-go uses [CloudEvents v1.0](https://cloudevents.io) as the transport envelope for event-driven processing. Every payload carried inside a CloudEvent … - [cluster — multi-node topology and operations](https://docs.cyoda.net/markdown/help/cluster.md): Multi-node cyoda is supported only on the `postgres` storage backend. All nodes are stateless and identical: no leader election, no shard ownership, no ex… - [CLUSTER_NODE_NOT_REGISTERED — target node is not in the cluster registry](https://docs.cyoda.net/markdown/help/errors/cluster_node_not_registered.md): The request was routed to or requires a specific cluster node that is not present in the registry. Occurs during startup, rolling restarts, or after a nod… - [COMPOSITE_KEY_UNSUPPORTED — backend does not support composite unique keys](https://docs.cyoda.net/markdown/help/errors/composite_key_unsupported.md): Composite unique key enforcement is an optional capability that storage backends may or may not implement. This error is returned when a model defines one… - [COMPUTE_MEMBER_DISCONNECTED — compute member dropped from the cluster](https://docs.cyoda.net/markdown/help/errors/compute_member_disconnected.md): The compute member responsible for executing a processor or workflow step disconnected before completing the operation. The task may or may not have been … - [CONDITION_TYPE_MISMATCH — search condition value type incompatible with field](https://docs.cyoda.net/markdown/help/errors/condition_type_mismatch.md): Validation is parse-based: a comparison or range operand is rejected only when it parses into none of the fields declared DataTypes. For example `\abc\` … - [CONFLICT — optimistic concurrency conflict](https://docs.cyoda.net/markdown/help/errors/conflict.md): The server detected that the entity was modified by another writer between the time it was read and the time the current write was committed. Normal outco… - [CORS configuration](https://docs.cyoda.net/markdown/help/config/cors.md): config.cors — Cross-Origin Resource Sharing (CORS) controls for the public HTTP surface. - [crud — entity lifecycle API](https://docs.cyoda.net/markdown/help/crud.md): Entities are instances of models. Each entity has a UUID, a model reference (`entityName`, `modelVersion`), and a lifecycle state managed by the workflow … - [cyoda CLI — subcommand reference](https://docs.cyoda.net/markdown/help/cli.md): cyoda is a Go binary that embeds the full platform: API server, schema engine, workflow runner, and storage plugins. Invoked with no subcommand, it starts… - [cyoda cluster & dispatch configuration](https://docs.cyoda.net/markdown/help/config/cluster.md): - `CYODA_CLUSTER_ENABLED` (bool, default: `false`) — enable multi-node clustering.\n- `CYODA_NODE_ID` (string, default: unset) — unique node identifier; re… - [cyoda configuration reference](https://docs.cyoda.net/markdown/help/config.md): Environment variables beat default values. The `_FILE` suffix variant takes precedence over the plain variable when both are set — for example, `CYODA_POS… - [cyoda error reference](https://docs.cyoda.net/markdown/help/errors.md): Every error response from the Cyoda REST API carries a structured `errorCode` in the `properties` object. Multiple codes may share the same HTTP status. P… - [cyoda health — readiness probe](https://docs.cyoda.net/markdown/help/cli/health.md): `cyoda health` sends an HTTP GET to `http://127.0.0.1:/readyz` and exits 0 if the server responds with HTTP 200. Any non-200 response or connection … - [cyoda help — the help subsystem](https://docs.cyoda.net/markdown/help/cli/help.md): `cyoda help` is the built-in documentation browser. Topics are organized in a dot-separated tree (`cli`, `cli.serve`, `config.database`, etc.). Invoking `… - [cyoda help topic tree](https://docs.cyoda.net/markdown/help/topic-tree.md): Every flag, env var, endpoint, error, metric, and operation — browsable from the binary. This page is a navigator over the full topic tree, with links into the rendered mirror. - [cyoda init — first-run bootstrap](https://docs.cyoda.net/markdown/help/cli/init.md): `cyoda init` is the recommended first step for local desktop use. It writes a minimal user config file that sets `CYODA_STORAGE_BACKEND=sqlite`, enabling … - [cyoda migrate — run storage migrations](https://docs.cyoda.net/markdown/help/cli/migrate.md): `cyoda migrate` is a short-lived process that applies pending schema migrations for the configured storage backend, then exits cleanly — no admin listener… - [cyoda quickstart — minimum invocations](https://docs.cyoda.net/markdown/help/quickstart.md): cyoda-go is a single-process, multi-tenant REST and gRPC API server backed by a pluggable embedded database management system. Storage backends are `memor… - [cyoda scheduled-transition scheduler configuration](https://docs.cyoda.net/markdown/help/config/scheduler.md): - `CYODA_SCHEDULER_ENABLED` (bool, default: `true`) — kill switch for the coordinator scan loop.\n- `CYODA_SCHEDULER_SCAN_INTERVAL` (duration, default: `1s… - [cyoda serve — start the API server](https://docs.cyoda.net/markdown/help/cli/serve.md): Starting with no subcommand loads configuration from environment variables, validates the IAM mode, and binds the REST, gRPC, and admin listeners. The ser… - [database configuration](https://docs.cyoda.net/markdown/help/config/database.md): config.database — storage backend selection and per-backend connection settings. - [DELETE_NOT_CONVERGED — a batched delete never ran out of matching entities](https://docs.cyoda.net/markdown/help/errors/delete_not_converged.md): `DELETE /entity/{entityName}/{modelVersion}` with `transactionSize` set (and no `pointInTime`) deletes in batches, re-selecting the matching entities befo… - [DISPATCH_FORWARD_FAILED — inter-node dispatch forwarding error](https://docs.cyoda.net/markdown/help/errors/dispatch_forward_failed.md): The cluster dispatcher attempted to forward a processor invocation or criteria evaluation to a peer node but the HTTP call to that peer failed (network er… - [DISPATCH_TIMEOUT — dispatch to compute member timed out](https://docs.cyoda.net/markdown/help/errors/dispatch_timeout.md): A workflow processor, criteria evaluation, or function callout was dispatched to a compute member but the response did not arrive within the callouts own… - [DUPLICATE_AGGREGATION_ALIAS — two aggregations claim the same response key](https://docs.cyoda.net/markdown/help/errors/duplicate_aggregation_alias.md): Raised by `POST /api/entity/stats/{entityName}/{modelVersion}/query`. Each buckets `aggregations` object is keyed by the aggregations `as` alias, or — w… - [DUPLICATE_GROUP_BY — the same groupBy dimension was listed twice](https://docs.cyoda.net/markdown/help/errors/duplicate_group_by.md): Raised by `POST /api/entity/stats/{entityName}/{modelVersion}/query`. The reserved token `state` appearing twice, or the same JSONPath appearing twice, is… - [ENTITY_MODIFIED — If-Match precondition failed; entity changed since last read](https://docs.cyoda.net/markdown/help/errors/entity_modified.md): When an entity update request carries an `If-Match` header, the server requires the supplied transaction ID to equal the entitys current `meta.transactio… - [ENTITY_NOT_FOUND — entity does not exist](https://docs.cyoda.net/markdown/help/errors/entity_not_found.md): No entity with the given ID exists in the tenants data store, or the entity existed at a point-in-time that precedes the requested snapshot. Also returne… - [EPOCH_MISMATCH — shard ownership epoch has changed](https://docs.cyoda.net/markdown/help/errors/epoch_mismatch.md): Shard ownership is tracked by an epoch counter that increments whenever the cluster re-partitions. A write is rejected with this error when the writing no… - [FEATURE_DISABLED — feature is not enabled](https://docs.cyoda.net/markdown/help/errors/feature_disabled.md): Returned by trusted-key endpoints when `CYODA_IAM_TRUSTED_KEY_REGISTRATION_ENABLED=false` (the default): - [FORBIDDEN — caller lacks required role or permission](https://docs.cyoda.net/markdown/help/errors/forbidden.md): The request was authenticated successfully but the callers JWT claims do not include the role required by the endpoint (for example, `admin` is required … - [GROUP_CARDINALITY_EXCEEDED — too many distinct group buckets](https://docs.cyoda.net/markdown/help/errors/group_cardinality_exceeded.md): Raised by `POST /api/entity/stats/{entityName}/{modelVersion}/query`. `CYODA_STATS_GROUP_MAX` (default `10000`) bounds the number of distinct buckets the … - [grpc — gRPC service contract](https://docs.cyoda.net/markdown/help/grpc.md): cyoda-go exposes one gRPC service: `CloudEventsService` (package `org.cyoda.cloud.api.grpc`). All gRPC methods use the CloudEvents Protobuf envelope (`io.… - [grpc configuration](https://docs.cyoda.net/markdown/help/config/grpc.md): config.grpc — gRPC listener settings and compute-node credentials. - [helm — Helm chart for Kubernetes deployment](https://docs.cyoda.net/markdown/help/helm.md): The chart at `deploy/helm/cyoda` deploys cyoda-go on Kubernetes as a StatefulSet backed by an external PostgreSQL database. The chart requires Kubernetes … - [HELP_TOPIC_NOT_FOUND — help topic not found](https://docs.cyoda.net/markdown/help/errors/help_topic_not_found.md): Returned by `GET {ContextPath}/help/{topic}` when `{topic}` is well-formed (matches `[A-Za-z0-9._-]+`) but does not resolve to any topic in the tree. Clie… - [IDEMPOTENCY_CONFLICT — duplicate request with conflicting payload](https://docs.cyoda.net/markdown/help/errors/idempotency_conflict.md): The idempotency key is supplied via the `Idempotency-Key` HTTP header on collection create and update requests. See `crud` for the request shape. - [INCOMPATIBLE_TYPE — entity payload value does not match the models declared DataType](https://docs.cyoda.net/markdown/help/errors/incompatible_type.md): Returned by `POST /entity/{format}/{name}/{version}` and the entity-update surfaces when a leaf fields value cannot be coerced into the models declared … - [INVALID_AGGREGATION_FIELD — aggregation field is not a scalar JSONPath](https://docs.cyoda.net/markdown/help/errors/invalid_aggregation_field.md): Raised by `POST /api/entity/stats/{entityName}/{modelVersion}/query`. An aggregation `field` obeys exactly the grammar a `groupBy` path does — a required … - [INVALID_AGGREGATION_OP — unknown aggregation operator](https://docs.cyoda.net/markdown/help/errors/invalid_aggregation_op.md): Raised by `POST /api/entity/stats/{entityName}/{modelVersion}/query`. The supported operators are `sum`, `avg`, `min`, `max` and `stdev`, spelled lowercas… - [INVALID_CHANGE_LEVEL — set-change-level supplied value is not a known ChangeLevel](https://docs.cyoda.net/markdown/help/errors/invalid_change_level.md): The `changeLevel` path segment must be exactly one of: `ARRAY_LENGTH`, `ARRAY_ELEMENTS`, `TYPE`, or `STRUCTURAL`. Comparison is case-sensitive. Any other … - [INVALID_CONDITION — request condition is malformed or unevaluable](https://docs.cyoda.net/markdown/help/errors/invalid_condition.md): Endpoints that accept a search-style condition in the request body — sync and async search, grouped statistics, and the conditional form of delete-by-mode… - [INVALID_FIELD_PATH — search condition references unknown field path](https://docs.cyoda.net/markdown/help/errors/invalid_field_path.md): Three checks emit this code. - [INVALID_GROUP_BY_PATH — groupBy entry is not a scalar JSONPath](https://docs.cyoda.net/markdown/help/errors/invalid_group_by_path.md): Raised by `POST /api/entity/stats/{entityName}/{modelVersion}/query`. Every `groupBy` entry other than `state` must match the wire JSONPath grammar — a re… - [INVALID_LIMIT — grouped-stats limit is non-positive or above the ceiling](https://docs.cyoda.net/markdown/help/errors/invalid_limit.md): Raised by `POST /api/entity/stats/{entityName}/{modelVersion}/query`. `limit` is optional; when present it is a top-N cap on the buckets returned, and it … - [INVALID_UNIQUE_KEY — unique key fields are null or invalid](https://docs.cyoda.net/markdown/help/errors/invalid_unique_key.md): A composite unique key requires every declared field to be present and non-null. This error is returned when the entity payload is missing a value for at … - [INVALID_UNIQUE_KEY_DEFINITION — unique key definition is structurally invalid](https://docs.cyoda.net/markdown/help/errors/invalid_unique_key_definition.md): Each unique key on a model must have a non-empty list of field paths, a unique name within the model, and field paths that resolve to existing, non-ambigu… - [KEY_OWNED_BY_DIFFERENT_TENANT — trusted-key collision with another tenant](https://docs.cyoda.net/markdown/help/errors/key_owned_by_different_tenant.md): Trusted keys are tenant-scoped. When `POST /oauth/keys/trusted` is called with a `keyId` that already belongs to a different tenant, the request is reject… - [KEYPAIR_NOT_FOUND — signing keypair not found](https://docs.cyoda.net/markdown/help/errors/keypair_not_found.md): Returned by: - [M2M_CLIENT_NOT_FOUND — referenced technical user does not exist](https://docs.cyoda.net/markdown/help/errors/m2m_client_not_found.md): Returned by `/clients` admin endpoints when the supplied `clientId` does not match any registered M2M client in the callers tenant: - [MALFORMED_REQUEST — grouped-stats request body could not be decoded](https://docs.cyoda.net/markdown/help/errors/malformed_request.md): Raised by `POST /api/entity/stats/{entityName}/{modelVersion}/query` when the body cannot be read from the connection, is not valid JSON, or does not deco… - [messages — edge message store API](https://docs.cyoda.net/markdown/help/messages.md): An edge message is an arbitrary JSON payload stored under a server-generated time-UUID together with a fixed set of AMQP-aligned headers and an optional f… - [MISSING_GROUP_BY — grouped-stats request supplied no groupBy dimension](https://docs.cyoda.net/markdown/help/errors/missing_group_by.md): Raised by `POST /api/entity/stats/{entityName}/{modelVersion}/query`. `groupBy` is required and must carry at least one dimension: the endpoint returns on… - [MODEL_ALREADY_LOCKED — model is already in the LOCKED state](https://docs.cyoda.net/markdown/help/errors/model_already_locked.md): Returned by any admin operation that requires the model be in the `UNLOCKED` state, including: - [MODEL_ALREADY_UNLOCKED — model is already in the UNLOCKED state](https://docs.cyoda.net/markdown/help/errors/model_already_unlocked.md): Returned when `POST /model/{name}/{version}/unlock` is issued against a model whose current state is `UNLOCKED`. Distinct from `MODEL_NOT_LOCKED`, which i… - [MODEL_HAS_ENTITIES — operation blocked because entities of this model exist](https://docs.cyoda.net/markdown/help/errors/model_has_entities.md): Both `POST /model/{name}/{version}/unlock` and `DELETE /model/{name}/{version}` require zero entities of the target model. The cardinality check guards ag… - [MODEL_NOT_FOUND — entity model does not exist](https://docs.cyoda.net/markdown/help/errors/model_not_found.md): The entity type or model name specified in the request does not exist in the tenants model registry. Occurs on write paths (creating entities with an unk… - [MODEL_NOT_LOCKED — model must be locked before writing entities](https://docs.cyoda.net/markdown/help/errors/model_not_locked.md): Entity creation and bulk write operations require the model to be in the `LOCKED` lifecycle state. Models in `DRAFT` or unlocked-for-editing state reject … - [models — entity model schema system](https://docs.cyoda.net/markdown/help/models.md): A model is a named, versioned schema registered per tenant. Every entity in the system is an instance of exactly one model. Models are identified by `(ent… - [NO_COMPUTE_MEMBER_FOR_TAG — no compute member registered for the required tag](https://docs.cyoda.net/markdown/help/errors/no_compute_member_for_tag.md): Workflow processors are dispatched to nodes that advertise matching compute tags. When no node with the required tag is alive in the cluster within the co… - [NOT_FOUND — generic resource not found](https://docs.cyoda.net/markdown/help/errors/not_found.md): Returned by administrative endpoints (key pair lifecycle, trusted-key lifecycle) when the supplied identifier does not match any registered resource. The … - [NOT_IMPLEMENTED — endpoint is not yet implemented](https://docs.cyoda.net/markdown/help/errors/not_implemented.md): The route is defined and accepted by the server but the handler returns this error because the feature is pending implementation. Distinct from a `404` — … - [OIDC_INVALID_TENANT — OIDC provider registration requires UUID-shaped tenant identifier](https://docs.cyoda.net/markdown/help/errors/oidc_invalid_tenant.md): cyoda treats legal entity identifiers as UUIDs. OIDC provider ownership is\nrecorded as a `uuid.UUID` `OwnerLegalEntityID` field, which keys both the\nper-t… - [OIDC_PROVIDER_DUPLICATE — provider already registered](https://docs.cyoda.net/markdown/help/errors/oidc_provider_duplicate.md): Each tenant may register a given `wellKnownConfigUri` only once. Submitting\n`POST /oauth/oidc/providers` with a URI that is already registered for the\ncal… - [OIDC_PROVIDER_INACTIVE — provider is invalidated](https://docs.cyoda.net/markdown/help/errors/oidc_provider_inactive.md): `PATCH /oauth/oidc/providers/{id}` requires the provider to be in the active\nstate. If the provider has been invalidated via\n`POST /oauth/oidc/providers/{… - [OIDC_PROVIDER_NOT_FOUND — OIDC provider does not exist](https://docs.cyoda.net/markdown/help/errors/oidc_provider_not_found.md): The provider UUID supplied in the path parameter does not correspond to a\nregistered OIDC provider for the callers tenant. Either the provider was\nnever … - [OIDC_SSRF_BLOCKED — wellKnownConfigUri blocked by SSRF policy](https://docs.cyoda.net/markdown/help/errors/oidc_ssrf_blocked.md): When registering an OIDC provider, cyoda validates the `wellKnownConfigUri`\nagainst a blocklist of private address ranges (loopback, RFC1918, link-local,\n… - [openapi — OpenAPI 3 spec and discovery endpoints](https://docs.cyoda.net/markdown/help/openapi.md): cyoda-go generates its OpenAPI 3.1 specification from the embedded `api/openapi.yaml` file compiled into the binary at build time. The spec is served at `… - [PRECONDITION_REQUIRED — PATCH request missing required If-Match header](https://docs.cyoda.net/markdown/help/errors/precondition_required.md): PATCH applies a merge patch to the entitys stored state rather than replacing it wholesale. Because the patch is applied relative to the current stored d… - [predicates — search & criteria condition semantics](https://docs.cyoda.net/markdown/help/predicates.md): predicates — operator catalog and evaluation semantics for the `Condition` DSL used by search (`cyoda help search`) and workflow/transition criteria (`cyo… - [run — runtime modes and operational semantics](https://docs.cyoda.net/markdown/help/run.md): cyoda-go is a single-process, multi-tenant REST and gRPC API server. It starts in serving mode when invoked with no subcommand. All configuration is via e… - [SCHEDULE_FUNCTION_INVALID_RESULT — scheduled-transition Function returned an unusable result](https://docs.cyoda.net/markdown/help/errors/schedule_function_invalid_result.md): A `TransitionSchedule.function` callout must return `resultKind: \Schedule\` with a value shaped `{fireAt|fireAfterMs, expireAt?|expireAfterMs?}` — exactl… - [schema configuration](https://docs.cyoda.net/markdown/help/config/schema.md): config.schema — schema-extension log tuning. - [search — entity search API](https://docs.cyoda.net/markdown/help/search.md): Search operates against a specific entity model `(entityName, modelVersion)`. Two modes are supported: - [SEARCH_JOB_ALREADY_TERMINAL — search job has already completed or failed](https://docs.cyoda.net/markdown/help/errors/search_job_already_terminal.md): Search jobs are long-running asynchronous operations. Once a job reaches a terminal state it cannot be cancelled, resumed, or otherwise modified. This err… - [SEARCH_JOB_NOT_FOUND — search job does not exist](https://docs.cyoda.net/markdown/help/errors/search_job_not_found.md): Polling a search job by ID returns this error when the job ID is unknown or belongs to a different tenant. Jobs are tenant-scoped; a valid job ID from one… - [SEARCH_QUEUE_FULL — async-search submission was refused for capacity](https://docs.cyoda.net/markdown/help/errors/search_queue_full.md): `POST /api/search/async/{entityName}/{modelVersion}` runs on a bounded worker pool: a fixed number of workers drain a fixed-capacity queue. Submission fai… - [SEARCH_RESULT_LIMIT — search result set exceeds the allowed limit](https://docs.cyoda.net/markdown/help/errors/search_result_limit.md): Direct (synchronous) search is bounded-or-fail: `limit` caps the matched result set rather than paging it. When more entities match than the limit allows,… - [SEARCH_SHARD_TIMEOUT — a search shard did not respond in time](https://docs.cyoda.net/markdown/help/errors/search_shard_timeout.md): Distributed search fans out to multiple shards in parallel. If any shard does not return results before the search timeout expires, the job is marked fail… - [SEARCH_TIMEOUT — search timeout expired before results collected](https://docs.cyoda.net/markdown/help/errors/search_timeout.md): Fires when the client-supplied `timeoutMillis` elapses before the search result set was fully collected. No partial results are returned. - [SERVER_ERROR — unexpected internal server error](https://docs.cyoda.net/markdown/help/errors/server_error.md): The server encountered an unclassified internal error. The response body contains a `ticket` UUID that correlates with the server-side error log. No inter… - [STORAGE_UNAVAILABLE — storage could not serve the request in time](https://docs.cyoda.net/markdown/help/errors/storage_unavailable.md): Raised in three cases, all transient: - [telemetry — OpenTelemetry emission](https://docs.cyoda.net/markdown/help/telemetry.md): cyoda-go integrates the OpenTelemetry Go SDK (`go.opentelemetry.io/otel`). The\n**metric scrape pipeline is always on**: at startup the binary creates a me… - [TRANSACTION_EXPIRED — transaction token has expired](https://docs.cyoda.net/markdown/help/errors/transaction_expired.md): Transaction tokens are short-lived bearer tokens issued when a transaction is opened. This error fires when the tokens `exp` claim is in the past at the … - [TRANSACTION_NODE_UNAVAILABLE — the node owning the transaction is unreachable](https://docs.cyoda.net/markdown/help/errors/transaction_node_unavailable.md): Transaction state is pinned to the node that opened it. If that node crashes or becomes unreachable while the transaction is in progress, subsequent reque… - [TRANSACTION_NOT_FOUND — transaction ID does not exist](https://docs.cyoda.net/markdown/help/errors/transaction_not_found.md): The transaction ID supplied in the request does not correspond to an active transaction. The transaction may have been committed, rolled back, expired, or… - [TRANSACTION_TIMEOUT — transaction timeout expired before commit](https://docs.cyoda.net/markdown/help/errors/transaction_timeout.md): Fires when the client-supplied `transactionTimeoutMillis` elapses before the first commit. Nothing was committed. - [TRANSITION_NOT_FOUND — workflow transition does not exist](https://docs.cyoda.net/markdown/help/errors/transition_not_found.md): Entity workflow state machines define explicit transitions between states. This error fires when a transition is triggered that does not exist in the mode… - [TRUSTED_KEY_CAP_REACHED — tenant trusted-key cap reached](https://docs.cyoda.net/markdown/help/errors/trusted_key_cap_reached.md): `POST /oauth/keys/trusted` enforces a per-tenant cap (default 10, configurable via `CYODA_IAM_TRUSTED_KEY_MAX_PER_TENANT`). The cap counts only currently-… - [TRUSTED_KEY_NOT_FOUND — referenced trusted key does not exist](https://docs.cyoda.net/markdown/help/errors/trusted_key_not_found.md): Returned by trusted-key admin endpoints when the supplied KID does not match any registered key: - [TX_CONFLICT — transaction-level conflict](https://docs.cyoda.net/markdown/help/errors/tx_conflict.md): Reserved. Not currently emitted by any cyoda-go code path. - [TX_COORDINATOR_NOT_CONFIGURED — distributed transaction coordination not available](https://docs.cyoda.net/markdown/help/errors/tx_coordinator_not_configured.md): Reserved. Not currently emitted by any cyoda-go code path. - [TX_NO_STATE — no transaction state record found](https://docs.cyoda.net/markdown/help/errors/tx_no_state.md): Reserved. Not currently emitted by any cyoda-go code path. - [TX_REQUIRED — operation must be performed inside a transaction](https://docs.cyoda.net/markdown/help/errors/tx_required.md): Reserved. Not currently emitted by any cyoda-go code path. - [UNAUTHORIZED — authentication required or token invalid](https://docs.cyoda.net/markdown/help/errors/unauthorized.md): Returned when the `Authorization` header is missing, the bearer token is expired, the token signature is invalid, or the token was issued by an untrusted … - [UNIQUE_VIOLATION — composite unique key constraint violated](https://docs.cyoda.net/markdown/help/errors/unique_violation.md): The entity payload contains field values that collide with an existing entitys composite unique key. Unlike an optimistic-concurrency CONFLICT (which is … - [UNSUPPORTED_ALGORITHM — algorithm not supported](https://docs.cyoda.net/markdown/help/errors/unsupported_algorithm.md): cyoda-go v0.8.0 signs and verifies only `RS256`. Other enum values declared in the OpenAPI spec (`RS384`, `RS512`, `PS256`, `PS384`, `PS512`, `ES256`, `ES… - [UNSUPPORTED_KEY_TYPE — JWK kty not supported](https://docs.cyoda.net/markdown/help/errors/unsupported_key_type.md): `POST /oauth/keys/trusted` accepts only `kty: \RSA\` in v0.8.0. Cloud also supports `kty: \EC\` and `kty: \OKP\`; cyoda-go parity is tracked in a v0.8.1 f… - [UNSUPPORTED_MEDIA_TYPE — PATCH format or Content-Type not supported](https://docs.cyoda.net/markdown/help/errors/unsupported_media_type.md): Returned by PATCH in two situations: - [VALIDATION_FAILED — payload fails model schema validation](https://docs.cyoda.net/markdown/help/errors/validation_failed.md): Unlike `BAD_REQUEST` (which covers parse failures, bad parameters, and unstorable bytes), this error is returned when the payload parsed and then failed a… - [WORKFLOW_FAILED — workflow processor returned an error](https://docs.cyoda.net/markdown/help/errors/workflow_failed.md): During an entity create or transition operation the associated workflow processors (pre-processors, post-processors) or guard conditions ran but one of th… - [WORKFLOW_NOT_FOUND — workflow definition does not exist](https://docs.cyoda.net/markdown/help/errors/workflow_not_found.md): Entity models reference a workflow by name to govern state transitions. This error is returned when the named workflow cannot be found in the tenants wor… - [WORKFLOW_SCHEMA_VERSION_UNSUPPORTED — workflow schema version not accepted](https://docs.cyoda.net/markdown/help/errors/workflow_schema_version_unsupported.md): Every workflow definition must declare a schema version in `MAJOR.MINOR` format (for example `\version\: \1.1\`). This error is returned when the import r… - [workflows — state machine definitions](https://docs.cyoda.net/markdown/help/workflows.md): A workflow definition is a named finite state machine attached to an entity model. Workflows are stored per model reference `(entityName, modelVersion)`. … - [workflows schema-version — wire-format contract for workflow import](https://docs.cyoda.net/markdown/help/workflows/schema-version.md): workflows schema-version — semver `MAJOR.MINOR` contract identifying the workflow-import DTO shape that a workflow definition was authored against. ## Cyoda-cloud - [Cyoda Cloud](https://docs.cyoda.net/markdown/cyoda-cloud.md): Managed, isolated cyoda-go environments behind a single control-plane API — coming soon. - [Identity and entitlements (Cyoda Cloud)](https://docs.cyoda.net/markdown/cyoda-cloud/identity-and-entitlements.md): The identity and entitlements design we are working towards for Cyoda Cloud — OIDC, signing keys, and subscription tiers. - [Provisioning (Cyoda Cloud)](https://docs.cyoda.net/markdown/cyoda-cloud/provisioning.md): How Cyoda Cloud environments will be provisioned — self-service via the dashboard or the cyoda-cloud-cli. - [Status and roadmap (Cyoda Cloud)](https://docs.cyoda.net/markdown/cyoda-cloud/status-and-roadmap.md): Where the Cyoda Cloud rebuild stands and what is coming next. ## cyoda-go binary help (mirror of CLI `cyoda help` and live HTTP API `/api/help`) Pinned: cyoda-go v0.8.4 Manifest: https://docs.cyoda.net/help/index.json Per topic: https://docs.cyoda.net/help/.json (full descriptor) https://docs.cyoda.net/help/.md (markdown body only) https://docs.cyoda.net/help// (rendered HTML) Version tree: https://docs.cyoda.net/help/versions.json URL convention: cyoda help A B C ↔ /help/a/b/c/ (or .md / .json) Manifest topic IDs use dots and may be mixed-case (e.g. "config.database", "errors.BAD_REQUEST"); replace dots with slashes AND lowercase to build the URL. Note: the manifest contains a non-API `_url_convention` hint field. Strict validators against the live cyoda-go GET /help schema should ignore it.