const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.factify.com/v1/plans/{planId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "<string>",
"workflow_id": "<string>",
"claim_slots": [
{
"rubric_id": "<string>",
"slot_name": "<string>",
"claim_id": "<string>",
"substitution_value": "<string>"
}
],
"submissions": [
{
"id": "<string>",
"plan_id": "<string>",
"filename": "<string>",
"mime_type": "<string>",
"added_at": "2023-11-07T05:31:56Z",
"record_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"created_at": "2023-11-07T05:31:56Z",
"open_conflicts_count": 1,
"total_conflicts_count": 1,
"locked_at": "2023-11-07T05:31:56Z",
"body_md_resolved": "<string>"
}Get plan
Returns the plan with inline claim_slots and submissions. body_md_resolved is populated only after the plan is locked.
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.factify.com/v1/plans/{planId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "<string>",
"workflow_id": "<string>",
"claim_slots": [
{
"rubric_id": "<string>",
"slot_name": "<string>",
"claim_id": "<string>",
"substitution_value": "<string>"
}
],
"submissions": [
{
"id": "<string>",
"plan_id": "<string>",
"filename": "<string>",
"mime_type": "<string>",
"added_at": "2023-11-07T05:31:56Z",
"record_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"created_at": "2023-11-07T05:31:56Z",
"open_conflicts_count": 1,
"total_conflicts_count": 1,
"locked_at": "2023-11-07T05:31:56Z",
"body_md_resolved": "<string>"
}Documentation Index
Fetch the complete documentation index at: https://developers.factify.com/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
Bearer authentication using a factapi-issued API key
(ffy_<env>_<base32_uuid><base62_random>). Cookie-based
sessions are accepted automatically by user-facing endpoints
but are not surfaced as an OpenAPI auth scheme.
Path Parameters
Plan TypeID (pln_…)
Response
Plan found.
Plan TypeID (pln_…)
Workflow TypeID.
Server-computed activity state, derived from submission states: IDLE — no submission is currently ingesting. PROCESSING — at least one submission is still ingesting.
Plan lock status is conveyed separately by locked_at
(null = unlocked, set = locked).
IDLE, PROCESSING One entry per rubric in the parent workflow, in creation order.
Show child attributes
Show child attributes
All submissions associated with this plan.
Show child attributes
Show child attributes
Number of claim_conflicts in open status whose new claim was
submitted to this plan. Drives the runs-list "N conflicts" badge
and the per-run conflict tab count without forcing the UI to
N+1 on /v1/conflicts per plan.
x >= 0Total number of claim_conflicts (open + accepted + rejected) whose new claim was submitted to this plan. Backs resolved-since-detection telemetry and the "0/3 unresolved" style breakdown.
x >= 0When the plan was locked. Null for unlocked plans.
Workflow body_md with claim values substituted. Null until the plan is locked.