Skip to main content
Fused generates TypeScript, Python, and Go SDKs. If your service uses another language or you do not want a package, call a selected SDK operation through Fused’s REST route. Unified Apps use the same route with "operation":"execute".
$VERSION_ID is the app version UUID that apply printed — not the SDK name, and not the family ID. Note the port: this is Fused’s HTTP address, not the gRPC one the generated client wants.

Read the response

An SDK operation returns a physical operation response:
Check both Fused HTTP status and status_code, which records the provider’s status. A Unified App uses its stable app family ID in the URL and returns an execution record with executionId, status, output, and readHandle.

The body

A stable Idempotency-Key helps make retries of a mutating operation safe when its provider contract supports idempotency. Supply the header at most once.
If Fused blocks a physical operation because of its idempotency key, it returns HTTP 409 with a descriptive error.message and next steps in error.details.remediation: Both responses include details.provider_execution: "not_started", which describes the current rejected request, not the earlier request. An unresolved response also includes details.previous_outcome: "pending_or_unknown"; it does not claim the original operation failed or that a new operation is safe.

No package required

This is the same execution the typed package makes, against the same immutable version. A version applied with generate: false publishes without building a package at all and is fully callable here. If the selected bucket is missing a required static credential, Fused returns HTTP 409 with code bucket_credentials_missing before contacting the provider. Its structured details identify the service, bucket, authentication type, and scheme. Use those fields with fused-cli connect to configure the missing credentials before repeating the request. To generate your own client from the contract:

What you give up

The generated package carries typed errors, one shared gRPC channel, and broader transport limits. Over REST you handle status codes yourself, and the 1 MiB provider-document bound also applies on the CLI path.

Run an operation

What the typed package gives you in TypeScript, Python, or Go.