Skip to content

Instantly share code, notes, and snippets.

@Ben-Epstein
Created March 21, 2021 17:48
Show Gist options
  • Save Ben-Epstein/f2586561628ae5e54fbb09a49c77204d to your computer and use it in GitHub Desktop.
Save Ben-Epstein/f2586561628ae5e54fbb09a49c77204d to your computer and use it in GitHub Desktop.
Feature Store Swagger api.json
{"openapi":"3.0.2","info":{"title":"Feature Store API","description":"API for asynchronous and synchronous calls to the feature store","version":"0.1.0"},"paths":{"/health":{"get":{"tags":["Mgmt"],"summary":"Health Check","description":"Health check","operationId":"healthcheck","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Health Check Health Get","type":"string"}}}}}}},"/feature-sets":{"get":{"tags":["Feature Sets"],"summary":"Get Feature Sets","description":"Returns a list of available feature sets","operationId":"get_feature_sets","parameters":[{"required":false,"schema":{"title":"Name","type":"array","items":{"type":"string"},"default":[]},"name":"name","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Feature Sets Feature Sets Get","type":"array","items":{"$ref":"#/components/schemas/FeatureSet"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]},"post":{"tags":["Feature Sets"],"summary":"Create Feature Set","description":"Creates and returns a new feature set","operationId":"create_feature_set","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureSetCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureSet"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]},"delete":{"tags":["Feature Sets"],"summary":"Remove Feature Set","description":"Removes a feature set","operationId":"remove_feature_set","parameters":[{"required":true,"schema":{"title":"Schema","type":"string"},"name":"schema","in":"query"},{"required":true,"schema":{"title":"Table","type":"string"},"name":"table","in":"query"},{"required":false,"schema":{"title":"Purge","type":"boolean","default":false},"name":"purge","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]}},"/training-views":{"get":{"tags":["Training Views"],"summary":"Get Training Views","description":"Returns a list of all available training views with an optional filter","operationId":"get_training_views","parameters":[{"required":false,"schema":{"title":"Name","type":"string"},"name":"name","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Training Views Training Views Get","type":"array","items":{"$ref":"#/components/schemas/TrainingView"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]},"post":{"tags":["Training Views"],"summary":"Create Training View","description":"Registers a training view for use in generating training SQL","operationId":"create_training_view","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingViewCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]},"delete":{"tags":["Training Views"],"summary":"Remove Training View","description":"Removes a training view","operationId":"remove_training_view","parameters":[{"required":false,"schema":{"title":"Override","default":false},"name":"override","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]}},"/summary":{"get":{"tags":["Feature Store"],"summary":"Get Summary","description":"Returns feature store summary metrics","operationId":"get_summary","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureStoreSummary"}}}}},"security":[{"HTTPBasic":[]}]}},"/training-view-id":{"get":{"tags":["Training Views"],"summary":"Get Training View Id","description":"Returns the unique view ID from a name","operationId":"get_training_view_id","parameters":[{"required":true,"schema":{"title":"Name","type":"string"},"name":"name","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Training View Id Training View Id Get","type":"integer"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]}},"/features":{"get":{"tags":["Features"],"summary":"Get Features By Name","description":"Returns a list of all (or the specified) features","operationId":"get_features","parameters":[{"required":false,"schema":{"title":"Name","type":"array","items":{"type":"string"},"default":[]},"name":"name","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Features By Name Features Get","type":"array","items":{"$ref":"#/components/schemas/FeatureDescription"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]},"post":{"tags":["Features"],"summary":"Create Feature","description":"Add a feature to a feature set","operationId":"create_feature","parameters":[{"required":true,"schema":{"title":"Schema","type":"string"},"name":"schema","in":"query"},{"required":true,"schema":{"title":"Table","type":"string"},"name":"table","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feature"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]},"delete":{"tags":["Features"],"summary":"Remove Feature","description":"Remove a feature","operationId":"remove_feature","parameters":[{"required":true,"schema":{"title":"Name","type":"string"},"name":"name","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]}},"/feature-vector":{"post":{"tags":["Features"],"summary":"Get Feature Vector","description":"Gets a feature vector given a list of Features and primary key values for their corresponding Feature Sets","operationId":"get_feature_vector","parameters":[{"required":false,"schema":{"title":"Sql","type":"boolean","default":false},"name":"sql","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureJoinKeys"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Feature Vector Feature Vector Post","anyOf":[{"type":"object"},{"type":"string"}]}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]}},"/feature-vector-sql":{"post":{"tags":["Features"],"summary":"Get Feature Vector Sql From Training View","description":"Returns the parameterized feature retrieval SQL used for online model serving.","operationId":"get_feature_vector_sql_from_training_view","parameters":[{"required":true,"schema":{"title":"View","type":"string"},"name":"view","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"title":"Features","type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/Feature"},{"type":"string"}]}}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Feature Vector Sql From Training View Feature Vector Sql Post","type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]}},"/feature-primary-keys":{"get":{"tags":["Features"],"summary":"Get Feature Primary Keys","description":"Returns a dictionary mapping each individual feature to its primary key(s).","operationId":"get_feature_primary_keys","parameters":[{"required":false,"schema":{"title":"Feature","type":"array","items":{"type":"string"},"default":[]},"name":"feature","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Feature Primary Keys Feature Primary Keys Get","type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]}},"/training-view-features":{"get":{"tags":["Training Views"],"summary":"Get Training View Features","description":"Returns the available features for the given a training view name","operationId":"get_training_view_features","parameters":[{"required":true,"schema":{"title":"View","type":"string"},"name":"view","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Training View Features Training View Features Get","type":"array","items":{"$ref":"#/components/schemas/Feature"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]}},"/feature-description":{"get":{"tags":["Features"],"summary":"Get Feature Description","description":"Returns the description of the given feature","operationId":"get_feature_description","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBasic":[]}]},"put":{"tags":["Features"],"summary":"Set Feature Description","description":"Sets a feature's description","operationId":"set_feature_description","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBasic":[]}]}},"/training-sets":{"get":{"tags":["Training Sets"],"summary":"List Training Sets","description":"Returns a dictionary a training sets available, with the map name -> description.","operationId":"list_training_sets","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response List Training Sets Training Sets Get","type":"object","additionalProperties":{"type":"string"}}}}}},"security":[{"HTTPBasic":[]}]},"post":{"tags":["Training Sets"],"summary":"Get Training Set","description":"Gets a set of feature values across feature sets that is not time dependent (ie for non time series clustering)","operationId":"get_training_set","parameters":[{"required":false,"schema":{"title":"Current","type":"boolean","default":false},"name":"current","in":"query"},{"required":false,"schema":{"title":"Label","type":"string"},"name":"label","in":"query"},{"required":false,"schema":{"title":"Pks","type":"boolean","default":false},"name":"pks","in":"query"},{"required":false,"schema":{"title":"Ts","type":"boolean","default":false},"name":"ts","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureTimeframe"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingSet"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]}},"/training-set-from-view":{"post":{"tags":["Training Sets"],"summary":"Get Training Set From View","description":"Returns the training set as a Spark Dataframe from a Training View","operationId":"get_training_set_from_view","parameters":[{"required":true,"schema":{"title":"View","type":"string"},"name":"view","in":"query"},{"required":false,"schema":{"title":"Pks","type":"boolean","default":false},"name":"pks","in":"query"},{"required":false,"schema":{"title":"Ts","type":"boolean","default":false},"name":"ts","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureTimeframe"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingSet"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]}},"/deploy-feature-set":{"post":{"tags":["Feature Sets"],"summary":"Deploy Feature Set","description":"Deploys a feature set to the database","operationId":"deploy_feature_set","parameters":[{"required":true,"schema":{"title":"Schema","type":"string"},"name":"schema","in":"query"},{"required":true,"schema":{"title":"Table","type":"string"},"name":"table","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureSet"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]}},"/feature-set-descriptions":{"get":{"tags":["Feature Sets"],"summary":"Get Feature Set Descriptions","description":"Returns a description of all feature sets, with all features in the feature sets and whether the feature set is deployed","operationId":"get_feature_set_descriptions","parameters":[{"required":false,"schema":{"title":"Schema","type":"string"},"name":"schema","in":"query"},{"required":false,"schema":{"title":"Table","type":"string"},"name":"table","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Feature Set Descriptions Feature Set Descriptions Get","type":"array","items":{"$ref":"#/components/schemas/FeatureSetDescription"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]}},"/training-view-descriptions":{"get":{"tags":["Training Views"],"summary":"Get Training View Descriptions","description":"Returns a description of all (or the specified) training views, the ID, name, description and optional label","operationId":"get_training_view_descriptions","parameters":[{"required":false,"schema":{"title":"Name","type":"string"},"name":"name","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Training View Descriptions Training View Descriptions Get","type":"array","items":{"$ref":"#/components/schemas/TrainingViewDescription"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]}},"/training-set-from-deployment":{"get":{"tags":["Training Sets"],"summary":"Get Training Set From Deployment","description":"Reads Feature Store metadata to rebuild orginal training data set used for the given deployed model.","operationId":"get_training_set_from_deployment","parameters":[{"required":true,"schema":{"title":"Schema","type":"string"},"name":"schema","in":"query"},{"required":true,"schema":{"title":"Table","type":"string"},"name":"table","in":"query"},{"required":false,"schema":{"title":"Label","type":"string"},"name":"label","in":"query"},{"required":false,"schema":{"title":"Pks","type":"boolean","default":false},"name":"pks","in":"query"},{"required":false,"schema":{"title":"Ts","type":"boolean","default":false},"name":"ts","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingSet"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]}},"/deployments":{"get":{"tags":["Deployments"],"summary":"Get Deployments","description":"Get all deployments","operationId":"get_deployments","parameters":[{"required":false,"schema":{"title":"Schema","type":"string"},"name":"schema","in":"query"},{"required":false,"schema":{"title":"Table","type":"string"},"name":"table","in":"query"},{"required":false,"schema":{"title":"Name","type":"string"},"name":"name","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Deployments Deployments Get","type":"array","items":{"$ref":"#/components/schemas/DeploymentDescription"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]}},"/training-set-features":{"get":{"tags":["Training Sets"],"summary":"Get Training Set Features","description":"Returns a training set and the features associated with it","operationId":"get_training_set_features","parameters":[{"required":true,"schema":{"title":"Name","type":"string"},"name":"name","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeploymentFeatures"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBasic":[]}]}}},"components":{"schemas":{"DeploymentDescription":{"title":"DeploymentDescription","required":["model_schema_name","model_table_name","last_update_ts","last_update_username"],"type":"object","properties":{"model_schema_name":{"title":"Model Schema Name","type":"string"},"model_table_name":{"title":"Model Table Name","type":"string"},"training_set_id":{"title":"Training Set Id","type":"integer"},"training_set_start_ts":{"title":"Training Set Start Ts","type":"string","format":"date-time"},"training_set_end_ts":{"title":"Training Set End Ts","type":"string","format":"date-time"},"run_id":{"title":"Run Id","type":"string"},"last_update_ts":{"title":"Last Update Ts","type":"string","format":"date-time"},"last_update_username":{"title":"Last Update Username","type":"string"},"training_set_name":{"title":"Training Set Name","type":"string"}}},"DeploymentFeatures":{"title":"DeploymentFeatures","required":["model_schema_name","model_table_name","last_update_ts","last_update_username","features"],"type":"object","properties":{"model_schema_name":{"title":"Model Schema Name","type":"string"},"model_table_name":{"title":"Model Table Name","type":"string"},"training_set_id":{"title":"Training Set Id","type":"integer"},"training_set_start_ts":{"title":"Training Set Start Ts","type":"string","format":"date-time"},"training_set_end_ts":{"title":"Training Set End Ts","type":"string","format":"date-time"},"run_id":{"title":"Run Id","type":"string"},"last_update_ts":{"title":"Last Update Ts","type":"string","format":"date-time"},"last_update_username":{"title":"Last Update Username","type":"string"},"training_set_name":{"title":"Training Set Name","type":"string"},"features":{"title":"Features","type":"array","items":{"$ref":"#/components/schemas/Feature"}}}},"Feature":{"title":"Feature","required":["name","feature_data_type","feature_type","feature_id"],"type":"object","properties":{"feature_set_id":{"title":"Feature Set Id","type":"integer"},"name":{"title":"Name","type":"string"},"description":{"title":"Description","type":"string"},"feature_data_type":{"title":"Feature Data Type","type":"string"},"feature_type":{"title":"Feature Type","type":"string"},"tags":{"title":"Tags","type":"array","items":{"type":"string"}},"attributes":{"title":"Attributes","type":"object","additionalProperties":{"type":"string"}},"feature_id":{"title":"Feature Id","type":"integer"},"compliance_level":{"title":"Compliance Level","type":"integer"},"last_update_ts":{"title":"Last Update Ts","type":"string","format":"date-time"},"last_update_username":{"title":"Last Update Username","type":"string"}}},"FeatureCreate":{"title":"FeatureCreate","required":["name","feature_data_type","feature_type"],"type":"object","properties":{"feature_set_id":{"title":"Feature Set Id","type":"integer"},"name":{"title":"Name","type":"string"},"description":{"title":"Description","type":"string"},"feature_data_type":{"title":"Feature Data Type","type":"string"},"feature_type":{"title":"Feature Type","type":"string"},"tags":{"title":"Tags","type":"array","items":{"type":"string"}},"attributes":{"title":"Attributes","type":"object","additionalProperties":{"type":"string"}}}},"FeatureDescription":{"title":"FeatureDescription","required":["name","feature_data_type","feature_type","feature_id"],"type":"object","properties":{"feature_set_id":{"title":"Feature Set Id","type":"integer"},"name":{"title":"Name","type":"string"},"description":{"title":"Description","type":"string"},"feature_data_type":{"title":"Feature Data Type","type":"string"},"feature_type":{"title":"Feature Type","type":"string"},"tags":{"title":"Tags","type":"array","items":{"type":"string"}},"attributes":{"title":"Attributes","type":"object","additionalProperties":{"type":"string"}},"feature_id":{"title":"Feature Id","type":"integer"},"compliance_level":{"title":"Compliance Level","type":"integer"},"last_update_ts":{"title":"Last Update Ts","type":"string","format":"date-time"},"last_update_username":{"title":"Last Update Username","type":"string"},"feature_set_name":{"title":"Feature Set Name","type":"string"}}},"FeatureJoinKeys":{"title":"FeatureJoinKeys","required":["features","join_key_values"],"type":"object","properties":{"features":{"title":"Features","type":"array","items":{"anyOf":[{"type":"string"},{"$ref":"#/components/schemas/FeatureDescription"}]}},"join_key_values":{"title":"Join Key Values","type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"}]}}}},"FeatureSet":{"title":"FeatureSet","required":["schema_name","table_name","primary_keys","feature_set_id"],"type":"object","properties":{"schema_name":{"title":"Schema Name","type":"string"},"table_name":{"title":"Table Name","type":"string"},"description":{"title":"Description","type":"string"},"primary_keys":{"title":"Primary Keys","type":"object","additionalProperties":{"type":"string"}},"feature_set_id":{"title":"Feature Set Id","type":"integer"},"deployed":{"title":"Deployed","type":"boolean","default":false},"deploy_ts":{"title":"Deploy Ts","type":"string","format":"date-time"}}},"FeatureSetCreate":{"title":"FeatureSetCreate","required":["schema_name","table_name","primary_keys"],"type":"object","properties":{"schema_name":{"title":"Schema Name","type":"string"},"table_name":{"title":"Table Name","type":"string"},"description":{"title":"Description","type":"string"},"primary_keys":{"title":"Primary Keys","type":"object","additionalProperties":{"type":"string"}}}},"FeatureSetDescription":{"title":"FeatureSetDescription","required":["schema_name","table_name","primary_keys","feature_set_id","features"],"type":"object","properties":{"schema_name":{"title":"Schema Name","type":"string"},"table_name":{"title":"Table Name","type":"string"},"description":{"title":"Description","type":"string"},"primary_keys":{"title":"Primary Keys","type":"object","additionalProperties":{"type":"string"}},"feature_set_id":{"title":"Feature Set Id","type":"integer"},"deployed":{"title":"Deployed","type":"boolean","default":false},"deploy_ts":{"title":"Deploy Ts","type":"string","format":"date-time"},"features":{"title":"Features","type":"array","items":{"$ref":"#/components/schemas/Feature"}}}},"FeatureStoreSummary":{"title":"FeatureStoreSummary","required":["num_feature_sets","num_deployed_feature_sets","num_features","num_deployed_features","num_training_sets","num_training_views","num_models","num_deployed_models","num_pending_feature_set_deployments"],"type":"object","properties":{"num_feature_sets":{"title":"Num Feature Sets","type":"integer"},"num_deployed_feature_sets":{"title":"Num Deployed Feature Sets","type":"integer"},"num_features":{"title":"Num Features","type":"integer"},"num_deployed_features":{"title":"Num Deployed Features","type":"integer"},"num_training_sets":{"title":"Num Training Sets","type":"integer"},"num_training_views":{"title":"Num Training Views","type":"integer"},"num_models":{"title":"Num Models","type":"integer"},"num_deployed_models":{"title":"Num Deployed Models","type":"integer"},"num_pending_feature_set_deployments":{"title":"Num Pending Feature Set Deployments","type":"integer"}}},"FeatureTimeframe":{"title":"FeatureTimeframe","type":"object","properties":{"features":{"title":"Features","anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/Feature"}},{"type":"array","items":{"type":"string"}}]},"start_time":{"title":"Start Time","type":"string","format":"date-time"},"end_time":{"title":"End Time","type":"string","format":"date-time"}}},"HTTPValidationError":{"title":"HTTPValidationError","type":"object","properties":{"detail":{"title":"Detail","type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}}},"TrainingSet":{"title":"TrainingSet","required":["sql","features"],"type":"object","properties":{"sql":{"title":"Sql","type":"string"},"training_view":{"$ref":"#/components/schemas/TrainingView"},"features":{"title":"Features","type":"array","items":{"$ref":"#/components/schemas/Feature"}},"metadata":{"$ref":"#/components/schemas/TrainingSetMetadata"}}},"TrainingSetMetadata":{"title":"TrainingSetMetadata","required":["training_set_create_ts"],"type":"object","properties":{"name":{"title":"Name","type":"string"},"training_set_start_ts":{"title":"Training Set Start Ts","type":"string","format":"date-time"},"training_set_end_ts":{"title":"Training Set End Ts","type":"string","format":"date-time"},"training_set_create_ts":{"title":"Training Set Create Ts","type":"string","format":"date-time"},"features":{"title":"Features","type":"string"}}},"TrainingView":{"title":"TrainingView","required":["pk_columns","ts_column","view_sql"],"type":"object","properties":{"name":{"title":"Name","type":"string"},"description":{"title":"Description","type":"string"},"pk_columns":{"title":"Pk Columns","type":"array","items":{"type":"string"}},"ts_column":{"title":"Ts Column","type":"string"},"label_column":{"title":"Label Column","type":"string"},"join_columns":{"title":"Join Columns","type":"array","items":{"type":"string"}},"view_id":{"title":"View Id","type":"integer"},"view_sql":{"title":"View Sql","type":"string"}}},"TrainingViewCreate":{"title":"TrainingViewCreate","required":["pk_columns","ts_column","sql_text"],"type":"object","properties":{"name":{"title":"Name","type":"string"},"description":{"title":"Description","type":"string"},"pk_columns":{"title":"Pk Columns","type":"array","items":{"type":"string"}},"ts_column":{"title":"Ts Column","type":"string"},"label_column":{"title":"Label Column","type":"string"},"join_columns":{"title":"Join Columns","type":"array","items":{"type":"string"}},"sql_text":{"title":"Sql Text","type":"string"}}},"TrainingViewDescription":{"title":"TrainingViewDescription","required":["pk_columns","ts_column","view_sql","features"],"type":"object","properties":{"name":{"title":"Name","type":"string"},"description":{"title":"Description","type":"string"},"pk_columns":{"title":"Pk Columns","type":"array","items":{"type":"string"}},"ts_column":{"title":"Ts Column","type":"string"},"label_column":{"title":"Label Column","type":"string"},"join_columns":{"title":"Join Columns","type":"array","items":{"type":"string"}},"view_id":{"title":"View Id","type":"integer"},"view_sql":{"title":"View Sql","type":"string"},"features":{"title":"Features","type":"array","items":{"$ref":"#/components/schemas/FeatureDescription"}}}},"ValidationError":{"title":"ValidationError","required":["loc","msg","type"],"type":"object","properties":{"loc":{"title":"Location","type":"array","items":{"type":"string"}},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}}}},"securitySchemes":{"HTTPBasic":{"type":"http","scheme":"basic"}}}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment