{"openapi":"3.1.0","info":{"title":"clawdid","version":"v0.1"},"paths":{"/live":{"get":{"summary":"Live","operationId":"live_live_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Live Live Get"}}}}}}},"/ready":{"get":{"summary":"Ready","operationId":"ready_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Ready Ready Get"}}}}}}},"/meta":{"get":{"summary":"Meta","operationId":"meta_meta_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Meta Meta Get"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Health Get"}}}}}}},"/api/v1/release":{"get":{"summary":"Release","operationId":"release_api_v1_release_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Release Api V1 Release Get"}}}}}}},"/v1/did":{"post":{"tags":["did"],"summary":"Register Did","operationId":"register_did_v1_did_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DidRegisterRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Register Did V1 Did Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/did/{did_claw}/key":{"get":{"tags":["did"],"summary":"Get Key","operationId":"get_key_v1_did__did_claw__key_get","parameters":[{"name":"did_claw","in":"path","required":true,"schema":{"type":"string","title":"Did Claw"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DidKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/did/{did_claw}/head":{"get":{"tags":["did"],"summary":"Get Head","description":"Lightweight endpoint to learn the latest audit-log head without downloading the full log.\n\nIntended for clients that want to poll for updates (seq/entry_hash) before fetching `/key` or `/log`.","operationId":"get_head_v1_did__did_claw__head_get","parameters":[{"name":"did_claw","in":"path","required":true,"schema":{"type":"string","title":"Did Claw"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DidHeadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/did/{did_claw}/full":{"get":{"tags":["did"],"summary":"Get Full","operationId":"get_full_v1_did__did_claw__full_get","parameters":[{"name":"did_claw","in":"path","required":true,"schema":{"type":"string","title":"Did Claw"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-ClawDID-Timestamp","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Clawdid-Timestamp"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DidFullResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/did/{did_claw}/log":{"get":{"tags":["did"],"summary":"Get Log","operationId":"get_log_v1_did__did_claw__log_get","parameters":[{"name":"did_claw","in":"path","required":true,"schema":{"type":"string","title":"Did Claw"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DidLogEntry"},"title":"Response Get Log V1 Did  Did Claw  Log Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/did/{did_claw}":{"put":{"tags":["did"],"summary":"Update Mapping","operationId":"update_mapping_v1_did__did_claw__put","parameters":[{"name":"did_claw","in":"path","required":true,"schema":{"type":"string","title":"Did Claw"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DidUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Mapping V1 Did  Did Claw  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"DidFullResponse":{"properties":{"did_claw":{"type":"string","title":"Did Claw"},"current_did_key":{"type":"string","title":"Current Did Key"},"server":{"type":"string","title":"Server"},"address":{"type":"string","title":"Address"},"handle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Handle"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["did_claw","current_did_key","server","address","handle","created_at","updated_at"],"title":"DidFullResponse"},"DidHeadResponse":{"properties":{"did_claw":{"type":"string","title":"Did Claw"},"current_did_key":{"type":"string","title":"Current Did Key"},"seq":{"type":"integer","title":"Seq"},"entry_hash":{"type":"string","title":"Entry Hash"},"state_hash":{"type":"string","title":"State Hash"},"timestamp":{"type":"string","title":"Timestamp"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["did_claw","current_did_key","seq","entry_hash","state_hash","timestamp","updated_at"],"title":"DidHeadResponse"},"DidKeyEvidence":{"properties":{"seq":{"type":"integer","title":"Seq"},"operation":{"type":"string","title":"Operation"},"previous_did_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Previous Did Key"},"new_did_key":{"type":"string","title":"New Did Key"},"prev_entry_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Entry Hash"},"entry_hash":{"type":"string","title":"Entry Hash"},"state_hash":{"type":"string","title":"State Hash"},"authorized_by":{"type":"string","title":"Authorized By"},"signature":{"type":"string","title":"Signature"},"timestamp":{"type":"string","title":"Timestamp"}},"type":"object","required":["seq","operation","previous_did_key","new_did_key","prev_entry_hash","entry_hash","state_hash","authorized_by","signature","timestamp"],"title":"DidKeyEvidence"},"DidKeyResponse":{"properties":{"did_claw":{"type":"string","title":"Did Claw"},"current_did_key":{"type":"string","title":"Current Did Key"},"log_head":{"anyOf":[{"$ref":"#/components/schemas/DidKeyEvidence"},{"type":"null"}]}},"type":"object","required":["did_claw","current_did_key"],"title":"DidKeyResponse"},"DidLogEntry":{"properties":{"did_claw":{"type":"string","title":"Did Claw"},"seq":{"type":"integer","title":"Seq"},"operation":{"type":"string","title":"Operation"},"previous_did_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Previous Did Key"},"new_did_key":{"type":"string","title":"New Did Key"},"prev_entry_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Entry Hash"},"entry_hash":{"type":"string","title":"Entry Hash"},"state_hash":{"type":"string","title":"State Hash"},"authorized_by":{"type":"string","title":"Authorized By"},"signature":{"type":"string","title":"Signature"},"timestamp":{"type":"string","title":"Timestamp"}},"type":"object","required":["did_claw","seq","operation","previous_did_key","new_did_key","prev_entry_hash","entry_hash","state_hash","authorized_by","signature","timestamp"],"title":"DidLogEntry"},"DidRegisterRequest":{"properties":{"did_claw":{"type":"string","maxLength":256,"title":"Did Claw"},"did_key":{"type":"string","maxLength":256,"title":"Did Key"},"server":{"type":"string","maxLength":512,"title":"Server"},"address":{"type":"string","maxLength":256,"title":"Address"},"handle":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Handle"},"seq":{"type":"integer","minimum":1.0,"title":"Seq","default":1},"prev_entry_hash":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Prev Entry Hash"},"state_hash":{"type":"string","maxLength":128,"title":"State Hash"},"authorized_by":{"type":"string","maxLength":256,"title":"Authorized By"},"timestamp":{"type":"string","maxLength":64,"title":"Timestamp"},"proof":{"type":"string","maxLength":2048,"title":"Proof"}},"type":"object","required":["did_claw","did_key","server","address","state_hash","authorized_by","timestamp","proof"],"title":"DidRegisterRequest"},"DidUpdateRequest":{"properties":{"operation":{"type":"string","enum":["rotate_key","update_server"],"title":"Operation","default":"rotate_key"},"new_did_key":{"type":"string","maxLength":256,"title":"New Did Key"},"server":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Server"},"seq":{"type":"integer","minimum":1.0,"title":"Seq"},"prev_entry_hash":{"type":"string","maxLength":128,"title":"Prev Entry Hash"},"state_hash":{"type":"string","maxLength":128,"title":"State Hash"},"authorized_by":{"type":"string","maxLength":256,"title":"Authorized By"},"timestamp":{"type":"string","maxLength":64,"title":"Timestamp"},"signature":{"type":"string","maxLength":2048,"title":"Signature"}},"type":"object","required":["new_did_key","seq","prev_entry_hash","state_hash","authorized_by","timestamp","signature"],"title":"DidUpdateRequest"},"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"}}}}