Skip to content

API Reference

This page provides a comprehensive reference of all FeatureByte REST API endpoints, organized by domain. For end-to-end examples, see the Credit Default Tutorial and Store Sales Forecast Tutorial.

Authentication

The API supports two authentication methods:

  • Token-based: Pass a Bearer token in the Authorization header
  • Username/password: Authenticate via POST /auth/jwt/login
import featurebyte as fb

fb.use_profile("your_profile")
client = fb.Configurations().get_client()

Catalog Management

Method Endpoint Description
GET /catalog List catalogs (supports pagination and search)
GET /catalog/{catalog_id} Get catalog details
POST /catalog Create a new catalog

Feature Store Browsing

Browse the data warehouse hierarchy: feature stores, databases, schemas, tables, and columns.

Method Endpoint Description
GET /feature_store List feature stores
GET /feature_store/{id}/database List databases in a feature store
GET /feature_store/{id}/schema List schemas in a database
GET /feature_store/{id}/table List tables in a schema
GET /feature_store/{id}/table_details Get table details (columns, types)
GET /feature_store/{id}/table_preview Preview table data (with row limit)
GET /feature_store/{id}/column List columns for a table

Parameters for browsing endpoints: feature_store_id, database_name, schema_name, table_name, limit (for preview).

Table Registration & Analysis

Source Table Analysis

Detect the table type and validate columns before registration.

Method Endpoint Description
POST /table/source_table_analysis Analyze a source table (async)
GET /table/source_table_analysis/{id} Get analysis results
POST /table/source_table_summary Generate AI-powered table descriptions (async)
GET /table/source_table_summary/{fqn} Get generated summary

Table Registration

Register tables in a catalog. Each table type has specific required fields.

Method Endpoint Description
POST /event_table Register an event table
POST /dimension_table Register a dimension table
POST /item_table Register an item table
POST /scd_table Register an SCD table
POST /time_series_table Register a time series table

Type-specific requirements:

Table Type Required Fields
Event table event_timestamp_column
Dimension table dimension_id_column
Item table event_id_column, event_table_id
SCD table effective_timestamp_column, natural_key_column
Time series table reference_datetime_column, time_interval

All types require a columns_info list describing column names, types, and metadata.

Catalog Tables

Method Endpoint Description
GET /catalog/table List registered tables in the active catalog
GET /catalog/table/{table_id} Get registered table details
GET /catalog/table/graph Get table relationship graph

Entities

Method Endpoint Description
GET /entity List entities
POST /entity Create an entity (name + serving_name)

Entity tagging and semantic updates on table columns are typically done via the SDK. See SDK Core Objects for details.

Column Semantics

Apply semantic tags to table columns. Each table type has its own endpoint:

Method Endpoint Description
PATCH /event_table/{id}/column_semantic Update semantics on an event table
PATCH /item_table/{id}/column_semantic Update semantics on an item table
PATCH /dimension_table/{id}/column_semantic Update semantics on a dimension table
PATCH /scd_table/{id}/column_semantic Update semantics on an SCD table
PATCH /time_series_table/{id}/column_semantic Update semantics on a time series table
PATCH /calendar_table/{id}/column_semantic Update semantics on a calendar table
PATCH /snapshots_table/{id}/column_semantic Update semantics on a snapshots table

Table EDA & Data Cleaning

Method Endpoint Description
POST /table_eda Run EDA on a registered table (async)
GET /table_eda List table EDA runs
PATCH /table_eda/{id} Get EDA results
PATCH /column_analysis List column analyses (filter by issues)
PATCH /column_analysis/{id} Get column analysis details
PATCH /column_eda/{id} Get column EDA plots (raw or cleaned)
PATCH /{table_type}/{table_id}/column_critical_data_info Set or clear column cleaning operations

EDA parameters: table_id, analysis_size, seed, from_timestamp, to_timestamp, timestamp_column, overwrite.

Contexts

