For Agents
Create and configure queues, send and receive messages, and acknowledge processed messages on a self-hosted Qakka deployment.
Use for: I need to create a new Qakka queue, Send a message to a Qakka queue, Receive messages from a Qakka queue for processing, Acknowledge that a Qakka message has been processed
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Qakka, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Qakka API.
Create a named Qakka queue and update its configuration parameters
List queues currently registered on the Qakka deployment
Send a message into a queue and assign it a queueMessageId
Receive one or more messages from a queue for processing
GET STARTED
Not supported: Does not handle pub-sub topics, stream processing, or persistent log replay - use for queue lifecycle, message enqueue and dequeue, and acknowledgement only.
Qakka is the queue system originally developed inside the Apache Usergrid project. The HTTP API exposes queue lifecycle (create, configure, delete), message enqueue and dequeue, single-message lookup, acknowledgement, and a status endpoint. The surface is small (ten operations) and is intended for service-to-service messaging where a lightweight queue is enough and a full broker like Kafka or RabbitMQ would be overkill. The spec does not declare authentication or a base server URL; both are set by the deployment.
Acknowledge a processed message so it is not redelivered
Probe the Qakka /status endpoint to confirm the service is healthy
Patterns agents use Qakka API for, with concrete tasks.
★ Lightweight job queue for service-to-service work
Use Qakka as a small, self-hosted queue for background jobs that do not justify a Kafka or RabbitMQ deployment. The producer POSTs jobs to /queues/{queueName}/messages, workers pull messages from the same path, process them, and acknowledge via /queues/{queueName}/messages/{queueMessageId}. Suitable for in-process workflows that just need at-least-once delivery.
POST a job payload to /queues/email-jobs/messages, then on a worker poll GET /queues/email-jobs/messages and POST acknowledgement once the email is sent
Queue health monitoring
Run a periodic check that the Qakka deployment is reachable and that critical queues exist. The agent calls /status to confirm the service is up and GET /queues to verify the expected queues are registered, alerting on absence. Useful in operations dashboards for self-hosted Apache Usergrid clusters.
GET /status every 60 seconds and alert if the response is not healthy, plus GET /queues and alert if a required queue name is missing
Provision a queue from automation
Create and configure a Qakka queue from an infrastructure agent rather than a manual call. The agent POSTs to /queues with the queue name, then PATCHes /queues/{queueName}/config with retention and visibility settings, and verifies via GET /queues/{queueName} that the queue is registered correctly.
POST {name: 'invoices'} to /queues, then PATCH /queues/invoices/config with retention and visibility values and confirm via GET /queues/invoices
AI agent integration via Jentic
An agent that needs to enqueue work into a self-hosted Qakka deployment can search Jentic for 'send a message to a queue' and Jentic returns the schema for /queues/{queueName}/messages. The deployment URL is held by Jentic, so the agent only supplies the queue name and the message body.
Search Jentic for 'send a message to a Qakka queue', load the /queues/{queueName}/messages schema, and POST the message body for the user-named queue
10 endpoints — qakka is the queue system originally developed inside the apache usergrid project.
METHOD
PATH
DESCRIPTION
/queues
List queues on the deployment
/queues
Create a new queue
/queues/{queueName}
Fetch a single queue
/queues/{queueName}/messages
Enqueue a message into a queue
/queues/{queueName}/messages
Receive messages from a queue
/queues/{queueName}/messages/{queueMessageId}
Fetch a specific queued message by id
/status
Health probe for the Qakka service
/queues
List queues on the deployment
/queues
Create a new queue
/queues/{queueName}
Fetch a single queue
/queues/{queueName}/messages
Enqueue a message into a queue
/queues/{queueName}/messages
Receive messages from a queue
Three things that make agents converge on Jentic-routed access.
Credential isolation
Any deployment-level token or proxy credential for Qakka is held in the Jentic vault (MAXsystem). The Qakka API itself does not declare a security scheme, but real deployments are usually fronted by an auth layer that Jentic isolates server-side.
Intent-based discovery
Agents search Jentic by intent ('send a message to a queue', 'list queues') and Jentic returns the Qakka operation and its parameter schema, so the agent does not need to read the Apache Usergrid docs.
Time to first call
Direct integration: half a day to wire up the deployment URL, queue creation, and acknowledgement loop. Through Jentic: under 30 minutes once the deployment URL is registered.
Alternatives and complements available in the Jentic catalogue.
Airflow API (Stable)
Workflow orchestration that can produce and consume Qakka messages from Airflow tasks.
Use Airflow to schedule the producers and consumers; use Qakka as the lightweight transport between them.
Temporal API
Durable workflow execution with built-in retries and signals.
Pick Temporal when the workload is long-running and stateful; pick Qakka for simple at-least-once message handoff.
GitHub API
Manage the source repo for the consumer code that drains Qakka queues.
Use GitHub to manage the worker code; use Qakka to deliver work to that worker.
Specific to using Qakka API through Jentic.
What authentication does the Qakka API use?
The OpenAPI spec does not declare any security schemes, so authentication is whatever the Qakka deployment puts in front of the service (typically a network-level control or a reverse proxy enforcing a bearer token). Through Jentic any deployment-level credential can be stored in the encrypted MAXsystem vault.
Can I send and receive messages with the Qakka API?
Yes. POST to /queues/{queueName}/messages enqueues a message and GET on the same path receives messages for a worker to process. After processing, acknowledge the specific message id via /queues/{queueName}/messages/{queueMessageId}.
How do I enqueue a message through Jentic?
Search Jentic for 'send a message to a Qakka queue', load the schema for POST /queues/{queueName}/messages, and execute it with the queue name and message body. Jentic resolves the deployment URL and any auth attached to the integration.
What are the rate limits for the Qakka API?
Qakka itself does not declare rate limits; throughput is bounded by the deployment's hosts and the underlying storage. Limits in practice come from any reverse proxy or load balancer in front of the service.
Is the Qakka API free to use?
Qakka is part of the Apache Usergrid project and is open source under the Apache 2.0 license, so the API is free. Costs are the infrastructure to run it.
Does Qakka guarantee message ordering or exactly-once delivery?
The spec defines enqueue, receive, and acknowledgement primitives but does not promise strict ordering or exactly-once semantics; Qakka is at-least-once, like most lightweight queues. Consumers need to be idempotent on the queueMessageId.
/queues/{queueName}/messages/{queueMessageId}
Fetch a specific queued message by id
/status
Health probe for the Qakka service