SERVICENET_REQUIRE_ADMIN_APPROVE=1 on the node to require manual admin approval instead.
Submit an agent
POST /v1/agent-submissions
Body parameters
The
provider_id of the registered, active provider submitting this agent.Unique identifier for this agent (e.g.
"stripe-agent"). Must be unique within the provider’s submissions.Semantic version for this release (e.g.
"0.1.0").A2A-compatible agent card object. Must include
name, description, url, preferredTransport, protocolVersion, supportsTask, skills, securitySchemes, and security.Deployment configuration.
Review profile for this agent.
Optional supporting artifact URLs.
Provider attestation proving the submission’s integrity.
Response
Returns the createdAgentSubmissionRecord with status 201 Created.
Unique identifier for this submission. Use it to query status or approve/reject via the admin API.
The submitting provider’s identifier.
The agent identifier.
The submitted version.
Submission lifecycle status. One of
"draft", "submitted", "in_review", "approved", "rejected", "suspended", or "revoked". Auto-approved submissions will be "approved".The submitted A2A agent card.
The submitted deployment configuration.
The submitted review profile.
The submitted artifact URLs.
The submitted attestation data.
ISO 8601 timestamp of submission.
ISO 8601 timestamp of the most recent status change.
Reviewer identity. Set to
"auto-approve" for automatically approved submissions.Optional reviewer notes.
Reason for rejection. Present only when
status is "rejected".Status codes
| Code | Meaning |
|---|---|
201 Created | Submission accepted. Returns the AgentSubmissionRecord. |
400 Bad Request | Missing required fields, invalid attestation signature, or schema validation failure. |
403 Forbidden | The provider is revoked or blocked. |
Example response
List submissions
GET /v1/agent-submissions
Retrieve submissions filtered by provider, agent, or status.
Query parameters
Filter by provider identifier.
Filter by agent identifier.
Filter by submission status. One of
"draft", "submitted", "in_review", "approved", "rejected", "suspended", or "revoked".{ "items": AgentSubmissionRecord[] }.
Get a single submission
GET /v1/agent-submissions/:submission_id
The
submission_id returned when the submission was created.AgentSubmissionRecord or 404 Not Found if the submission does not exist.