Method Endpoint Description
POST /context Create a context (primary entities, forecast schema)
GET /context List contexts
GET /context/{context_id} Get context details

Targets

Method Endpoint Description
POST /target/creation_from_table Create a target from a table column (async)
GET /target List targets
GET /target/{target_id} Get target details

Target parameters: target_name, table_id, column_name, offset, fill_value, target_type (REGRESSION, BINARY_CLASSIFICATION, MULTI_CLASS_CLASSIFICATION), positive_label.

Use Cases

Method Endpoint Description
POST /use_case Create a use case (context + target)
GET /use_case List use cases
GET /use_case/{use_case_id} Get use case details
PATCH /use_case/{use_case_id} Update use case (default EDA table, preview table, name)

Observation Tables

Method Endpoint Description
POST /observation_table/automation Auto-generate observation table (async)
POST /observation_table/forecast_automation Generate forecast observation tables (async)
GET /catalog/observation_table List observation tables

Forecast automation parameters: use_case_id, prediction_schedule_cron, prediction_schedule_timezone, forecast_start_offset, forecast_horizon, periods (array with start, end, name, target_observation_count, purpose, mode), dimension_filter (optional).

Modes: ONE_ROW_PER_ENTITY_FORECAST_POINT, FORECAST_SERIES.

Semantic Detection

Automatically detect semantic types for table columns in the context of a use case.

Method Endpoint Description
POST /semantic_detection/column_semantic_detection Run column semantic detection (async)
GET /semantic_detection/{id} Get detection results
GET /semantic_detection List semantic detections

Development Dataset

Development Plans

Method Endpoint Description
POST /development_plan/defaults Get default development plan configuration
POST /development_plan Create a development plan (auto-creates dataset)
GET /development_plan List development plans (filter by context_id)
GET /development_plan/{id} Get development plan details
PATCH /development_plan/{id} Update development plan
DELETE /development_plan/{id} Delete development plan (async)
GET /development_plan/{id}/sql_plan Get sampling SQL plan
PATCH /development_plan/{id}/sampling_tables Create distinct entity sampling tables (async)
PATCH /development_plan/{id}/sampled_tables Materialize development tables (async)

Development Datasets

Method Endpoint Description
GET /development_dataset List development datasets
GET /catalog/development_dataset List development datasets (filter by use_case_id)
GET /development_dataset/{id} Get development dataset details
GET /development_dataset/{id}/info Get development dataset info
DELETE /development_dataset/{id} Delete a development dataset (async)

Feature Ideation

Generate features automatically based on semantic detection results.

Method Endpoint Description
POST /feature_ideation Run feature ideation (async)
GET /feature_ideation List feature ideations
GET /feature_ideation/{id} Get ideation results (optional: include_metadata)

Parameters: use_case_id, semantic_detection_id, windows (aggregation windows).

Ideated Features

Retrieve individual features from an ideation, including SDK code and construction lineage.

Method Endpoint Description
GET /catalog/feature_ideation/{id}/suggested_features List features with SDK code, relevance scores
GET /catalog/feature_ideation/suggested_feature_metadata/{id} Get full SDK code and lineage graph
GET /catalog/feature_ideation/feature_preview/{id} Preview computed feature values

Feature EDA

Method Endpoint Description
POST /eda Run EDA on features (async, optional naive_prediction for residual EDA)
POST /residual_eda Run residual EDA on features (async, naive_prediction required)
GET /eda/{feature_eda_id} Get feature EDA details (power scores, categories, metadata)
OPTIONS /eda/{feature_id}/plots Get available plot options (categories)
GET /eda/{feature_id}/plots Get rendered EDA plots for a feature

Input (one of): feature_ids, feature_ideation_id, or feature_list_id.

Feature Selection

SHAP-based feature selection to identify the most impactful features.

Method Endpoint Description
POST /feature_selection Run SHAP-based feature selection (async)
GET /feature_selection List feature selections (supports pipeline_id, use_case_id, feature_ideation_id)
GET /feature_selection/{id} Get selection results (scores, rankings)
POST /feature_selection/{id}/feature_list Create feature list from selection (async)

