{"openapi":"3.1.0","info":{"title":"Sensitive Data Inspect and Redact API","version":"1.0.0","description":"Inspect and redact a documented set of formatted identifiers, credentials, network addresses, and sensitive JSON fields with exact evidence. Processing is stateless and deterministic; no model is called and payloads are not stored. The API is not an exhaustive PII discovery or compliance-certification service."},"paths":{"/marketplace/rapid/privacy/v1/text/inspect":{"post":{"tags":["Sensitive Text Inspect"],"summary":"Inspect sensitive text","description":"Find documented formatted identifiers and credentials in supplied text with exact spans and safe evidence previews.","operationId":"inspectSensitiveText","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextInspectRequest"},"examples":{"example":{"summary":"Inspect sensitive text","value":{"text":"Contact sam@example.com. Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.payload.signature"}}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InspectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/rapid/privacy/v1/text/redact":{"post":{"tags":["Sensitive Text Redact"],"summary":"Redact sensitive text","description":"Replace every detected text span with a labeled, generic, or length-preserving marker without storing the payload.","operationId":"redactSensitiveText","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextRedactRequest"},"examples":{"example":{"summary":"Redact sensitive text","value":{"text":"Customer email sam@example.com and card 4111 1111 1111 1111 must not leave this workflow.","replacement_style":"LABELED"}}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextRedactResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/rapid/privacy/v1/json/inspect":{"post":{"tags":["Sensitive JSON Inspect"],"summary":"Inspect sensitive JSON","description":"Inspect bounded JSON string values and documented sensitive field names with RFC 6901 JSON Pointer evidence.","operationId":"inspectSensitiveJson","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonInspectRequest"},"examples":{"example":{"summary":"Inspect sensitive JSON","value":{"value":{"customer":{"email":"sam@example.com"},"authorization":"Bearer eyJhbGciOiJIUzI1NiJ9.payload.signature"}}}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InspectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/rapid/privacy/v1/json/redact":{"post":{"tags":["Sensitive JSON Redact"],"summary":"Redact sensitive JSON","description":"Return a redacted JSON copy while preserving keys and replacing matched scalar values with explicit markers.","operationId":"redactSensitiveJson","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRedactRequest"},"examples":{"example":{"summary":"Redact sensitive JSON","value":{"value":{"contact":"sam@example.com","credentials":{"apiKey":"do-not-send-this-value"}},"replacement_style":"LABELED"}}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRedactResponse"}}}},"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"},"InspectResponse":{"properties":{"status":{"type":"string","const":"COMPLETED","title":"Status","default":"COMPLETED"},"decision":{"type":"string","enum":["CLEAR","REVIEW_REQUIRED","BLOCKED"],"title":"Decision"},"finding_count":{"type":"integer","title":"Finding Count"},"counts_by_detector":{"additionalProperties":{"type":"integer"},"type":"object","title":"Counts By Detector"},"findings":{"items":{"$ref":"#/components/schemas/SensitiveFinding"},"type":"array","title":"Findings"},"issues":{"items":{"$ref":"#/components/schemas/PrivacyIssue"},"type":"array","title":"Issues"},"ruleset_version":{"type":"string","title":"Ruleset Version","default":"2026-08-01"},"scan_complete":{"type":"boolean","title":"Scan Complete","default":true},"next_action":{"type":"string","title":"Next Action"}},"additionalProperties":false,"type":"object","required":["decision","finding_count","counts_by_detector","findings","issues","next_action"],"title":"InspectResponse"},"JsonInspectRequest":{"properties":{"value":{"title":"Value"},"detectors":{"items":{"type":"string","enum":["EMAIL","PHONE","US_SSN","PAYMENT_CARD","IBAN","IP_ADDRESS","URL_CREDENTIALS","AWS_ACCESS_KEY","GITHUB_TOKEN","OPENAI_API_KEY","SLACK_TOKEN","STRIPE_SECRET_KEY","BEARER_TOKEN","PRIVATE_KEY","SENSITIVE_FIELD"]},"type":"array","maxItems":15,"minItems":1,"title":"Detectors"}},"additionalProperties":false,"type":"object","required":["value"],"title":"JsonInspectRequest"},"JsonRedactRequest":{"properties":{"value":{"title":"Value"},"detectors":{"items":{"type":"string","enum":["EMAIL","PHONE","US_SSN","PAYMENT_CARD","IBAN","IP_ADDRESS","URL_CREDENTIALS","AWS_ACCESS_KEY","GITHUB_TOKEN","OPENAI_API_KEY","SLACK_TOKEN","STRIPE_SECRET_KEY","BEARER_TOKEN","PRIVATE_KEY","SENSITIVE_FIELD"]},"type":"array","maxItems":15,"minItems":1,"title":"Detectors"},"replacement_style":{"type":"string","enum":["LABELED","GENERIC","LENGTH_PRESERVING"],"title":"Replacement Style","default":"LABELED"}},"additionalProperties":false,"type":"object","required":["value"],"title":"JsonRedactRequest"},"JsonRedactResponse":{"properties":{"status":{"type":"string","const":"COMPLETED","title":"Status","default":"COMPLETED"},"decision":{"type":"string","enum":["CLEAR","REVIEW_REQUIRED","BLOCKED"],"title":"Decision"},"finding_count":{"type":"integer","title":"Finding Count"},"counts_by_detector":{"additionalProperties":{"type":"integer"},"type":"object","title":"Counts By Detector"},"findings":{"items":{"$ref":"#/components/schemas/SensitiveFinding"},"type":"array","title":"Findings"},"issues":{"items":{"$ref":"#/components/schemas/PrivacyIssue"},"type":"array","title":"Issues"},"ruleset_version":{"type":"string","title":"Ruleset Version","default":"2026-08-01"},"scan_complete":{"type":"boolean","title":"Scan Complete","default":true},"next_action":{"type":"string","title":"Next Action"},"redacted_value":{"title":"Redacted Value"},"replacements_applied":{"type":"integer","title":"Replacements Applied"},"replacement_style":{"type":"string","enum":["LABELED","GENERIC","LENGTH_PRESERVING"],"title":"Replacement Style"}},"additionalProperties":false,"type":"object","required":["decision","finding_count","counts_by_detector","findings","issues","next_action","redacted_value","replacements_applied","replacement_style"],"title":"JsonRedactResponse"},"PrivacyIssue":{"properties":{"code":{"type":"string","title":"Code"},"severity":{"type":"string","enum":["MEDIUM","HIGH","CRITICAL"],"title":"Severity"},"message":{"type":"string","title":"Message"},"evidence":{"additionalProperties":true,"type":"object","title":"Evidence"},"next_action":{"type":"string","title":"Next Action"}},"additionalProperties":false,"type":"object","required":["code","severity","message","next_action"],"title":"PrivacyIssue"},"SensitiveFinding":{"properties":{"id":{"type":"string","title":"Id"},"detector":{"type":"string","enum":["EMAIL","PHONE","US_SSN","PAYMENT_CARD","IBAN","IP_ADDRESS","URL_CREDENTIALS","AWS_ACCESS_KEY","GITHUB_TOKEN","OPENAI_API_KEY","SLACK_TOKEN","STRIPE_SECRET_KEY","BEARER_TOKEN","PRIVATE_KEY","SENSITIVE_FIELD"],"title":"Detector"},"category":{"type":"string","enum":["CONTACT","IDENTITY","FINANCIAL","NETWORK","CREDENTIAL"],"title":"Category"},"severity":{"type":"string","enum":["MEDIUM","HIGH","CRITICAL"],"title":"Severity"},"confidence":{"type":"string","enum":["MEDIUM","HIGH"],"title":"Confidence"},"rule_id":{"type":"string","title":"Rule Id"},"start":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Start"},"end":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"End"},"json_pointer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Json Pointer"},"safe_preview":{"type":"string","title":"Safe Preview"},"evidence":{"additionalProperties":true,"type":"object","title":"Evidence"},"next_action":{"type":"string","title":"Next Action"}},"additionalProperties":false,"type":"object","required":["id","detector","category","severity","confidence","rule_id","safe_preview","next_action"],"title":"SensitiveFinding"},"TextInspectRequest":{"properties":{"text":{"type":"string","maxLength":262144,"minLength":1,"title":"Text"},"detectors":{"items":{"type":"string","enum":["EMAIL","PHONE","US_SSN","PAYMENT_CARD","IBAN","IP_ADDRESS","URL_CREDENTIALS","AWS_ACCESS_KEY","GITHUB_TOKEN","OPENAI_API_KEY","SLACK_TOKEN","STRIPE_SECRET_KEY","BEARER_TOKEN","PRIVATE_KEY","SENSITIVE_FIELD"]},"type":"array","maxItems":14,"minItems":1,"title":"Detectors"}},"additionalProperties":false,"type":"object","required":["text"],"title":"TextInspectRequest"},"TextRedactRequest":{"properties":{"text":{"type":"string","maxLength":262144,"minLength":1,"title":"Text"},"detectors":{"items":{"type":"string","enum":["EMAIL","PHONE","US_SSN","PAYMENT_CARD","IBAN","IP_ADDRESS","URL_CREDENTIALS","AWS_ACCESS_KEY","GITHUB_TOKEN","OPENAI_API_KEY","SLACK_TOKEN","STRIPE_SECRET_KEY","BEARER_TOKEN","PRIVATE_KEY","SENSITIVE_FIELD"]},"type":"array","maxItems":14,"minItems":1,"title":"Detectors"},"replacement_style":{"type":"string","enum":["LABELED","GENERIC","LENGTH_PRESERVING"],"title":"Replacement Style","default":"LABELED"}},"additionalProperties":false,"type":"object","required":["text"],"title":"TextRedactRequest"},"TextRedactResponse":{"properties":{"status":{"type":"string","const":"COMPLETED","title":"Status","default":"COMPLETED"},"decision":{"type":"string","enum":["CLEAR","REVIEW_REQUIRED","BLOCKED"],"title":"Decision"},"finding_count":{"type":"integer","title":"Finding Count"},"counts_by_detector":{"additionalProperties":{"type":"integer"},"type":"object","title":"Counts By Detector"},"findings":{"items":{"$ref":"#/components/schemas/SensitiveFinding"},"type":"array","title":"Findings"},"issues":{"items":{"$ref":"#/components/schemas/PrivacyIssue"},"type":"array","title":"Issues"},"ruleset_version":{"type":"string","title":"Ruleset Version","default":"2026-08-01"},"scan_complete":{"type":"boolean","title":"Scan Complete","default":true},"next_action":{"type":"string","title":"Next Action"},"redacted_text":{"type":"string","title":"Redacted Text"},"replacements_applied":{"type":"integer","title":"Replacements Applied"},"replacement_style":{"type":"string","enum":["LABELED","GENERIC","LENGTH_PRESERVING"],"title":"Replacement Style"}},"additionalProperties":false,"type":"object","required":["decision","finding_count","counts_by_detector","findings","issues","next_action","redacted_text","replacements_applied","replacement_style"],"title":"TextRedactResponse"},"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"}}},"tags":[{"name":"Sensitive Text Inspect","description":"A bounded, stateless sensitive-data preflight for agents, logs, prompts, and integration payloads."},{"name":"Sensitive Text Redact","description":"A bounded, stateless sensitive-data preflight for agents, logs, prompts, and integration payloads."},{"name":"Sensitive JSON Inspect","description":"A bounded, stateless sensitive-data preflight for agents, logs, prompts, and integration payloads."},{"name":"Sensitive JSON Redact","description":"A bounded, stateless sensitive-data preflight for agents, logs, prompts, and integration payloads."}],"servers":[{"url":"https://api-production-9502.up.railway.app"}]}