{"openapi":"3.1.0","info":{"title":"Tenvra Trust API","version":"v1","summary":"Machine-readable commercial trust evidence. Sample graph only.","description":"Resolve businesses to candidate sets, fetch evidence-backed profiles, and compare entities. Paying never appears as a score input. Current data is synthetic demonstration data labelled as such.","contact":{"email":"developers@tenvratrust.com"},"license":{"name":"Proprietary research; not a production SLA"}},"servers":[{"url":"https://tenvratrust.com","description":"Public origin"}],"tags":[{"name":"resolve"},{"name":"profiles"},{"name":"evidence"},{"name":"compare"}],"paths":{"/api/v1/resolve":{"post":{"tags":["resolve"],"operationId":"resolveBusiness","summary":"Resolve a name or place to a candidate set","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveRequest"}}}},"responses":{"200":{"description":"Candidate set. Never silently unique unless unique_same_entity is set.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveResponse"}}}},"400":{"description":"Invalid request"}}},"get":{"tags":["resolve"],"operationId":"resolveBusinessGet","summary":"Resolve via query string (human and agent convenience)","parameters":[{"name":"q","in":"query","schema":{"type":"string"}},{"name":"name","in":"query","schema":{"type":"string"}},{"name":"locality","in":"query","schema":{"type":"string"}},{"name":"country","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Candidate set"}}}},"/api/v1/profiles/{entity_id}":{"get":{"tags":["profiles"],"operationId":"getBusinessProfile","summary":"Fetch a trust profile","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Profile with axes and explanation"},"404":{"description":"Unknown entity"}}}},"/api/v1/profiles/{entity_id}/evidence":{"get":{"tags":["evidence"],"operationId":"getEvidence","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"include","in":"query","schema":{"type":"string","enum":["parent"]}}],"responses":{"200":{"description":"Ledger rows bound to the entity"},"404":{"description":"Unknown entity"}}}},"/api/v1/profiles/{entity_id}/score-history":{"get":{"tags":["profiles"],"operationId":"getScoreHistory","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Append-only snapshots"},"404":{"description":"Unknown entity"}}}},"/api/v1/profiles/{entity_id}/confidence":{"get":{"tags":["profiles"],"operationId":"getConfidence","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Profile and fact confidences"},"404":{"description":"Unknown entity"}}}},"/api/v1/profiles/{entity_id}/reliability":{"get":{"tags":["profiles"],"operationId":"getReliability","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Operational measures (empty in Pass 1)"},"404":{"description":"Unknown entity"}}}},"/api/v1/compare":{"post":{"tags":["compare"],"operationId":"compareBusinesses","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["entity_ids"],"properties":{"entity_ids":{"type":"array","items":{"type":"string"},"minItems":2,"maxItems":8}}}}}},"responses":{"200":{"description":"Side-by-side axes with rankable warnings"}}}}},"components":{"schemas":{"ResolveRequest":{"type":"object","properties":{"name":{"type":"string"},"q":{"type":"string"},"country":{"type":"string"},"locality":{"type":"string"},"address":{"type":"string"},"company_number":{"type":"string"}}},"ResolveResponse":{"type":"object","required":["matcher_id","ambiguous","matches","policy"],"properties":{"matcher_id":{"type":"string"},"ambiguous":{"type":"boolean"},"unique_same_entity":{"type":["string","null"]},"policy":{"type":"string"},"matches":{"type":"array"},"near_misses":{"type":"array"}}}}}}