Skip to main content
POST
/
v1
/
plans
Open plan
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({workflow_id: '<string>'})
};

fetch('https://api.factify.com/v1/plans', 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

Authorization
string
header
required

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.

Body

application/json
workflow_id
string
required

Workflow TypeID to instantiate.

Response

Plan opened.

id
string
required

Plan TypeID (pln_…)

workflow_id
string
required

Workflow TypeID.

activity_state
enum<string>
required

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).

Available options:
IDLE,
PROCESSING
claim_slots
object[]
required

One entry per rubric in the parent workflow, in creation order.

submissions
object[]
required

All submissions associated with this plan.

created_at
string<date-time>
required
open_conflicts_count
integer<int32>
required

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.

Required range: x >= 0
total_conflicts_count
integer<int32>
required

Total 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.

Required range: x >= 0
locked_at
string<date-time> | null

When the plan was locked. Null for unlocked plans.

body_md_resolved
string | null

Workflow body_md with claim values substituted. Null until the plan is locked.