AAuth Explorer
missionsPhase 14

Audit Endpoint

The audit endpoint enables agents to log actions they performed — providing the PS with a record for governance and monitoring that feeds the mission log. The agent POSTs a signed audit entry after performing an action, the PS responds 201 Created, and the audit is fire-and-forget (the agent SHOULD NOT block on the response). The audit endpoint REQUIRES a mission — there is no audit outside a mission context (§1046).

§ Audit Endpoint / § Mission Log
AgentPerson Server1POST /audit (FeedbackReader…2012POST /audit (ReportWriter.w…3POST /audit AFTER mission t…
POST https://ps.example/audit201

The agent signs the request with its agent token (Signature-Key: sig=jwt).

mission_s256 and action are REQUIRED. In -11 the mission is named by a bare digest — the {approver, s256} object is gone from every request and every token.

description, parameters and result are OPTIONAL but make the record useful.

The audit endpoint requires a mission. There is no audit outside a mission context.

The PS returns 201 Created — audit is fire-and-forget; the agent SHOULD NOT block on it.

1 / 3
speed

Step 1: POST /audit (FeedbackReader.read) → 201 Created

Request / response
Audit Flow
Mission being audited

Description (Markdown)

# Analyze Q2 Customer Feedback

Read customer feedback records and produce a summary report with sentiment analysis and key themes.

Blob Members

approverhttps://ps.example
agentaauth:local@agent.example
approved_at2026-04-14T17:14:54Z
expires_at2026-05-14T17:14:54Z
approved_resourceshttps://api.example

The blob is what the digest covers. approver lives here and nowhere else — no token carries it.

Mission Identifier

mission (base64url)

eyJhcHByb3ZlciI6Imh0dHBzOi8vcHMuZXhhbXBsZSIsImFnZW50IjoiYWF1dGg6bG9jYWxAYWdlbnQuZXhhbXBsZSIsImFwcHJvdmVkX2F0IjoiMjAyNi0wNC0xNFQxNzoxNDo1NFoiLCJleHBpcmVzX2F0IjoiMjAyNi0wNS0xNFQxNzoxNDo1NFoiLCJkZXNjcmlwdGlvbiI6IiMgQW5hbHl6ZSBRMiBDdXN0b21lciBGZWVkYmFja1xuXG5SZWFkIGN1c3RvbWVyIGZlZWRiYWNrIHJlY29yZHMgYW5kIHByb2R1Y2UgYSBzdW1tYXJ5IHJlcG9ydCB3aXRoIHNlbnRpbWVudCBhbmFseXNpcyBhbmQga2V5IHRoZW1lcy4iLCJhcHByb3ZlZF90b29scyI6W3sibmFtZSI6IkZlZWRiYWNrUmVhZGVyIiwiZGVzY3JpcHRpb24iOiJSZWFkIGN1c3RvbWVyIGZlZWRiYWNrIHJlY29yZHMifSx7Im5hbWUiOiJSZXBvcnRXcml0ZXIiLCJkZXNjcmlwdGlvbiI6IldyaXRlIHRoZSBzdW1tYXJ5IHJlcG9ydCB0byB0aGUgc2hhcmVkIGRyaXZlIn1dLCJhcHByb3ZlZF9yZXNvdXJjZXMiOlsiaHR0cHM6Ly9hcGkuZXhhbXBsZSJdfQ

s256

7SGTFsuKCcpYJwGRkVBi8vOc1Ssm7NdgnVaAruK87Rg

s256 is not a blob member. It is BASE64URL(SHA-256()) of the bytes mission decodes to, returned alongside it so the agent can verify the digest covers an unambiguous byte sequence. It travels as the mission_s256 claim of person, resource and auth tokens.

Approved Tools

FeedbackReader

Read customer feedback records

ReportWriter

Write the summary report to the shared drive

PS Capabilities

interactionclarification
POSThttps://ps.example/audit
Content-Type?

application/json

Signature-KeyAAuth?

sig=jwt;jwt="eyJhbGciOiJFZERTQSIsImtpZCI6ImFnZW50LWtleS0xIiwidHlwIjoiYWEtYWdlbnQ…

Signature-InputAAuth?

sig=("@method" "@authority" "@path" "signature-key");created=1700000000;alg="ed2…

SignatureAAuth?

sig=:AQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQIDAQI…

Body
{
  "mission_s256": "7SGTFsuKCcpYJwGRkVBi8vOc1Ssm7NdgnVaAruK87Rg",
  "action": "FeedbackReader.read",
  "description": "Read Q2 customer feedback records from the feedback service.",
  "parameters": {
    "date_range": "2026-04-01..2026-06-30",
    "product": "all"
  },
  "result": {
    "status": "completed",
    "records_read": 1247
  }
}
HTTP Signaturescheme=jwt

Covered Components

@method
@authority
@path
signature-key

Signature Base

"@method": POST
"@authority": ps.example
"@path": /audit
"signature-key": sig=jwt;jwt="eyJhbGciOiJFZERTQSIsImtpZCI6ImFnZW50LWtleS0xIiwidHlwIjoiYWEtYWdlbnQrand0In0…"
"@signature-params": sig=("@method" "@authority" "@path" "signature-key");created=1700000000;alg="ed25519"

Signature-Key Header

sig=jwt;jwt="eyJhbGciOiJFZERTQSIsImtpZCI6ImFnZW50LWtleS0xIiwidHlwIjoiYWEtYWdlbnQrand0In0…"

Signature-Input Header

sig=("@method" "@authority" "@path" "signature-key");created=1700000000;alg="ed25519"

Agent Tokenaa-agent+jwt
Header
{
"alg":"EdDSA",
"kid":"agent-key-1",
"typ"?:"aa-agent+jwt"
}
Payload
{
"iss"?:"https://agent.example",
"dwk"?:"aauth-agent.json",
"sub"?:"aauth:local@agent.example",
"jti"?:"a6ae301d-1dc7-4b75-8f8b-5612197664a7",
"cnf"?:{
"jwk"?:
}
,
"ps"?:"https://ps.example",
"iat"?:1776222894,
"exp"?:1776226494
}
sig: 8byvGd-PR3uOLeS_HYOpbW7OD_8whUuD