Choose the enqueue boundary
Bulk enqueue is one atomic request. If validation or authorization rejects one member,
Headgate writes none of its siblings.
Enqueue from TypeScript or Python
Headgate does not require the producer to use the Rust or Go SDK. A Node.js, NestJS, Python, or other service can call the control API. Send the task arguments as bytes in standard base64; for JSON arguments, UTF-8 encode the JSON first and then base64-encode those bytes. Headgate derives the content fingerprint on the server. Use a stableIdempotency-Key for one logical enqueue operation. Retrying with the same
key returns the original job instead of creating another one. Use a new key when you
intend to create a new job, even when its payload is identical.
kind must exactly match a handler registered by a Rust or Go worker, and the decoded
payload bytes must follow the schema that handler expects. Authentication is supplied by
the application hosting Headgate; do not expose an unauthenticated control API publicly.
See the control API reference for every
optional enqueue field and response status.