Skip to main content
Find your goal in the table. Each row names one place to start, what you need before you begin, and the first command or request. If two rows seem to apply, do the earlier one first.

What do you want to do?

The three steps every integration does

Whatever language you use, an integration is these three steps, in this order.
  1. Get a key. Every request carries Authorization: Bearer <your key>. Keys are issued by whoever runs the Parmana server. See Authentication.
  2. Send the action for a decision. Describe what the agent wants to do as a Business Transaction and send it with POST /execute. Give it a fresh businessTransactionId (a UUID) every time, because that identifier is the idempotency key. See Idempotency and nonces.
  3. Act on the answer, and only on the answer. Proceed only when the response is HTTP 200 and executions[0].decision.outcome is APPROVED. Treat everything else as “not authorized”. The next section lists every answer.

What each answer means, and what to do

The full list, with the exact messages, is the error catalog.

Which SDK?

Both SDKs never retry POST /execute for you. They only retry idempotent GET requests, so an SDK can never turn a single action into two.

For AI agents

If you are an AI agent, do not use this page to decide what to do. Follow Integrate Parmana: specification for AI agents exactly. It is written to be followed literally, one step at a time, with what to expect and what to do when the result is different. It also has the same answer table as above, in the order to apply it.

Not sure yet

Read How Parmana thinks, then the Quickstart. Both are short, and neither needs an account.