Insight Genius Data Prep API

The Data Prep API from Insight Genius — 18 operation(s) for data prep.

GitHub OpenAPI

Operations 20

POST /v1/projects/{project_id}/data-prep/rules Create Rule #
GET /v1/projects/{project_id}/data-prep/rules List Rules #
GET /v1/projects/{project_id}/data-prep/summary Data Prep Summary #
GET /v1/projects/{project_id}/data-prep/variable-profiles Variable Profiles #
GET /v1/projects/{project_id}/data-prep/qc-report Qc Report #
GET /v1/projects/{project_id}/data-prep/suggestions Prep Suggestions #
GET /v1/projects/{project_id}/data-prep/export-excel Export Data Excel #
GET /v1/projects/{project_id}/data-prep/data-rows Data Rows #
GET /v1/projects/{project_id}/data-prep/column-distribution/{column_name} Column Distribution #
POST /v1/projects/{project_id}/data-prep/apply-suggestions Apply Suggestions #
POST /v1/projects/{project_id}/data-prep/apply-template Apply Template #
POST /v1/projects/{project_id}/data-prep/import-tabspec Import Tabspec #
POST /v1/projects/{project_id}/data-prep/apply-tabspec Apply Tabspec #
PUT /v1/projects/{project_id}/data-prep/rules/{rule_id} Update Rule #
DELETE /v1/projects/{project_id}/data-prep/rules/{rule_id} Delete Rule #
PUT /v1/projects/{project_id}/data-prep/reorder Reorder Rules #
POST /v1/projects/{project_id}/data-prep/preview Preview Rule Endpoint #
POST /v1/projects/{project_id}/data-prep/ai-interpret Ai Interpret #
GET /v1/data-prep/templates List Data Prep Templates #
POST /v1/projects/{project_id}/data-prep/qc-questionnaire-review Qc Questionnaire Review #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/insightgenius-io:insightgenius-io-data-prep-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

insightgenius-io-data-prep-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SPSS InsightGenius Data Prep API
  description: '**SPSS InsightGenius API** — REST API for processing SPSS (.sav) files.


    Powered by QuantipyMRX for market research analysis: crosstabs with significance testing, auto-detection of question types, NPS, Top/Bottom Box, nets, and AI-powered Reporting Ticket parsing via Claude Haiku.


    ## Authentication

    All endpoints require `Authorization: Bearer sk_live_...` or `sk_test_...`


    ## Rate Limits

    | Plan | Requests/min | Max file size |

    |------|-------------|---------------|

    | Free (sk_test_) | 10 | 5 MB |

    | Pro | 60 | 50 MB |

    | Business | 200 | 200 MB |'
  version: 1.0.0
