### GET /api/agents Returns vendor-owned agents for the authenticated API key. ```markdown ### Responses #### 200 - List of agents - **data** (array (Agent)) Array items: - **id** (string): Unique identifier for the agent. - **name** (string): Human-readable name of the agent. - **description** (string,null): Optional description of the agent. - **created_at** (string (date-time)): Timestamp when the agent was created. - **updated_at** (string (date-time)): Timestamp when the agent was last updated. #### 401 - Missing or invalid API key **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 500 - Server error while fetching agents **ErrorResponse** - **error** (string) (required) - **detail** (string) ### Example Usage ```bash curl -X GET "https://app.vaultgraph.com/api/agents" ``` ``` -------------------------------- ### GET /api/consumers Returns vendor-owned consumers for the authenticated API key. ```markdown ### Responses #### 200 - List of consumers - **data** (array (Consumer)) Array items: - **id** (string): Unique identifier for the consumer. - **name** (string): Human-readable name of the consumer. - **description** (string,null): Optional description of the consumer. - **linked_consumer_org_id** (string,null): Optional linked consumer org id. - **linked_at** (string,null): Timestamp when the consumer was linked. - **created_at** (string (date-time)): Timestamp when the consumer was created. - **updated_at** (string (date-time)): Timestamp when the consumer was last updated. #### 401 - Missing or invalid API key **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 500 - Server error while fetching consumers **ErrorResponse** - **error** (string) (required) - **detail** (string) ### Example Usage ```bash curl -X GET "https://app.vaultgraph.com/api/consumers" ``` ``` -------------------------------- ### GET /api/consumers/{id} API endpoint for GET /api/consumers/{id} ```markdown ### Parameters - **id** (string, path, required) ### Responses #### 200 - Consumer detail - **data** (object): Representation of a consumer in the VaultGraph portal. - **id** (string): Unique identifier for the consumer. - **name** (string): Human-readable name of the consumer. - **description** (string,null): Optional description of the consumer. - **linked_consumer_org_id** (string,null): Optional linked consumer org id. - **linked_at** (string,null): Timestamp when the consumer was linked. - **created_at** (string (date-time)): Timestamp when the consumer was created. - **updated_at** (string (date-time)): Timestamp when the consumer was last updated. #### 400 - Missing or invalid consumer id **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 401 - Missing or invalid API key **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 404 - Consumer not found **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 500 - Server error while fetching consumer **ErrorResponse** - **error** (string) (required) - **detail** (string) ### Example Usage ```bash curl -X GET "https://app.vaultgraph.com/api/consumers/{id}" ``` ``` -------------------------------- ### GET /api/agents/{id} API endpoint for GET /api/agents/{id} ```markdown ### Parameters - **id** (string, path, required) ### Responses #### 200 - Agent detail - **data** (object): Representation of an agent in the VaultGraph portal. - **id** (string): Unique identifier for the agent. - **name** (string): Human-readable name of the agent. - **description** (string,null): Optional description of the agent. - **created_at** (string (date-time)): Timestamp when the agent was created. - **updated_at** (string (date-time)): Timestamp when the agent was last updated. #### 400 - Missing or invalid agent id **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 401 - Missing or invalid API key **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 404 - Agent not found **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 500 - Server error while fetching agent **ErrorResponse** - **error** (string) (required) - **detail** (string) ### Example Usage ```bash curl -X GET "https://app.vaultgraph.com/api/agents/{id}" ``` ``` -------------------------------- ### POST /api/consumers Creates a new vendor-owned consumer. ```markdown ### Request Body **Content-Type:** application/json - **name** (string) (required): Human-readable name of the consumer. - **description** (string,null): Optional description of the consumer. ### Responses #### 201 - Consumer created - **data** (object): Representation of a consumer in the VaultGraph portal. - **id** (string): Unique identifier for the consumer. - **name** (string): Human-readable name of the consumer. - **description** (string,null): Optional description of the consumer. - **linked_consumer_org_id** (string,null): Optional linked consumer org id. - **linked_at** (string,null): Timestamp when the consumer was linked. - **created_at** (string (date-time)): Timestamp when the consumer was created. - **updated_at** (string (date-time)): Timestamp when the consumer was last updated. #### 400 - Invalid payload **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 401 - Missing or invalid API key **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 500 - Server error while creating consumer **ErrorResponse** - **error** (string) (required) - **detail** (string) ### Example Usage ```bash curl -X POST "https://app.vaultgraph.com/api/consumers" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "value" }' ``` ``` -------------------------------- ### POST /api/agents Creates a new vendor-owned agent. ```markdown ### Request Body **Content-Type:** application/json - **name** (string) (required): Human-readable name of the agent. - **description** (string,null): Optional description of the agent. ### Responses #### 201 - Agent created - **data** (object): Representation of an agent in the VaultGraph portal. - **id** (string): Unique identifier for the agent. - **name** (string): Human-readable name of the agent. - **description** (string,null): Optional description of the agent. - **created_at** (string (date-time)): Timestamp when the agent was created. - **updated_at** (string (date-time)): Timestamp when the agent was last updated. #### 400 - Invalid payload **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 401 - Missing or invalid API key **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 500 - Server error while creating agent **ErrorResponse** - **error** (string) (required) - **detail** (string) ### Example Usage ```bash curl -X POST "https://app.vaultgraph.com/api/agents" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "value" }' ``` ``` -------------------------------- ### API Overview: VaultGraph Portal API Server-to-server endpoints exposed by the VaultGraph portal (beta). ```yaml # VaultGraph Portal API # Version: 0.1.0 Server-to-server endpoints exposed by the VaultGraph portal (beta). # Base URL: https://app.vaultgraph.com ``` -------------------------------- ### Security: x-api-key Security scheme: ApiKeyAuth ```markdown ## Security: x-api-key **Description:** Security scheme: ApiKeyAuth **Type:** apiKey ``` -------------------------------- ### Schema: JobReceipt Schema definition for JobReceipt ```markdown ## Schema: JobReceipt Schema definition for JobReceipt **Type:** object - **version** (string (v0)) (required) ("v0") - **agent_id** (string) (required) - **consumer_id** (string) (required) - **job_id** (string) (required) - **resolution** (string (resolved|partial|failed)) (required) ("resolved"|"partial"|"failed") - **context_hash** (string) (required) - **issued_at** (string (date-time)) (required) - **metadata** (object) (required) ``` -------------------------------- ### Schema: Consumer Representation of a consumer in the VaultGraph portal. ```markdown ## Schema: Consumer Representation of a consumer in the VaultGraph portal. **Type:** object - **id** (string): Unique identifier for the consumer. - **name** (string): Human-readable name of the consumer. - **description** (string,null): Optional description of the consumer. - **linked_consumer_org_id** (string,null): Optional linked consumer org id. - **linked_at** (string,null): Timestamp when the consumer was linked. - **created_at** (string (date-time)): Timestamp when the consumer was created. - **updated_at** (string (date-time)): Timestamp when the consumer was last updated. ``` -------------------------------- ### POST /api/receipts Accepts a signed JobReceipt payload on behalf of the vendor org that owns the agent and consumer. Requires a vendor API key; rejects cross-org receipts and invalid signatures. ```markdown ### Request Body **Content-Type:** application/json - **receipt** (object) (required) - **version** (string (v0)) (required) ("v0") - **agent_id** (string) (required) - **consumer_id** (string) (required) - **job_id** (string) (required) - **resolution** (string (resolved|partial|failed)) (required) ("resolved"|"partial"|"failed") - **context_hash** (string) (required) - **issued_at** (string (date-time)) (required) - **metadata** (object) (required) - **signature** (string) (required): Base64-encoded signature of the canonical receipt payload. - **public_key** (string) (required): PEM-encoded public key for signature verification. - **metadata** (object): Optional ingestion metadata (e.g., source channel). ### Responses #### 200 - Receipt inserted and verified **ReceiptIngestResponse** - **id** (string (uuid)) (required) - **status** (string (verified)) (required) ("verified") #### 400 - Invalid payload, signature, or ownership **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 401 - Missing or invalid API key **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 403 - Agent or consumer does not belong to the vendor org **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 429 - Too many requests from the same client **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 500 - Server error while persisting the receipt **ErrorResponse** - **error** (string) (required) - **detail** (string) ### Example Usage ```bash curl -X POST "https://app.vaultgraph.com/api/receipts" \ -H "Content-Type: application/json" \ -d '{ "receipt": "value", "signature": "string", "public_key": "string", "metadata": "value" }' ``` ``` -------------------------------- ### Schema: ConsumerCreateRequest Request payload for creating a new consumer. ```markdown ## Schema: ConsumerCreateRequest Request payload for creating a new consumer. **Type:** object - **name** (string) (required): Human-readable name of the consumer. - **description** (string,null): Optional description of the consumer. ``` -------------------------------- ### Schema: AgentCreateRequest Request payload for creating a new agent. ```markdown ## Schema: AgentCreateRequest Request payload for creating a new agent. **Type:** object - **name** (string) (required): Human-readable name of the agent. - **description** (string,null): Optional description of the agent. ``` -------------------------------- ### Schema: Agent Representation of an agent in the VaultGraph portal. ```markdown ## Schema: Agent Representation of an agent in the VaultGraph portal. **Type:** object - **id** (string): Unique identifier for the agent. - **name** (string): Human-readable name of the agent. - **description** (string,null): Optional description of the agent. - **created_at** (string (date-time)): Timestamp when the agent was created. - **updated_at** (string (date-time)): Timestamp when the agent was last updated. ``` -------------------------------- ### PUT /api/consumers/{id} API endpoint for PUT /api/consumers/{id} ```markdown ### Parameters - **id** (string, path, required) ### Request Body **Content-Type:** application/json - **name** (string) (required): Updated human-readable name of the consumer. - **description** (string,null): Updated description of the consumer. ### Responses #### 200 - Consumer updated - **data** (object): Representation of a consumer in the VaultGraph portal. - **id** (string): Unique identifier for the consumer. - **name** (string): Human-readable name of the consumer. - **description** (string,null): Optional description of the consumer. - **linked_consumer_org_id** (string,null): Optional linked consumer org id. - **linked_at** (string,null): Timestamp when the consumer was linked. - **created_at** (string (date-time)): Timestamp when the consumer was created. - **updated_at** (string (date-time)): Timestamp when the consumer was last updated. #### 400 - Invalid payload **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 401 - Missing or invalid API key **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 404 - Consumer not found **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 500 - Server error while updating consumer **ErrorResponse** - **error** (string) (required) - **detail** (string) ### Example Usage ```bash curl -X PUT "https://app.vaultgraph.com/api/consumers/{id}" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "value" }' ``` ``` -------------------------------- ### Schema: ErrorResponse Schema definition for ErrorResponse ```markdown ## Schema: ErrorResponse Schema definition for ErrorResponse **Type:** object - **error** (string) (required) - **detail** (string) ``` -------------------------------- ### PUT /api/agents/{id} API endpoint for PUT /api/agents/{id} ```markdown ### Parameters - **id** (string, path, required) ### Request Body **Content-Type:** application/json - **name** (string) (required): Updated human-readable name of the agent. - **description** (string,null): Updated description of the agent. ### Responses #### 200 - Agent updated - **data** (object): Representation of an agent in the VaultGraph portal. - **id** (string): Unique identifier for the agent. - **name** (string): Human-readable name of the agent. - **description** (string,null): Optional description of the agent. - **created_at** (string (date-time)): Timestamp when the agent was created. - **updated_at** (string (date-time)): Timestamp when the agent was last updated. #### 400 - Invalid payload **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 401 - Missing or invalid API key **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 404 - Agent not found **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 500 - Server error while updating agent **ErrorResponse** - **error** (string) (required) - **detail** (string) ### Example Usage ```bash curl -X PUT "https://app.vaultgraph.com/api/agents/{id}" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "description": "value" }' ``` ``` -------------------------------- ### Schema: ReceiptIngestResponse Schema definition for ReceiptIngestResponse ```markdown ## Schema: ReceiptIngestResponse Schema definition for ReceiptIngestResponse **Type:** object - **id** (string (uuid)) (required) - **status** (string (verified)) (required) ("verified") ``` -------------------------------- ### Schema: ConsumerUpdateRequest Request payload for updating an existing consumer. ```markdown ## Schema: ConsumerUpdateRequest Request payload for updating an existing consumer. **Type:** object - **name** (string) (required): Updated human-readable name of the consumer. - **description** (string,null): Updated description of the consumer. ``` -------------------------------- ### Schema: ReceiptIngestRequest Schema definition for ReceiptIngestRequest ```markdown ## Schema: ReceiptIngestRequest Schema definition for ReceiptIngestRequest **Type:** object - **receipt** (object) (required) - **version** (string (v0)) (required) ("v0") - **agent_id** (string) (required) - **consumer_id** (string) (required) - **job_id** (string) (required) - **resolution** (string (resolved|partial|failed)) (required) ("resolved"|"partial"|"failed") - **context_hash** (string) (required) - **issued_at** (string (date-time)) (required) - **metadata** (object) (required) - **signature** (string) (required): Base64-encoded signature of the canonical receipt payload. - **public_key** (string) (required): PEM-encoded public key for signature verification. - **metadata** (object): Optional ingestion metadata (e.g., source channel). ``` -------------------------------- ### Schema: AgentUpdateRequest Request payload for updating an existing agent. ```markdown ## Schema: AgentUpdateRequest Request payload for updating an existing agent. **Type:** object - **name** (string) (required): Updated human-readable name of the agent. - **description** (string,null): Updated description of the agent. ``` -------------------------------- ### DELETE /api/agents/{id} API endpoint for DELETE /api/agents/{id} ```markdown ### Parameters - **id** (string, path, required) ### Responses #### 200 - Agent deleted - **id** (string) #### 400 - Missing or invalid agent id **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 401 - Missing or invalid API key **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 404 - Agent not found **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 500 - Server error while deleting agent **ErrorResponse** - **error** (string) (required) - **detail** (string) ### Example Usage ```bash curl -X DELETE "https://app.vaultgraph.com/api/agents/{id}" ``` ``` -------------------------------- ### DELETE /api/consumers/{id} API endpoint for DELETE /api/consumers/{id} ```markdown ### Parameters - **id** (string, path, required) ### Responses #### 200 - Consumer deleted - **id** (string) #### 400 - Missing or invalid consumer id **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 401 - Missing or invalid API key **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 404 - Consumer not found **ErrorResponse** - **error** (string) (required) - **detail** (string) #### 500 - Server error while deleting consumer **ErrorResponse** - **error** (string) (required) - **detail** (string) ### Example Usage ```bash curl -X DELETE "https://app.vaultgraph.com/api/consumers/{id}" ``` ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.