The full API surface
The Go SDK is a technical preview. Its API surface may still evolve and changes may not follow semantic versioning. Pin an exact version if you need stability.
CamundaClient exposes one ergonomic method per operation in the OpenAPI
specification, generated from the same spec as the low-level client so the two
can never diverge. Each facade method flattens the generated builder into
first-class parameters and returns the deserialized result.
Every request, response, key and enum type is available from the camunda
package, so one import covers normal use. Only the raw HTTP-client machinery —
the client Raw() returns, its configuration, and its error type — stays in the
generated github.com/camunda/orchestration-cluster-api-go/client package.
When you need something the facade deliberately does not model — multipart
uploads, unusual query-parameter combinations, or the raw *http.Response —
Raw() hands you the generated client directly:
// Raw() exposes the generated client: every operation, with the full builder
// surface. Use it for anything the facade does not cover, and for access to
// the raw *http.Response.
result, resp, err := client.Raw().ProcessDefinitionAPI.
SearchProcessDefinitions(ctx).
Execute()
if err != nil {
return err
}
fmt.Printf("HTTP %d — %d process definition(s)\n", resp.StatusCode, len(result.GetItems()))
Requests made through Raw() still traverse the full runtime — backpressure,
retry, and authentication all apply, because those are http.RoundTripper layers
on the transport rather than facade-level wrappers.
Full API documentation is published on pkg.go.dev.