{"openapi": "3.1.0", "info": {"title": "Atlas Text & Campaign Tools", "version": "1.3.0", "description": "Deterministic, no-AI utilities paid by x402 on Base."}, "servers": [{"url": "https://api.atlasprimevoxel.com"}], "paths": {"/v1/text/clean": {"post": {"summary": "Normalize text", "responses": {"402": {"description": "x402 payment required"}}}}, "/v1/marketing/campaign-kit": {"post": {"summary": "Compile a deterministic content campaign kit", "responses": {"200": {"description": "Paid campaign kit"}, "400": {"description": "Validation failure"}, "402": {"description": "x402 payment required"}}}}, "/v1/content/repurpose-plan": {"post": {"summary": "Create a deterministic channel-specific content repurposing plan", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "additionalProperties": false, "required": ["sourceTitle", "summary", "keyPoints", "audience", "targetChannels", "tone", "cta"], "properties": {"sourceTitle": {"type": "string", "maxLength": 180}, "summary": {"type": "string", "maxLength": 1200}, "keyPoints": {"type": "array", "minItems": 1, "maxItems": 8, "items": {"type": "string", "maxLength": 240}}, "audience": {"type": "string", "maxLength": 240}, "targetChannels": {"type": "array", "minItems": 1, "maxItems": 6, "items": {"type": "string", "maxLength": 60}}, "tone": {"type": "string", "maxLength": 120}, "cta": {"type": "string", "maxLength": 240}}}}}}, "responses": {"200": {"description": "Paid repurposing plan"}, "400": {"description": "Strict validation failure"}, "402": {"description": "x402 Base payment required"}, "413": {"description": "Payload too large"}}}}, "/examples/repurpose": {"get": {"summary": "Free repurpose-plan input example", "responses": {"200": {"description": "Sample request JSON"}}}}, "/v1/free/content-brief": {"post": {"summary": "Free deterministic topic and audience content brief with paid upgrade paths", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "additionalProperties": false, "required": ["topic", "audience"], "properties": {"topic": {"type": "string", "minLength": 1, "maxLength": 160}, "audience": {"type": "string", "minLength": 1, "maxLength": 160}}}}}}, "responses": {"200": {"description": "Free content brief"}, "400": {"description": "Strict validation failure"}, "413": {"description": "Payload too large"}, "429": {"description": "Rate limited: 80 requests per 60 seconds per process"}}}}}}