@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Warehouse Connectors API
@version 1.0.0
@endpoints 10
@toc projects(10)

@endpoint GET /projects/{projectId}/warehouse-sources/imports
@returns(200) {status: any, results: [map]}
@errors {401, 403}

@endpoint GET /projects/{projectId}/warehouse-sources/imports/{importId}
@returns(200) {status: any, results: any}
@errors {401, 403, 404}

@endpoint PATCH /projects/{projectId}/warehouse-sources/imports/{importId}
@required {paused: bool, run_every: int(0/3600000000000/86400000000000/604800000000000)}
@optional {databricks_params: map{export_cluster_config: map}}
@returns(200) {status: any, results: any}
@errors {400, 401, 403, 404}

@endpoint DELETE /projects/{projectId}/warehouse-sources/imports/{importId}
@optional {delete_data: bool=false}
@returns(200) {status: any}
@errors {401, 403, 404}

@endpoint POST /projects/{projectId}/warehouse-sources/imports/event-stream
@required {import_type: str, warehouse_source_id: int, table_params: map, time_column_name: str, sync_mode: str(time_based/mirror_mode/full_sync/one_time)}
@optional {event_name: str, event_column_name: str, user_column_name: str, company_column_name: str, device_column_name: str, json_properties_column_name: str, run_every: int(0/3600000000000/86400000000000/604800000000000), insert_time_column_name: str, property_mappings: map, databricks_params: map{export_cluster_config: map}}
@returns(200) {status: any, results: any}
@errors {400, 401, 403}

@endpoint POST /projects/{projectId}/warehouse-sources/imports/people
@required {import_type: str, warehouse_source_id: int, table_params: map, user_column_name: str, sync_mode: str(time_based/mirror_mode/full_sync/one_time)}
@optional {json_properties_column_name: str, run_every: int(0/3600000000000/86400000000000/604800000000000), insert_time_column_name: str, property_mappings: map, databricks_params: map{export_cluster_config: map}}
@returns(200) {status: any, results: any}
@errors {400, 401, 403}

@endpoint POST /projects/{projectId}/warehouse-sources/imports/groups
@required {import_type: str, warehouse_source_id: int, table_params: map, group_key: str, group_id_column: str, sync_mode: str(time_based/mirror_mode/full_sync/one_time)}
@optional {run_every: int(0/3600000000000/86400000000000/604800000000000), insert_time_column_name: str, json_properties_column_name: str, property_mappings: map, databricks_params: map{export_cluster_config: map}}
@returns(200) {status: any, results: any}
@errors {400, 401, 403}

@endpoint POST /projects/{projectId}/warehouse-sources/imports/lookup-table
@required {import_type: str, warehouse_source_id: int, table_params: map, mixpanel_property: map{value!: str, resourceType!: str, customPropertyId: int}, property_key_column_name: str, sync_mode: str(full_sync/one_time)}
@optional {run_every: int(0/3600000000000/86400000000000/604800000000000), databricks_params: map{export_cluster_config: map}}
@returns(200) {status: any, results: any}
@errors {400, 401, 403}

@endpoint PUT /projects/{projectId}/warehouse-sources/imports/{importId}/manual-sync
@returns(200) {status: any, results: map{run_id: str}}
@errors {401, 403, 404}

@endpoint GET /projects/{projectId}/warehouse-sources/imports/{importId}/history
@returns(200) {status: any, results: map{runs: [map]}}
@errors {401, 403, 404}

@end
