Read an assessment's current status and saved service result.
GET /api/platform/v1/inquiries/{inquiryId}Requires inquiries:read. Supply an Inquiry UUID belonging to your enterprise.
No query parameters or request body are needed.
curl 'https://www.uat.gofa.app/api/platform/v1/inquiries/01234567-89ab-4cde-8fab-0123456789ab' \
--header "Authorization: Bearer $GOFA_API_KEY"200 OK. data is the full Inquiry detail,
including input and result. Before a result is saved, result is null.
// Server-side example. Verify the signed-in customer's ownership of inquiryId
// against your own database before calling GOFA or returning any result.
const response = await fetch(
`${process.env.GOFA_API_ORIGIN}/api/platform/v1/inquiries/${inquiryId}`,
{ headers: { Authorization: `Bearer ${process.env.GOFA_API_KEY}` }, cache: 'no-store' },
);
const body = await response.json();
if (!response.ok || !body.ok) {
throw new Error(`GOFA request failed: ${response.status}; requestId=${body.requestId}`);
}
const inquiry = body.data;
if (inquiry.status === 'completed' && inquiry.result) {
// Render result.type === 'vital-scan' or 'ai-nutrition' in your application.
}Set GOFA_API_ORIGIN to https://www.uat.gofa.app for UAT. The example assumes
inquiryId has already been validated and authorized by your application.
Use result.type and result.version to interpret the saved payload. See
Vital Scan results and
AI Nutrition results.
Do not infer success from a redirect, a progress bar, or a non-null startedAt.
A failed scan can be retried within the same task while access remains valid;
see Lifecycle and retries.
Reads do not deduct assessment credits, but they count toward the enterprise API rate limit. Stop polling after a saved completion, and use bounded retries for pending tasks. An expired launch URL does not itself delete a saved result.