tags:
- name: Data Prep
paths:
  /v1/projects/{project_id}/data-prep/rules:
    post:
      tags:
      - Data Prep
      summary: Create Rule
      operationId: create_rule_v1_projects__project_id__data_prep_rules_post
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataPrepRuleCreate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Data Prep
      summary: List Rules
      operationId: list_rules_v1_projects__project_id__data_prep_rules_get
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/projects/{project_id}/data-prep/summary:
    get:
      tags:
      - Data Prep
      summary: Data Prep Summary
      operationId: data_prep_summary_v1_projects__project_id__data_prep_summary_get
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/projects/{project_id}/data-prep/variable-profiles:
    get:
      tags:
      - Data Prep
      summary: Variable Profiles
      operationId: variable_profiles_v1_projects__project_id__data_prep_variable_profiles_get
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/projects/{project_id}/data-prep/qc-report:
    get:
      tags:
      - Data Prep
      summary: Qc Report
      operationId: qc_report_v1_projects__project_id__data_prep_qc_report_get
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/projects/{project_id}/data-prep/suggestions:
    get:
      tags:
      - Data Prep
      summary: Prep Suggestions
      operationId: prep_suggestions_v1_projects__project_id__data_prep_suggestions_get
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: study_type
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Study Type
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/projects/{project_id}/data-prep/export-excel:
    get:
      tags:
      - Data Prep
      summary: Export Data Excel
      description: 'Download the (raw or prepared) data table as .xlsx.


        label_format: value | label | both — mirrors the Browse table''s dropdown.'
      operationId: export_data_excel_v1_projects__project_id__data_prep_export_excel_get
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: prepared
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Prepared
      - name: label_format
        in: query
        required: false
        schema:
          type: string
          default: value
          title: Label Format
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/projects/{project_id}/data-prep/data-rows:
    get:
      tags:
      - Data Prep
      summary: Data Rows
      description: 'Paginated data rows + column metadata for the Browse / Data Explorer.


        `prepared=false` (default) returns the raw uploaded data — the Explorer''s

        job is to show what was uploaded. `prepared=true` returns the data with the

        project''s active Data Prep rules applied, and `is_prepared` + `prep_warnings`

        reflect reality.'
      operationId: data_rows_v1_projects__project_id__data_prep_data_rows_get
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: Limit
      - name: prepared
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Prepared
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/projects/{project_id}/data-prep/column-distribution/{column_name}:
    get:
      tags:
      - Data Prep
      summary: Column Distribution
      description: Value distribution (count + %) for a single column, with value labels.
      operationId: column_distribution_v1_projects__project_id__data_prep_column_distribution__column_name__get
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: column_name
        in: path
        required: true
        schema:
          type: string
          title: Column Name
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/projects/{project_id}/data-prep/apply-suggestions:
    post:
      tags:
      - Data Prep
      summary: Apply Suggestions
      description: 'Create data-prep rules from selected suggestion ids. Suggestions are

        deterministic, so we regenerate them and match by id.'
      operationId: apply_suggestions_v1_projects__project_id__data_prep_apply_suggestions_post
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              title: Payload
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/projects/{project_id}/data-prep/apply-template:
    post:
      tags:
      - Data Prep
      summary: Apply Template
      description: 'Apply a built-in template: generate net rules from the project''s ordinal

        scales and persist them as data-prep rules.'
      operationId: apply_template_v1_projects__project_id__data_prep_apply_template_post
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              title: Payload
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/projects/{project_id}/data-prep/import-tabspec:
    post:
      tags:
      - Data Prep
      summary: Import Tabspec
      description: Parse an uploaded .xlsx of rule rows into reviewable rule previews.
      operationId: import_tabspec_v1_projects__project_id__data_prep_import_tabspec_post
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_import_tabspec_v1_projects__project_id__data_prep_import_tabspec_post'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/projects/{project_id}/data-prep/apply-tabspec:
    post:
      tags:
      - Data Prep
      summary: Apply Tabspec
      description: Persist the reviewed rules from a parsed TabSpec as data-prep rules.
      operationId: apply_tabspec_v1_projects__project_id__data_prep_apply_tabspec_post
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              title: Payload
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/projects/{project_id}/data-prep/rules/{rule_id}:
    put:
      tags:
      - Data Prep
      summary: Update Rule
      operationId: update_rule_v1_projects__project_id__data_prep_rules__rule_id__put
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: rule_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Rule Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataPrepRuleUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Data Prep
      summary: Delete Rule
      operationId: delete_rule_v1_projects__project_id__data_prep_rules__rule_id__delete
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      - name: rule_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Rule Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/projects/{project_id}/data-prep/reorder:
    put:
      tags:
      - Data Prep
      summary: Reorder Rules
      operationId: reorder_rules_v1_projects__project_id__data_prep_reorder_put
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReorderRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/projects/{project_id}/data-prep/preview:
    post:
      tags:
      - Data Prep
      summary: Preview Rule Endpoint
      description: Preview the impact of a rule without saving it.
      operationId: preview_rule_endpoint_v1_projects__project_id__data_prep_preview_post
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreviewRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/projects/{project_id}/data-prep/ai-interpret:
    post:
      tags:
      - Data Prep
      summary: Ai Interpret
      description: NL → data-prep rule proposal (the Data Prep AI input box).
      operationId: ai_interpret_v1_projects__project_id__data_prep_ai_interpret_post
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AIInterpretRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/data-prep/templates:
    get:
      tags:
      - Data Prep
      summary: List Data Prep Templates
      description: List built-in data-prep templates (project-agnostic catalog).
      operationId: list_data_prep_templates_v1_data_prep_templates_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /v1/projects/{project_id}/data-prep/qc-questionnaire-review:
    post:
      tags:
      - Data Prep
      summary: Qc Questionnaire Review
      operationId: qc_questionnaire_review_v1_projects__project_id__data_prep_qc_questionnaire_review_post
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ReorderRequest:
      properties:
        rule_ids:
          items:
            type: string
            format: uuid
          type: array
          title: Rule Ids
      type: object
      required:
      - rule_ids
      title: ReorderRequest
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    DataPrepRuleCreate:
      properties:
        rule_type:
          type: string
          pattern: ^(cleaning|weight|net|recode|computed)$
          title: Rule Type
        name:
          type: string
          title: Name
          default: ''
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        config:
          additionalProperties: true
          type: object
          title: Config
          default: {}
        is_active:
          type: boolean
          title: Is Active
          default: true
      type: object
      required:
      - rule_type
      title: DataPrepRuleCreate
    AIInterpretRequest:
      properties:
        message:
          type: string
          title: Message
        language:
          type: string
          title: Language
          default: es
        conversation_history:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Conversation History
          default: []
        available_variables:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Available Variables
      type: object
      required:
      - message
      title: AIInterpretRequest
    Body_import_tabspec_v1_projects__project_id__data_prep_import_tabspec_post:
      properties:
        file:
          type: string
          contentMediaType: application/octet-stream
          title: File
      type: object
      required:
      - file
      title: Body_import_tabspec_v1_projects__project_id__data_prep_import_tabspec_post
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PreviewRequest:
      properties:
        rule_type:
          type: string
          title: Rule Type
        config:
          additionalProperties: true
          type: object
          title: Config
      type: object
      required:
      - rule_type
      - config
      title: PreviewRequest
    DataPrepRuleUpdate:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        config:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Config
        is_active:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Active
      type: object
      title: DataPrepRuleUpdate