{"openapi":"3.1.0","info":{"title":"Expert Memory Market","description":"Ranked expert memory, metered per read, split to the publisher.","version":"2.0.0"},"paths":{"/healthz":{"get":{"summary":"Health","operationId":"health_healthz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Healthz Get"}}}}}}},"/v1/listings":{"get":{"summary":"Listings V2","description":"Ranked listings. Keyless: browsing is how anyone decides whether to buy.","operationId":"listings_v2_v1_listings_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","default":"","title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Listings V2 V1 Listings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/listings/{memory_id}":{"get":{"summary":"Listing V2","operationId":"listing_v2_v1_listings__memory_id__get","parameters":[{"name":"memory_id","in":"path","required":true,"schema":{"type":"string","title":"Memory Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Listing V2 V1 Listings  Memory Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/read":{"post":{"summary":"Metered Read","description":"Buy one read. Reserved before the fetch, captured only if it was served.\n\nThe buyer's own Meter account key does the paying, so this service never\nholds anyone's balance — and a read the Memory Market refuses is released,\nnot billed. That ordering is the whole contract: charge after delivery and a\n503 upstream becomes someone's money.","operationId":"metered_read_v1_read_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Metered Read V1 Read Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/publishers/{publisher_id}":{"get":{"summary":"Publisher","operationId":"publisher_v1_publishers__publisher_id__get","parameters":[{"name":"publisher_id","in":"path","required":true,"schema":{"type":"string","title":"Publisher Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Publisher V1 Publishers  Publisher Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/publishing":{"get":{"summary":"How To Publish","description":"What an expert has to do to get paid — in the order they have to do it.","operationId":"how_to_publish_v1_publishing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response How To Publish V1 Publishing Get"}}}}}}},"/v1/stats":{"get":{"summary":"Stats","operationId":"stats_v1_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Stats V1 Stats Get"}}}}}}},"/api/listings":{"get":{"summary":"Listings","operationId":"listings_api_listings_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","default":"","title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Listings Api Listings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/listings/{memory_id}":{"get":{"summary":"Listing","operationId":"listing_api_listings__memory_id__get","parameters":[{"name":"memory_id","in":"path","required":true,"schema":{"type":"string","title":"Memory Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Listing Api Listings  Memory Id  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"},"ReadRequest":{"properties":{"memory_id":{"type":"string","maxLength":200,"minLength":1,"title":"Memory Id"}},"type":"object","required":["memory_id"],"title":"ReadRequest"},"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"}}}}