{"openapi":"3.0.0","info":{"title":"Clean Songs","version":"1.0.0","description":"Clean Songs Text Analysis is a deterministic API that checks customer-provided text in Portuguese and English for profanity, drug references, violence, and explicit sexual content.\n\nChoose the categories to check, add custom terms, and flag phrases for human review. Each response returns an approved, rejected, or review_required status, with matched rules, minimal text evidence, line numbers, and a versioned rule set.\n\nThe API does not search for, retrieve, or provide song lyrics. Submitted text is processed without storage by the analysis backend. Customers are responsible for having the necessary rights to submit their content.\n\nDesigned to support moderation and editorial review. Results are based on lexical rules and do not replace human judgment."},"servers":[{"url":"https://api.oanor.com/clean-songs"}],"paths":{"/v1/health":{"get":{"summary":"Health","description":"Check service availability.","responses":{"200":{"description":"OK"}}}},"/v1/lyric-submissions/{submission_id}":{"get":{"summary":"Check lyric submission status","description":"Returns only the submission ID and curation status (pending, approved or rejected). Approved lyrics go to an internal archive and are still not displayed to app users. Requires the X-Submission-Token header with the one-time token returned at creation.","responses":{"200":{"description":"OK"}}}},"/v1/reports/{report_id}":{"get":{"summary":"Reports","description":"Returns only the report ID and administrative review status (pending, approved or rejected). Approved means the report was accepted; it does not publish a rule change. Requires the X-Report-Token header with the one-time tracking token returned when the report was created.","responses":{"200":{"description":"OK"}}}},"/v1/analyze-text":{"post":{"summary":"Analyze Text","description":"Analyze customer-provided text in Portuguese or English.","responses":{"200":{"description":"OK"}}}},"/v1/lyric-submissions":{"post":{"summary":"Submit lyrics for curation","description":"\t\nSubmit complete lyrics with song title and artist for human curation. Requires rights_confirmed and consent_to_store set to true. Submitted lyrics are never displayed to app users. Returns a submission ID and a one-time tracking token.","responses":{"200":{"description":"OK"}}}},"/v1/reports":{"post":{"summary":"Report an analysis issue","description":"Submit a false-positive or false-negative report for human review. Includes optional evidence of up to 280 characters and requires explicit consent to store the report. Reports do not automatically change detection rules.","responses":{"200":{"description":"OK"}}}}}}