Discover federated
Contract and client context
Operation: discover_federated · HTTP: POST /v1/discover/federated
Use an operator-supplied registry base URL. Request execution is disabled in this documentation explorer. Generated request snippets are templates, not signed or authorized submissions.
Exact operation definition
{
"operationId": "discover_federated",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MarsQuery"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FederatedDiscoveryResult"
}
}
},
"description": "Deterministically merged local and signed peer results with bounded partial metadata"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Invalid query or federated cursor"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Session missing or invalid"
},
"403": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Federated discovery capability required"
},
"413": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Query body exceeds the explicit admission limit"
},
"429": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
},
"description": "Query rate limit exceeded"
}
},
"security": [
{
"siwsSession": []
},
{
"siwsCookie": []
}
],
"tags": [
"discovery"
]
}Resolve schema references against the complete OpenAPI document. Standalone schemas and hashes are generated from the same checked-in source.
/v1/discover/federatedOpaque capability-bearing MARS session issued by an enabled authentication profile.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
A fully-parsed MARS-QL query.
Represents the output of the recursive-descent parser operating on a
MARS-QL string. Every clause is optional except the DISCOVER keyword and
entry type.
Examples
# use mars_protocol::marsql::ast::*;let q = MarsQuery { entry_type: QueryEntryType::All, conditions: vec![], ordering: vec![], limit: Some(10), offset: None,};assert!(q.conditions.is_empty());Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/discover/federated" \ -H "Content-Type: application/json" \ -d '{ "entryType": "AgentDefinition" }'{ "cursor": "string", "entries": [ { "accessPolicy": null, "anchorState": "unanchored", "bondReference": null, "customMetadata": { "property1": null, "property2": null }, "description": "string", "entryDid": "string", "entryType": "AgentDefinition", "itemData": null, "itemDataHash": "string", "itemSchemaUri": "string", "lifecycleStatus": "draft", "lineageReference": null, "marsVersion": "string", "name": "string", "publishedAt": "2019-08-24T14:15:22Z", "publisherDid": "string", "relationships": [ { "label": "string", "relationshipType": "dependsOn", "targetDid": "string" } ], "semanticAnnotations": [ { "objectLiteral": "string", "objectUri": "string", "predicateUri": "string" } ], "sequence": 0, "serviceEndpoints": [ { "id": "string", "priority": 0, "properties": { "property1": null, "property2": null }, "type": "string", "url": "string" } ], "shardAssignment": "string", "signature": { "algorithm": "string", "created": "string", "keyId": "string", "value": "string" }, "tags": [ "string" ], "updatedAt": "2019-08-24T14:15:22Z", "verifiableAttestations": [ null ], "version": "string" } ], "federation": { "federated": true, "partial": true, "peersAttempted": 0, "peersFailed": 0, "peersSucceeded": 0 }, "hasMore": true, "totalCount": 0}