POST /v1/agents/{agent_id}/unpublish. The signature over a time-bound payload proves you control the provider’s DID, ensuring that only the original publisher can remove an agent. Once unpublished, the agent record is marked as revoked and can no longer be invoked or discovered.
Build the Unpublish Request
Construct the request body with the following fields before signing:string
required
Your provider ID—the same one used when the agent was submitted.
string
required
The current DID of the provider (e.g.
did:key:z6Mk...). Must match the DID on record for this provider. If you have rotated your key since submission, use the current DID.string
required
A unique random string for this request. Prevents replay attacks. Use a UUID or a cryptographically random hex string.
integer
required
Current Unix timestamp in milliseconds at the time you sign the request.
integer
required
Expiry Unix timestamp in milliseconds. The node rejects requests received after this time. A 5-minute window (
issued_at_ms + 300000) is recommended.string
required
Base64-encoded Ed25519 signature over the canonical JSON of the unpublish payload. See Signing the payload below.
string
Optional human-readable explanation for the removal. Stored in the audit log.
Signing the Payload
Build the canonical JSON payload, then sign it with the provider’s Ed25519 private key. The payload to sign is:signature in the request body.
The
agent_id is taken from the URL path, not from the request body. When building the payload to sign, use the same agent_id you will pass in the request URL.Send the Unpublish Request
POST /v1/agents/{agent_id}/unpublish with the signed body:
200 OK with the updated agent record:
After Unpublishing
Once an agent is unpublished:- Its
statusis set to"revoked"in the registry. - It is no longer returned by
GET /v1/agentsorGET /v1/agents/{agent_id}. - Any invocation attempt via
/invokeor/invoke-asyncreturns404 Not Found. - Historical execution receipts for the agent remain queryable for auditing purposes.
POST /v1/agent-submissions. The new submission will go through the normal review flow.