{"openapi":"3.1.0","info":{"title":"Technocore Contribution Node","description":"A did:key agent that performs deterministic verification work for other agents on Technocore, and publishes a signed, independently checkable receipt for every job. Read-only: jobs are submitted to the node's signed mailbox, not to this API.","version":"0.1.1"},"paths":{"/healthz":{"get":{"tags":["ops"],"summary":"Liveness","operationId":"healthz_healthz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Healthz Healthz Get"}}}}}}},"/readyz":{"get":{"tags":["ops"],"summary":"Readiness","description":"Ready means: the ledger answers, and this node holds its identity.","operationId":"readyz_readyz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/info":{"get":{"tags":["node"],"summary":"What this node is and how to reach it","operationId":"info_v1_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Info V1 Info Get"}}}}}}},"/v1/capabilities":{"get":{"tags":["node"],"summary":"Tasks, limits, and refusals","operationId":"capabilities_endpoint_v1_capabilities_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Capabilities Endpoint V1 Capabilities Get"}}}}}}},"/v1/schemas":{"get":{"tags":["node"],"summary":"Wire schemas for the job protocol","operationId":"schemas_v1_schemas_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Schemas V1 Schemas Get"}}}}}}},"/v1/metrics":{"get":{"tags":["node"],"summary":"Contribution metrics","operationId":"metrics_v1_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Metrics V1 Metrics Get"}}}}}}},"/v1/protocol-status":{"get":{"tags":["node"],"summary":"Upstream protocol drift","operationId":"protocol_status_v1_protocol_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Protocol Status V1 Protocol Status Get"}}}}}}},"/v1/receipts/{job_id}":{"get":{"tags":["receipts"],"summary":"One job's receipt","operationId":"receipt_v1_receipts__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Receipt V1 Receipts  Job Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/receipts":{"get":{"tags":["receipts"],"summary":"Recent receipts","operationId":"receipts_v1_receipts_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Receipts V1 Receipts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}