Skip to content

API access

n-Infinite exposes a REST API so you can drive projects from your own systems: create a project, follow its progress, and pull the datasets when it finishes.

  • Base URL: https://tools.api.livepanel.ai/api/v2
  • Interactive reference: tools.api.livepanel.ai/v2/docs/ — always the authoritative, up-to-date contract (this chapter summarises it).
  • Support: support@livepanel.ai

Authentication

Generate your key in Settings → API:

API settings

  • API Key — press the button on the right to generate it. The key is shown only while it is on screen: copy it immediately and store it safely. If you lose it, generate a new one.
  • Callback URL — an endpoint on your side that receives project events.

Send the key on every request in the Authorization header, with the Api-Key prefix:

Authorization: Api-Key YOUR_GENERATED_TOKEN

Project lifecycle

Creating a project is asynchronous. POST /projects answers with a project in state INITIALIZING; when the initial processing finishes it becomes CREATED. From there:

INITIALIZING → CREATED → (enqueue) → TRAINING_AND_PREDICTING → FINISHED
                  ↑                          ↓ pause
            PERFORMING_ACTION              PAUSED → (restart)
                                             ↓
                          POST_PROCESSING → POST_PROCESSING_COMPLETE

A project reports progress only while it is in TRAINING_AND_PREDICTING, PREDICTING, PAUSED, FINISHED, POST_PROCESSING or POST_PROCESSING_COMPLETE.

Endpoints

Projects

Method Path What it does
GET /projects List projects
POST /projects Create a project (async — see below)
GET /projects/{id} Retrieve one project
DELETE /projects/{id} Delete the project and all its components
POST /projects/{id}/enqueue Send the project into the ML pipeline
POST /projects/{id}/pause Pause a project that is being processed
POST /projects/{id}/restart Restart a project — only from PAUSED
GET /projects/{id}/progress Detailed progress
POST /projects/{id}/move-to-folder Move into a folder (folder_id, or folder_name to create one)
GET /projects/compare Cross-project quality rollup — the Compare projects view
GET/POST/DELETE /projects/{id}/members Read, add and remove assigned users
POST /projects/projects-lite Create a Lite project
POST /projects/peek-columns Column names (and labels, for .sav) of an uploaded file — for populating column selectors, needed for SPSS which the browser can't parse
POST /projects/parse-datafile Read a full uploaded file (any supported format, including SPSS .sav) and return its columns and every row

Creating a project

POST /projects takes multipart form data:

Field Required Meaning
datafile yes The dataset file
predict no Separate predict dataset (Advanced mode)
name no Project name
multiple_choice_delimiter no Separator used for multi-select answers
smart_match no Apply Smart Match to the fields automatically
force_enqueue no Enqueue for processing immediately, skipping the separate enqueue call
swift no Create in Swift boost mode — auto-trains immediately, no separate enqueue
first_question no Column where the questionnaire starts; everything before it is the respondent profile
express_preset no Id or name of a saved Express matching preset
factor no Express amplification factor N
country no Express country slug (with express_preset, when needed)

Note

Express projects are created from a saved preset — a raw express_spec is not accepted here. Save the preset once (in the UI or via the presets endpoints), then reference it by id or name on every creation.

Datasets

Method Path What it does
GET /projects/{id}/datasets/get_file Download a dataset (see types below)
POST /projects/{id}/datasets/get_merged_postprocessed Merged file with the post-processing steps applied
POST /projects/{id}/datasets/dedup_analysis Duplicate analysis — what the dedup preview shows
GET /projects/{id}/datasets/dashboard_report The charts dashboard data
GET /projects/{id}/datasets/profiling_distribution Profiling distributions (train vs. predict)
POST /projects/{id}/swift-target Swift Target File: the deduplicated, quota-selected, balance-weighted synthetic dataset. Available once FINISHED; returns an xlsx binary, no body needed
POST /projects/{id}/express-target Express equivalent, over the census-amplified pool (dedup within predict only — boosted rows are distinct real people)

Dataset types for get_file, all returned as .xlsx:

Type Content
Train The dataset used to train the models
Predict Profiling data used as input for generating synthetic data
Predicted All the synthetic data generated, in the same shape as Train
Merged Train + Predicted concatenated

Fields

Method Path What it does
GET /projects/{id}/fields All fields of a project
GET /projects/{id}/fields/{field_id} One field
POST /projects/{id}/fields/apply_smart_match Apply Smart Match to every field's predictions
POST /projects/{id}/fields/perform_action Run an action on fields (async)

perform_action supports:

  • REMOVE_CLASS — remove a specific class from a field.
  • CLEAN_TEXT_BRANDS — normalize text fields about brands.

While an action runs the project state becomes PERFORMING_ACTION, and returns to CREATED when it finishes.

Express presets

Method Path What it does
GET /express/presets List your company's saved Express matching presets. Optional ?country=<slug> filter
POST /express/presets Create or overwrite a preset — name + country identify it, so saving an existing name for that country replaces its matching
GET /express/presets/{id} Retrieve one preset
DELETE /express/presets/{id} Delete a preset

A preset holds the reusable part of an Express spec: the column and value mappings described in Boost modes.