Checks
Launch a draft report
Scope: reports:create
Starts a draft. This is the billable moment.
Returns 409 when the report cannot launch in its current state — for
example when consent or payment is still outstanding.
AuthorizationBearer <token>
Use Authorization: Bearer vrf_live_... or vrf_test_....
In: header
Path Parameters
reportId*string
Report identifier.
Format
uuidResponse Body
application/json
application/problem+json
curl -X POST "https://example.com/api/v1/reports/497f6eca-6276-4993-bfeb-53cbbbba6f08/launch"{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "status": "DRAFT", "subject": { "subjectType": "INDIVIDUAL", "fullName": "Jane Wanjiku Doe", "firstName": "string", "middleName": "string", "lastName": "string", "idNumber": "36901234", "registrationNumber": "PVT-7XUQ8KL", "email": "user@example.com", "phone": "+254712345678", "dateOfBirth": "2019-08-24", "country": "KE" }, "checksRequested": [ "IDENTITY" ], "checkResults": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "checkName": "IDENTITY", "status": "PENDING", "summary": "string", "riskLevel": "LOW", "score": 0, "evidence": {}, "completedAt": "2019-08-24T14:15:22Z" } ], "riskScore": 0, "riskLevel": "LOW", "consentState": { "status": "NOT_REQUIRED", "consentUrl": "http://example.com", "expiresAt": "2019-08-24T14:15:22Z" }, "paymentState": { "status": "NOT_REQUIRED", "amount": { "amount": 0.1, "currency": "KES" }, "paidAt": "2019-08-24T14:15:22Z" }, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}