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.