Audit federation subgraph exposure API
Compare caller-supplied subgraph endpoints, router authentication, network rules, and service or ingress labels with the intended public subgraph list. audit_status is clean, findings_detected, incomplete, or invalid. risk_level is low, medium, high, or critical. A public label is not evidence that an endpoint is reachable. No URL is probed.
The Audit federation subgraph exposure operation is part of the Federation Authorization Audit API on BRAINIAC.software. Compare caller-supplied subgraph endpoints, router authentication, network rules, and service or ingress labels with the intended public subgraph list. audit_status is clean, findings_detected, incomplete, or invalid. risk_level is low, medium, high, or critical. A public label is not evidence that an endpoint is reachable. No URL is probed. It is exposed as POST /api/v1/graphql-security/federation-subgraph-exposure-audit and priced at $0.05 USDC on Base. Payment uses the x402 exact scheme: an unpaid call returns HTTP 402 with payment requirements; after paying the exact USDC amount, retry the same request with a payment-signature header and Idempotency-Key. No account and no API key are required. Data sources for this product: Caller-supplied GraphQL subgraph SDL processed locally Caller-supplied GraphQL Federation deployment configuration processed locally Limitations: Schemas are the SDL strings in the request. No gateway, router, or subgraph is contacted. A difference between directives is a schema-level inconsistency. It does not show that a request would be allowed or denied at runtime. Known authorization directives are @authenticated, @requiresScopes, and @policy. Another directive is used only when the request supplies its semantics. The supergraph SDL is compared as supplied text. Federation composition is not executed. Deployment exposure is read from explicit labels in the request. URLs are not resolved or probed. field-authorization-coverage counts fields whose line contains a supplied directive. It does not decide whether a request would be allowed. subgraph-complexity walks type references in the supplied SDL. The index is that depth, and introspection adds risk only when the request says it is enabled. Outputs are compliance prechecks, drafts, or data lookups for human review. They are not official determinations, legal advice, identity confirmation, or certified filings. Related operations in this group include Audit federation authorization, Score field authorization coverage, Score subgraph query depth. Open the group documentation for the full request schema, field notes, and response examples before integrating.
/api/v1/graphql-security/federation-subgraph-exposure-auditExample request
curl -i -X POST "https://www.brainiac.software/api/v1/graphql-security/federation-subgraph-exposure-audit" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"subgraphs": [
{
"name": "accounts",
"endpoint": "http://accounts.cluster.local:4001/graphql",
"authentication": "required",
"acceptsDirectClients": false,
"introspection": false,
"developmentMode": false,
"service": {
"exposure": "cluster_local"
},
"ingress": {
"audience": "internal"
},
"federationFields": {
"service": "router_only",
"entities": "router_only"
}
},
{
"name": "reviews",
"endpoint": "https://reviews.example.com/graphql",
"authentication": "disabled",
"acceptsDirectClients": true,
"introspection": true,
"developmentMode": true,
"service": {
"exposure": "public"
},
"ingress": {
"audience": "public"
},
"federationFields": {
"service": "exposed",
"entities": "exposed"
}
}
],
"router": {
"authenticationToSubgraphs": "per_subgraph",
"introspection": false,
"sandbox": false
},
"networkRules": [
{
"subgraph": "accounts",
"source": "router",
"action": "allow"
},
{
"subgraph": "accounts",
"source": "public",
"action": "deny"
},
{
"subgraph": "reviews",
"source": "public",
"action": "allow"
}
],
"publicEndpoints": []
}
JSONAn unpaid probe returns HTTP 402 with x402 payment requirements. After paying the exact USDC amount on Base, retry the identical request with a payment-signature header.
FAQ
- Do I need an API key? No. Pay the listed USDC amount with x402.
- What network? Base (eip155:8453), USDC.
- Is this an official determination? No. Results are for human review against the cited sources.
Related operations
- Audit federation authorization — $0.05 USDC
- Score field authorization coverage — $0.04 USDC
- Score subgraph query depth — $0.04 USDC