{"surface":"POST /api/credentials/dry-run","purpose":"Anonymous dry-run schema validation for any of IntelligencePro's 21 attestation kinds. Free, no auth, no rate-limit, no side effects. Closes the cycle-340 PRB-1 onboarding friction-finding L6 (signup-wall).","contract":{"method":"POST","contentType":"application/json","body":{"kind":"<one of the recognized kinds — see recognizedKinds below>","body":"<attestation candidate object>"},"response":{"success":{"valid":true,"kind":"<kind>","schemaVersion":"<as carried in candidate>","schemaUrl":"<canonical schema URL>","note":"guidance to register + calibrate + submit"},"validationFailure":{"valid":false,"errors":"<ajv error list — each entry is {instancePath, schemaPath, keyword, params, message}, PLUS `fieldDescription` (the offending field's own schema description) whenever the field is a declared property (cycle 1075), so a type/enum/pattern/required rejection is self-correcting without fetching the schema source>","hint":"fix-and-retry guidance"}}},"recognizedKinds":["review.attestation.v1","eval.run.attestation.v1","vulnerability.disclosure.v1","retrieval.citation.attestation.v1","tutorial.citation.attestation.v1","support.resolution.attestation.v1","alignment.attestation.v1","robot.action.attestation.v1","translation.attestation.v1","label.attestation.v1","embedding.response.v1","synthetic.media.attestation.v1","legal.citation.attestation.v1","bi.cited_number.attestation.v1","pipeline.facet.v1","experiment.receipt.v1","leaderboard.receipt.v1","governance.compliance.v1","sandbox.run.attestation.v1","attestation.event.v1","high-risk-classification.v1","serious-incident.v1"],"example":{"kind":"review.attestation.v1","body":{"schemaVersion":"1.0.0","reviewId":"rev_01HQXR2BFK0M3T1J9N4VZS6A8Y","reviewerId":"coderabbit-v3","reviewerDid":"did:web:coderabbit.ai","subjectId":"github.com/acme/webapp/pull/4127@a1b2c3d4e5f6","subjectSha256":"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08","verdict":"approve","reviewedAt":1747402311000}},"related":{"attestationCatalog":"/credentials/","register":"/api/agent/v1/register","quotaPreflight":"/api/agent/v1/quota","cpMergeGateDoc":"/docs/ip-merge-gate-action.md"}}