Features & Feature Lists

Method Endpoint Description
GET /catalog/feature List features
GET /catalog/feature/{feature_id} Get feature details
GET /catalog/feature_list List feature lists
GET /catalog/feature_list/{feature_list_id} Get feature list details
POST /feature_list/job Create a feature list from feature IDs (async)
POST /feature_list_from_model Create feature list from model importance (async)

Feature list from model modes: "Feature importance based", "Feature key importance based".

Model Training

Method Endpoint Description
POST /ml_model Train a model (async)
GET /catalog/ml_model List models (supports pipeline_id, use_case_id, sort_by_metric, show_refits)
GET /catalog/ml_model/{ml_model_id} Get model details
POST /ml_model/{id}/report Generate model report
OPTIONS /ml_model/{id}/evaluate Get evaluation plot options
POST /ml_model/{id}/evaluate Create evaluation plot
POST /ml_model/{id}/refit Refit model on new data (async)

Model Template Resolution

Method Endpoint Description
GET /use_case/{id}/ml_model_template_setting Get suggested objective, metric, calibration
GET /use_case/{id}/ml_model_template List available model templates

Batch Predictions

Method Endpoint Description
POST /ml_model/{id}/prediction_table Create prediction table (async)
GET /catalog/prediction_table List prediction tables
GET /prediction_table/parquet/{id} Download predictions as Parquet
POST /prediction_table/{id}/prediction_entities Extract distinct entity values (async)
GET /prediction_table/{id}/prediction_entities Get available entity values for forecast comparison
POST /prediction_table/{id}/forecast_comparison Create forecast comparison plot (async)
GET /prediction_table/{id}/forecast_comparison List forecast comparisons
GET /prediction_table/{id}/forecast_comparison/{fc_id} Get forecast comparison plot

Leaderboards

Leaderboards are created automatically when predictions are generated on an observation table with a target.

Method Endpoint Description
GET /catalog/leaderboard List leaderboards (filter by observation_table_id, observation_table_purpose, role)
GET /catalog/leaderboard/{leaderboard_id} Get leaderboard details
POST /leaderboard/{id}/ml_model/{model_id}/preview Preview leaderboard predictions

Deployments

Method Endpoint Description
POST /deployment Create a deployment (async)
GET /catalog/deployment List deployments
PATCH /deployment/{id} Enable or disable a deployment (async)
POST /deployment_sql Generate deployment SQL (async)
GET /deployment_sql Get generated deployment SQL

Pipelines (Feature Ideation Orchestration)

Pipelines orchestrate the full ideation workflow as a state machine.

Method Endpoint Description
POST /pipeline Create a pipeline
GET /pipeline/{pipeline_id} Get pipeline status
GET /pipeline List pipelines (filter by use_case_id)
PATCH /pipeline/{pipeline_id} Advance pipeline (action: advance, optional step_type: end)
PATCH /pipeline/{pipeline_id}/step_configs Configure pipeline step
GET /pipeline/{id}/table_selection/table List tables available for selection
PATCH /pipeline/{id}/table_selection Set selected tables
GET /pipeline/semantic_detection/column_inputs Get column inputs from a feature selection (for column pruning)
GET /pipeline/{id}/feature_ideation Get suggested features
GET /pipeline/{id}/feature_selection Get feature selection results
GET /pipeline/{id}/validation_leaderboard Get validation leaderboard
GET /pipeline/{id}/report Get pipeline report (JSON)
GET /pipeline/{id}/report_pdf Download pipeline report as PDF
GET /pipeline/{id}/report_md Download pipeline report as Markdown

Tasks

All async operations return a task ID. Poll for completion:

Method Endpoint Description
GET /task/{task_id} Get task status and result
GET /task List tasks

Task statuses: PENDING, STARTED, SUCCESS, FAILURE, REVOKED.