Every endpoint group exposed by the Orkovia API, with conventions.
Base URL and versioning
All endpoints are versioned under /api/v1. Paths in the tables below are relative to that prefix — for a local install, http://localhost:8080/api/v1.
Authentication
Every endpoint requires an Authorization: Bearer <token> header, except login, the auth config check, the health check and the OpenAPI/Swagger endpoints. A token can come from POST /auth/login (username and password) or from your OIDC provider (Keycloak, Auth0, Okta).
Token claim
Meaning
sub
The calling user or service; recorded on audit and history events
tenantId
Tenant scope (a UUID). Data from another tenant is reported as 404, not 403
roles
One or more of ADMIN, PROCESS_OWNER, TASK_USER
As a rule, reads are open to any authenticated caller in the tenant, while deploying, operating on instances, recovering incidents and other design-time or operational writes need ADMIN or PROCESS_OWNER. User, group, authorization and audit-log endpoints are ADMIN only.
Every response echoes an X-Correlation-Id header. Send your own value in a request header of the same name and it is returned unchanged; otherwise the server generates one.
Authentication and access
Endpoint
Purpose
GET /auth/config
Which sign-in methods are enabled (public)
POST /auth/login
Exchange a username and password for a bearer token (public)
GET, POST /auth/users
List or create users in your tenant
GET, POST /auth/groups
List or create groups
GET, POST /auth/groups/{id}/members
List or add group members
DELETE /auth/groups/{id}/members/{userId}
Remove a group member
GET, POST /auth/authorizations
List or grant resource-level permissions
DELETE /auth/authorizations/{id}
Revoke a permission
GET, POST /invitations
List outstanding invitations or invite someone to an organization
POST /invitations/accept
Accept an invitation
DELETE /invitations/{id}
Revoke an invitation
Deployments
Endpoint
Purpose
POST /deployments
Deploy a process — BPMN 2.0 XML (application/xml) or a JSON graph (application/json)
GET /deployments
List deployments; ?key= returns one process's version history
GET /deployments/{id}
Fetch a deployment, including its BPMN XML
DELETE /deployments/{id}
Undeploy a version; ?includeFinishedInstances=true also deletes its finished instances
POST /deployments/{id}/suspend, /resume
Block or allow new instance starts and timer fires for a definition
POST /deployments/{id}/simulate
Run in-memory simulated instances and report branch coverage and timings
GET /deployments/{id}/nodes
Node ids and types, for building a migration mapping
Process instances
Endpoint
Purpose
POST /process-instances
Start an instance of a deployment, with optional variables
GET /process-instances
List instances, newest first
GET /process-instances/{id}
Read one instance
DELETE /process-instances/{id}
Permanently delete a finished instance and its history
POST /process-instances/{id}/cancel
Terminate an instance and any call-activity children
POST /process-instances/{id}/suspend, /resume
Pause and resume a waiting instance
POST /process-instances/{id}/move-token
Move a waiting token from one node to another
POST /process-instances/migrate
Migrate instances to another version of the same process
GET /process-instances/{id}/history
Execution history and audit trail, oldest first
GET /process-instances/{id}/history/{eventSeq}/snapshot
Variables and active node as of one history event
GET /process-instances/{id}/tokens
Tokens currently parked at a join, job or task
GET /process-instances/{id}/event-subscriptions
Pending timer and message subscriptions
Variables
Endpoint
Purpose
GET, PUT /process-instances/{id}/variables
Read or edit an instance's variables, with optimistic locking via expectedVersion
GET /process-instances/{id}/node-variables
Variables attached to specific nodes of an instance
PUT /process-instances/{id}/nodes/{nodeId}/variables
Attach variables to one node
GET /scopes/{scopeId}/variables
Every variable visible from a scope, with the scope it was found in
GET /form-definitions/{id}/locales/{locale}/resolved
Labels resolved for a locale, with fallback applied
GET, POST /forms
List or deploy a simple form schema (legacy)
GET, PUT, DELETE /forms/{id}
Fetch a form, publish an edit as a new version, or remove a version (legacy)
POST /forms/{id}/migrate-to-v1
Import a legacy form as a new Form Designer draft
Connectors and connections
Endpoint
Purpose
GET /connectors
Connector types registered in this installation
GET, POST /connections
List or create connections
GET, PUT, DELETE /connections/{id}
Fetch, update or delete a connection
POST /connections/{id}/enable, /disable
Switch a connection on or off
POST /connections/{id}/test
Check that a connection is completely configured
Modeling and collaboration
Endpoint
Purpose
GET, POST /projects
List or create projects
GET, PATCH, DELETE /projects/{id}
Fetch, update or delete a project
GET, POST /projects/{id}/members
List or add project members
DELETE /projects/{id}/members/{userId}
Remove a project member
GET, POST /projects/{id}/folders
List or create folders
GET, POST /models
List or create models
GET, DELETE /models/{id}
Fetch or delete a model
PUT /models/{id}/content
Save model content as a new revision
GET /models/{id}/revisions
Revision history
POST /models/{id}/restore
Restore an earlier revision
GET, POST, DELETE /models/{modelId}/lock
Read, acquire or release a model's editing lock
POST /models/{modelId}/lock/renew, /takeover
Keep a lock alive or take it over
GET, POST /drafts
List or create your own drafts; filter by ?kind=
GET, PUT, DELETE /drafts/{id}
Fetch, save or delete a draft
POST /drafts/{id}/promote
Deploy a draft as a process, decision or form
GET, POST /templates
List or create process templates
GET, PUT, DELETE /templates/{id}
Fetch, update or delete a template
Testing and analysis
Endpoint
Purpose
POST /play/sessions
Start a Play session from BPMN XML, without deploying
POST /play/sessions/{id}/step
Advance one node; optionally choose a gateway branch or set variables
GET /play/sessions/{id}
Read a session's current state
POST /analysis/variables
Static variable analysis and warnings for BPMN XML
Insights, audit and administration
Endpoint
Purpose
GET /insights
Process duration, completion rate, job reliability and task-age metrics
GET /insights/report
Completion rate or duration, filtered by process and date range and grouped by a variable
GET /audit-events
Paged, filterable log of every state-changing API call
POST /admin/projections/instance-summary/rebuild
Rebuild the instance summary projection
OpenAPI and Swagger UI
Each installation serves its own machine-readable spec and interactive explorer. These two paths sit at the server root, not under /api/v1, and need no token.
Path
Purpose
GET /v3/api-docs
OpenAPI 3 specification as JSON
GET /swagger-ui.html
Interactive Swagger UI
This page lists what each endpoint is for. For exact request bodies, response schemas and role requirements, use the Swagger UI of your installed Orkovia release.