{"openapi":"3.1.0","info":{"title":"Stormy Social Data API","description":"Usage-priced social profile, post, and contact data over REST and MCP.","version":"1.0.0"},"paths":{"/api/v1/pricing":{"get":{"tags":["Stormy Social Data"],"summary":"Pricing","operationId":"pricing_api_v1_pricing_get","parameters":[{"name":"quantity","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Quantity"}},{"name":"include_email","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Email"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/capabilities":{"get":{"tags":["Stormy Social Data"],"summary":"Capabilities","description":"Machine-readable endpoint and field catalog for agents and SDK generators.","operationId":"capabilities_api_v1_capabilities_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/account":{"get":{"tags":["Stormy Social Data"],"summary":"Account","operationId":"account_api_v1_account_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/keys":{"get":{"tags":["Stormy Social Data"],"summary":"List Keys","operationId":"list_keys_api_v1_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["Stormy Social Data"],"summary":"Create Key","operationId":"create_key_api_v1_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKeyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keys/{key_id}":{"delete":{"tags":["Stormy Social Data"],"summary":"Revoke Key","operationId":"revoke_key_api_v1_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search":{"post":{"tags":["Stormy Social Data"],"summary":"Search","operationId":"search_api_v1_search_post","parameters":[{"name":"idempotency-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/profile":{"post":{"tags":["Stormy Social Data"],"summary":"Profile","operationId":"profile_api_v1_profile_post","parameters":[{"name":"idempotency-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/emails":{"post":{"tags":["Stormy Social Data"],"summary":"Emails","operationId":"emails_api_v1_emails_post","parameters":[{"name":"idempotency-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/jobs":{"post":{"tags":["Stormy Social Data"],"summary":"Start Job","description":"Queue work that may outlive an HTTP or MCP client connection.","operationId":"start_job_api_v1_jobs_post","parameters":[{"name":"idempotency-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Stormy Social Data"],"summary":"List Jobs","operationId":"list_jobs_api_v1_jobs_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/jobs/{job_id}":{"get":{"tags":["Stormy Social Data"],"summary":"Get Job","operationId":"get_job_api_v1_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"include_events","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Events"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Stormy Social Data"],"summary":"Cancel Job","operationId":"cancel_job_api_v1_jobs__job_id__delete","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/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"}}}}}}},"/health/ready":{"get":{"summary":"Readiness","description":"Prove this instance can reach the queue database, not merely boot.","operationId":"readiness_health_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Readiness Health Ready Get"}}}}}}}},"components":{"schemas":{"CreateKeyRequest":{"properties":{"name":{"type":"string","maxLength":80,"minLength":1,"title":"Name","default":"Default"}},"type":"object","title":"CreateKeyRequest"},"EmailRequest":{"properties":{"platform":{"type":"string","title":"Platform"},"targets":{"items":{"type":"string"},"type":"array","maxItems":25,"minItems":1,"title":"Targets"}},"type":"object","required":["platform","targets"],"title":"EmailRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"JobRequest":{"properties":{"operation":{"type":"string","title":"Operation"},"arguments":{"additionalProperties":true,"type":"object","title":"Arguments"},"delay_seconds":{"type":"integer","maximum":604800.0,"minimum":0.0,"title":"Delay Seconds","default":0},"priority":{"type":"integer","maximum":10.0,"minimum":-10.0,"title":"Priority","default":0},"max_attempts":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Max Attempts","default":5}},"type":"object","required":["operation","arguments"],"title":"JobRequest"},"ProfileRequest":{"properties":{"target":{"type":"string","minLength":1,"title":"Target"},"platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"},"fresh":{"type":"boolean","title":"Fresh","default":false},"include_posts":{"type":"boolean","title":"Include Posts","default":false}},"type":"object","required":["target"],"title":"ProfileRequest"},"SearchRequest":{"properties":{"platform":{"type":"string","title":"Platform"},"query":{"type":"string","minLength":1,"title":"Query"},"limit":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Limit","default":10},"fresh":{"type":"boolean","title":"Fresh","default":false}},"type":"object","required":["platform","query"],"title":"SearchRequest"},"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"}}}}