{"openapi":"3.1.0","info":{"title":"Agent Papers API","version":"0.1.0","description":"Keyless API for the Agent Papers registry of personhood infrastructure for AI agents."},"servers":[{"url":"https://agentpapers.dev"}],"paths":{"/api/v1/companies":{"get":{"operationId":"listCompanies","summary":"List companies","parameters":[{"name":"category","in":"query","schema":{"type":"string","enum":["identity","phone","email","address","money","legal","insurance"]},"description":"Filter to companies with an offering in this category."},{"name":"status","in":"query","schema":{"type":"string"},"description":"Filter by company status or offering status."},{"name":"q","in":"query","schema":{"type":"string","maxLength":200},"description":"Normalized multi-term search over company name, aliases, tagline, editorial summary, category names, and offering descriptions. Every term must match."}],"responses":{"200":{"description":"Filtered company summaries.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyListResponse"}}}},"400":{"description":"Invalid category filter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/companies/{slug}":{"get":{"operationId":"getCompany","summary":"Get one company","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Full company registry entry with derived freshness.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyResponse"}}}},"404":{"description":"Company not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/categories":{"get":{"operationId":"listCategories","summary":"List categories","responses":{"200":{"description":"Category metadata and counts.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryListResponse"}}}}}}},"/api/v1/categories/{id}/matrix":{"get":{"operationId":"getCategoryMatrix","summary":"Get a comparison matrix for one category","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","enum":["identity","phone","email","address","money","legal","insurance"]}}],"responses":{"200":{"description":"Comparison-ready rows with common and category-specific fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryMatrixResponse"}}}},"404":{"description":"Category not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/standards":{"get":{"operationId":"listStandards","summary":"List standards","responses":{"200":{"description":"Registry standards with derived offering usage.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardsResponse"}}}}}}},"/api/v1/changelog":{"get":{"operationId":"listChangelogEntries","summary":"List changelog entries","responses":{"200":{"description":"Dated entries derived from added_at and updated_at.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogResponse"}}}}}}},"/api/v1/openapi.json":{"get":{"operationId":"getOpenApiDocument","summary":"Get this OpenAPI document","responses":{"200":{"description":"OpenAPI 3.1 JSON document.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenApiDocument"}}}}}}}},"components":{"schemas":{"CategoryId":{"type":"string","enum":["identity","phone","email","address","money","legal","insurance"]},"CompanyStatus":{"type":"string","enum":["active","acquired","dead"]},"OfferingStatus":{"type":"string","enum":["live","beta","waitlist","announced","deprecated","dead"]},"ErrorResponse":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["status","message"],"properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}},"OfferingSummary":{"type":"object","required":["category","status","what_you_get"],"properties":{"category":{"$ref":"#/components/schemas/CategoryId"},"status":{"$ref":"#/components/schemas/OfferingStatus"},"what_you_get":{"type":"string"}}},"CompanySummary":{"type":"object","required":["id","slug","name","tagline","status","url","categories","offerings","last_checked","freshness_days"],"properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"status":{"$ref":"#/components/schemas/CompanyStatus"},"url":{"type":"string","format":"uri"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/CategoryId"}},"offerings":{"type":"array","items":{"$ref":"#/components/schemas/OfferingSummary"}},"last_checked":{"type":"string","format":"date"},"freshness_days":{"type":"integer","minimum":0}}},"CompanyListResponse":{"type":"object","required":["count","filters","companies"],"properties":{"count":{"type":"integer","minimum":0},"filters":{"type":"object","required":["category","status","q"],"properties":{"category":{"anyOf":[{"$ref":"#/components/schemas/CategoryId"},{"type":"null"}]},"status":{"type":["string","null"]},"q":{"type":["string","null"]}}},"companies":{"type":"array","items":{"$ref":"#/components/schemas/CompanySummary"}}}},"Company":{"type":"object","required":["id","slug","name","tagline","status","url","categories","offerings","sources","added_at","updated_at","last_checked","freshness_days"],"properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"tagline":{"type":"string"},"status":{"$ref":"#/components/schemas/CompanyStatus"},"url":{"type":"string","format":"uri"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/CategoryId"}},"offerings":{"type":"array","items":{"type":"object","additionalProperties":true}},"sources":{"type":"array","items":{"type":"string","format":"uri"}},"added_at":{"type":"string","format":"date"},"updated_at":{"type":"string","format":"date"},"last_checked":{"type":"string","format":"date"},"freshness_days":{"type":"integer","minimum":0}},"additionalProperties":true},"CompanyResponse":{"type":"object","required":["company"],"properties":{"company":{"$ref":"#/components/schemas/Company"}}},"CategoryMeta":{"type":"object","required":["id","name","description","pagePath","markdownPath"],"properties":{"id":{"$ref":"#/components/schemas/CategoryId"},"name":{"type":"string"},"description":{"type":"string"},"pagePath":{"type":"string"},"markdownPath":{"type":"string"}}},"CategoryCount":{"allOf":[{"$ref":"#/components/schemas/CategoryMeta"},{"type":"object","required":["company_count","offering_count","statuses"],"properties":{"company_count":{"type":"integer","minimum":0},"offering_count":{"type":"integer","minimum":0},"statuses":{"type":"object","additionalProperties":{"type":"integer","minimum":0}}}}]},"CategoryListResponse":{"type":"object","required":["categories"],"properties":{"categories":{"type":"array","items":{"$ref":"#/components/schemas/CategoryCount"}}}},"ApiField":{"type":"object","required":["name","type","description","buyer_reason"],"properties":{"name":{"type":"string"},"type":{"type":"string"},"description":{"type":"string"},"buyer_reason":{"type":"string"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/CategoryId"}}}},"CategoryMatrixResponse":{"type":"object","required":["category","count","fields","rows"],"properties":{"category":{"$ref":"#/components/schemas/CategoryMeta"},"count":{"type":"integer","minimum":0},"fields":{"type":"array","items":{"$ref":"#/components/schemas/ApiField"}},"rows":{"type":"array","items":{"type":"object","additionalProperties":true}}}},"StandardUsage":{"type":"object","required":["company_slug","company_name","category","offering_status"],"properties":{"company_slug":{"type":"string"},"company_name":{"type":"string"},"category":{"$ref":"#/components/schemas/CategoryId"},"offering_status":{"$ref":"#/components/schemas/OfferingStatus"}}},"Standard":{"type":"object","required":["id","name","explainer","usage_count","offerings"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"steward":{"type":"string"},"spec_url":{"type":"string","format":"uri"},"explainer":{"type":"string"},"usage_count":{"type":"integer","minimum":0},"offerings":{"type":"array","items":{"$ref":"#/components/schemas/StandardUsage"}}},"additionalProperties":true},"StandardsResponse":{"type":"object","required":["count","standards"],"properties":{"count":{"type":"integer","minimum":0},"standards":{"type":"array","items":{"$ref":"#/components/schemas/Standard"}}}},"ChangelogEntry":{"type":"object","required":["date","type","company_slug","company_name","company_status","categories","title","summary"],"properties":{"date":{"type":"string","format":"date"},"type":{"type":"string","enum":["added","updated"]},"company_slug":{"type":"string"},"company_name":{"type":"string"},"company_status":{"$ref":"#/components/schemas/CompanyStatus"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/CategoryId"}},"title":{"type":"string"},"summary":{"type":"string"}}},"ChangelogDay":{"type":"object","required":["date","entries"],"properties":{"date":{"type":"string","format":"date"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/ChangelogEntry"}}}},"ChangelogResponse":{"type":"object","required":["days","entries"],"properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/ChangelogDay"}},"entries":{"type":"array","items":{"$ref":"#/components/schemas/ChangelogEntry"}}}},"OpenApiDocument":{"type":"object","required":["openapi","info","servers","paths","components"],"additionalProperties":true}}}}