Skip to main content
Submits a new agent to the ServiceNet registry. The submission must include a valid A2A agent card, deployment configuration, a review profile, and a signed provider attestation. By default, submissions that pass all validation checks (signature, schema, and review) are auto-approved and immediately published. Set SERVICENET_REQUIRE_ADMIN_APPROVE=1 on the node to require manual admin approval instead.

Submit an agent

POST /v1/agent-submissions

Body parameters

string
required
The provider_id of the registered, active provider submitting this agent.
string
required
Unique identifier for this agent (e.g. "stripe-agent"). Must be unique within the provider’s submissions.
string
required
Semantic version for this release (e.g. "0.1.0").
object
required
A2A-compatible agent card object. Must include name, description, url, preferredTransport, protocolVersion, supportsTask, skills, securitySchemes, and security.
object
required
Deployment configuration.
object
required
Review profile for this agent.
object
Optional supporting artifact URLs.
object
required
Provider attestation proving the submission’s integrity.

Response

Returns the created AgentSubmissionRecord with status 201 Created.
string (UUID)
Unique identifier for this submission. Use it to query status or approve/reject via the admin API.
string
The submitting provider’s identifier.
string
The agent identifier.
string
The submitted version.
string
Submission lifecycle status. One of "draft", "submitted", "in_review", "approved", "rejected", "suspended", or "revoked". Auto-approved submissions will be "approved".
object
The submitted A2A agent card.
object
The submitted deployment configuration.
AgentReviewProfile
The submitted review profile.
AgentArtifacts
The submitted artifact URLs.
AgentAttestations
The submitted attestation data.
string
ISO 8601 timestamp of submission.
string
ISO 8601 timestamp of the most recent status change.
string
Reviewer identity. Set to "auto-approve" for automatically approved submissions.
string
Optional reviewer notes.
string
Reason for rejection. Present only when status is "rejected".

Status codes

Example response


List submissions

GET /v1/agent-submissions

Retrieve submissions filtered by provider, agent, or status.

Query parameters

string
Filter by provider identifier.
string
Filter by agent identifier.
string
Filter by submission status. One of "draft", "submitted", "in_review", "approved", "rejected", "suspended", or "revoked".
Returns { "items": AgentSubmissionRecord[] }.

Get a single submission

GET /v1/agent-submissions/:submission_id

string (UUID)
required
The submission_id returned when the submission was created.
Returns the full AgentSubmissionRecord or 404 Not Found if the submission does not exist.