{"openapi":"3.1.0","info":{"title":"digna-rust","description":"","license":{"name":""},"version":"1.0.0"},"paths":{"/v1/attributes":{"get":{"tags":["attributes"],"operationId":"get_attributes","parameters":[{"name":"data_source_id","in":"query","description":"Filter by data source ID","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"limit","in":"query","description":"Maximum number of rows to return (default: 200, max: 5000)","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"List attributes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Attribute"}}}}},"400":{"description":"Invalid limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"tags":["attributes"],"operationId":"create_attribute","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAttributeRequest"}}},"required":true},"responses":{"201":{"description":"Create an attribute","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attribute"}}}},"400":{"description":"Invalid attribute definition","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Not authorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v1/attributes/{attribute_id}":{"get":{"tags":["attributes"],"operationId":"get_attribute","parameters":[{"name":"attribute_id","in":"path","description":"Attribute ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Get an attribute","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attribute"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Attribute not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"put":{"tags":["attributes"],"operationId":"update_attribute","parameters":[{"name":"attribute_id","in":"path","description":"Attribute ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAttributeRequest"}}},"required":true},"responses":{"200":{"description":"Update an attribute","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attribute"}}}},"400":{"description":"Invalid attribute definition","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Not authorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Attribute not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"delete":{"tags":["attributes"],"operationId":"delete_attribute","parameters":[{"name":"attribute_id","in":"path","description":"Attribute ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Delete an attribute"},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Not authorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Attribute not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v1/check-definitions":{"get":{"tags":["check-definitions"],"operationId":"get_check_definitions","parameters":[{"name":"data_source_id","in":"query","description":"Filter by data source ID","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"limit","in":"query","description":"Maximum number of rows to return (default: 200, max: 5000)","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"List check definitions","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CheckDefinition"}}}}},"400":{"description":"Invalid limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v1/data-sets":{"get":{"tags":["data-sets"],"operationId":"get_data_sets","parameters":[{"name":"data_source_id","in":"query","description":"Filter by data source ID","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"limit","in":"query","description":"Maximum number of rows to return (default: 200, max: 5000)","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"List data sets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataSet"}}}}},"400":{"description":"Invalid limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"tags":["data-sets"],"operationId":"create_data_set","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataSetRequest"}}},"required":true},"responses":{"201":{"description":"Create a data set","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSet"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Not authorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v1/data-sets/{dataset_id}":{"get":{"tags":["data-sets"],"operationId":"get_data_set","parameters":[{"name":"dataset_id","in":"path","description":"Data set ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Get a data set","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSet"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Data set not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"put":{"tags":["data-sets"],"operationId":"update_data_set","parameters":[{"name":"dataset_id","in":"path","description":"Data set ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataSetRequest"}}},"required":true},"responses":{"200":{"description":"Update a data set","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSet"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Not authorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Data set not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"delete":{"tags":["data-sets"],"operationId":"delete_data_set","parameters":[{"name":"dataset_id","in":"path","description":"Data set ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Delete a data set"},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Not authorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Data set not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v1/data-sources":{"get":{"tags":["data-sources"],"operationId":"get_data_sources","parameters":[{"name":"project_id","in":"query","description":"Filter by project ID","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"limit","in":"query","description":"Maximum number of rows to return (default: 200, max: 5000)","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"List data sources","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataSource"}}}}},"400":{"description":"Invalid limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"post":{"tags":["data-sources"],"operationId":"create_data_source","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataSourceRequest"}}},"required":true},"responses":{"201":{"description":"Create a data source","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSource"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Not authorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v1/data-sources/{data_source_id}":{"get":{"tags":["data-sources"],"operationId":"get_data_source","parameters":[{"name":"data_source_id","in":"path","description":"Data source ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Get a data source","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSource"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Data source not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"put":{"tags":["data-sources"],"operationId":"update_data_source","parameters":[{"name":"data_source_id","in":"path","description":"Data source ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataSourceRequest"}}},"required":true},"responses":{"200":{"description":"Update a data source","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSource"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Not authorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Data source not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"delete":{"tags":["data-sources"],"operationId":"delete_data_source","parameters":[{"name":"data_source_id","in":"path","description":"Data source ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Delete a data source"},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Not authorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Data source not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v1/db-connections":{"get":{"tags":["db-connections"],"operationId":"get_db_connections","parameters":[{"name":"limit","in":"query","description":"Maximum number of rows to return (default: 200, max: 5000)","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"List db connections","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DbConnection"}}}}},"400":{"description":"Invalid limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v1/db-connections/{db_connection_id}":{"get":{"tags":["db-connections"],"operationId":"get_db_connection","parameters":[{"name":"db_connection_id","in":"path","description":"Db connection ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Get a db connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DbConnection"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Db connection not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v1/inspection-requests":{"post":{"tags":["inspection-requests"],"operationId":"submit_inspection_request","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitInspectionRequest"}}},"required":true},"responses":{"200":{"description":"Submit an inspection request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitInspectionRequestResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Not authorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v1/inspection-requests/{inspection_request_id}":{"get":{"tags":["inspection-requests"],"operationId":"get_inspection_request","parameters":[{"name":"inspection_request_id","in":"path","description":"Inspection request ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Inspection request status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InspectionRequestStatusResponse"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"403":{"description":"Not authorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Inspection request not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v1/inspection-statuses/data-sets":{"get":{"tags":["inspection-statuses"],"operationId":"get_data_set_inspection_statuses","parameters":[{"name":"data_source_id","in":"query","description":"Filter by data source ID","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"dataset_id","in":"query","description":"Filter by data set ID","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"start_date","in":"query","description":"Start date (YYYY-MM-DD)","required":true,"schema":{"type":"string"}},{"name":"end_date","in":"query","description":"End date (YYYY-MM-DD)","required":true,"schema":{"type":"string"}},{"name":"data_volume_status","in":"query","description":"Filter by data volume status","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"data_anomaly_status","in":"query","description":"Filter by data anomaly status","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"data_validation_status","in":"query","description":"Filter by data validation status","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"data_analytics_status","in":"query","description":"Filter by data analytics status","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"inspection_status","in":"query","description":"Filter by inspection status","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"Maximum number of rows to return (default: 200, max: 5000)","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Get data set inspection statuses","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetInspectionStatus"}}}}},"400":{"description":"Invalid limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v1/inspection-statuses/data-sources":{"get":{"tags":["inspection-statuses"],"operationId":"get_data_source_inspection_statuses","parameters":[{"name":"project_id","in":"query","description":"Filter by project ID","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"data_source_id","in":"query","description":"Filter by data source ID","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"start_date","in":"query","description":"Start date (YYYY-MM-DD)","required":true,"schema":{"type":"string"}},{"name":"end_date","in":"query","description":"End date (YYYY-MM-DD)","required":true,"schema":{"type":"string"}},{"name":"data_source_name_like","in":"query","description":"Filter by data source name","required":false,"schema":{"type":"string"}},{"name":"is_inspected","in":"query","description":"Filter by inspected state","required":false,"schema":{"type":"boolean"}},{"name":"data_anomaly_status","in":"query","description":"Filter by data anomaly status","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"data_volume_status","in":"query","description":"Filter by data volume status","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"data_validation_status","in":"query","description":"Filter by data validation status","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"data_analytics_status","in":"query","description":"Filter by data analytics status","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"inspection_status","in":"query","description":"Filter by inspection status","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"Maximum number of rows to return (default: 200, max: 5000)","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Get data source inspection statuses","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataSourceInspectionStatus"}}}}},"400":{"description":"Invalid limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v1/inspection-statuses/projects":{"get":{"tags":["inspection-statuses"],"operationId":"get_project_inspection_statuses","parameters":[{"name":"project_id","in":"query","description":"Project ID","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"start_date","in":"query","description":"Start date (YYYY-MM-DD)","required":true,"schema":{"type":"string"}},{"name":"end_date","in":"query","description":"End date (YYYY-MM-DD)","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Maximum number of rows to return (default: 200, max: 5000)","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Get project inspection statuses","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInspectionStatus"}}}}},"400":{"description":"Invalid limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v1/projects":{"get":{"tags":["projects"],"operationId":"get_projects","parameters":[{"name":"limit","in":"query","description":"Maximum number of rows to return (default: 200, max: 5000)","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"List projects","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Project"}}}}},"400":{"description":"Invalid limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}},"/v1/projects/{project_id}":{"get":{"tags":["projects"],"operationId":"get_project","parameters":[{"name":"project_id","in":"path","description":"Project ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Get a project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Project not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Internal error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}}},"components":{"schemas":{"ApiError":{"type":"object","required":["code","message"],"properties":{"code":{"$ref":"#/components/schemas/ApiErrorCode"},"message":{"type":"string"}}},"ApiErrorCode":{"type":"string","enum":["INTERNAL_ERROR","INVALID_CREDENTIALS","NOT_FOUND","NOT_AUTHENTICATED","NOT_AUTHORIZED","INVALID_LICENSE","BAD_REQUEST"]},"Attribute":{"type":"object","required":["id","name","description","kind","column","expression","data_type","category","data_source","project","check_definitions"],"properties":{"category":{"$ref":"#/components/schemas/StableAttributeCategory"},"check_definitions":{"type":"array","items":{"$ref":"#/components/schemas/AttributeCheckDefinition"}},"column":{"type":"string","description":"The source column of a COLUMN attribute, empty for QUERY."},"data_source":{"$ref":"#/components/schemas/AttributeDataSource"},"data_type":{"type":"string"},"description":{"type":"string","description":"Business meaning of the attribute. Empty when none was given."},"expression":{"type":"string","description":"The SQL expression of a QUERY attribute, empty for COLUMN."},"id":{"type":"integer","format":"int64"},"kind":{"$ref":"#/components/schemas/StableAttributeKind"},"name":{"type":"string","description":"The label, unique within the data source."},"project":{"$ref":"#/components/schemas/AttributeProject"}}},"AttributeCheckDefinition":{"type":"object","required":["id","statistic"],"properties":{"id":{"type":"integer","format":"int64"},"statistic":{"$ref":"#/components/schemas/AttributeCheckDefinitionStatistic"}}},"AttributeCheckDefinitionStatistic":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"AttributeDataSource":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"AttributeProject":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"CheckDefinition":{"type":"object","required":["id","project","data_source","statistic","data_anomaly_enabled"],"properties":{"attribute":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CheckDefinitionAttribute"}]},"data_anomaly_enabled":{"type":"boolean"},"data_source":{"$ref":"#/components/schemas/CheckDefinitionDataSource"},"id":{"type":"integer","format":"int64"},"lower_limit":{"type":["number","null"],"format":"double"},"max_threshold":{"type":["number","null"],"format":"double"},"min_threshold":{"type":["number","null"],"format":"double"},"project":{"$ref":"#/components/schemas/CheckDefinitionProject"},"statistic":{"$ref":"#/components/schemas/CheckDefinitionStatistic"},"upper_limit":{"type":["number","null"],"format":"double"}}},"CheckDefinitionAttribute":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"CheckDefinitionDataSource":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"CheckDefinitionProject":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"CheckDefinitionStatistic":{"type":"object","required":["id","name","macro_name"],"properties":{"id":{"type":"integer","format":"int64"},"macro_name":{"type":"string"},"name":{"type":"string"}}},"CreateAttributeRequest":{"type":"object","required":["name","category","data_source_id","statistic_ids"],"properties":{"category":{"$ref":"#/components/schemas/StableAttributeCategory"},"column":{"type":["string","null"],"description":"COLUMN only: the source column to read. Defaults to `name`."},"data_source_id":{"type":"integer","format":"int64"},"data_type":{"type":"string","description":"Stored empty for a QUERY attribute, whatever is sent."},"description":{"type":["string","null"],"description":"Business meaning of the attribute. Defaults to an empty string."},"expression":{"type":["string","null"],"description":"QUERY only: the SQL expression to read."},"kind":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StableAttributeKind","description":"COLUMN or QUERY. Without it, an `expression` makes the attribute QUERY and anything\nelse COLUMN."}]},"name":{"type":"string","description":"The label, unique within the data source."},"statistic_ids":{"type":"array","items":{"type":"integer","format":"int64"}}}},"CreateDataSetRequest":{"type":"object","required":["name","kind","filter_expression","grouping_expression","data_source_id"],"properties":{"data_source_id":{"type":"integer","format":"int64"},"filter_expression":{"type":"string"},"grouping_expression":{"type":"string"},"kind":{"$ref":"#/components/schemas/StableDataSetKind"},"name":{"type":"string"}}},"CreateDataSourceRequest":{"type":"object","required":["name","kind","object","query_mode","snapshot_query","snapshot_filter","report_empty_datasets","modules","project_id","db_connection_id"],"properties":{"db_connection_id":{"type":"integer","format":"int64"},"description":{"type":["string","null"],"description":"Business meaning of the data source. Defaults to an empty string."},"kind":{"$ref":"#/components/schemas/StableDataSourceKind"},"modules":{"$ref":"#/components/schemas/DataSourceModules"},"name":{"type":"string"},"object":{"$ref":"#/components/schemas/DataSourceObject"},"project_id":{"type":"integer","format":"int64"},"query_mode":{"$ref":"#/components/schemas/StableDataSourceQueryMode"},"report_empty_datasets":{"type":"boolean"},"snapshot_filter":{"type":"string"},"snapshot_query":{"type":"string"}}},"DataSet":{"type":"object","required":["id","name","kind","filter_expression","grouping_expression","data_source","project"],"properties":{"data_source":{"$ref":"#/components/schemas/DataSetDataSource"},"filter_expression":{"type":"string"},"grouping_expression":{"type":"string"},"id":{"type":"integer","format":"int64"},"kind":{"$ref":"#/components/schemas/StableDataSetKind"},"name":{"type":"string"},"project":{"$ref":"#/components/schemas/DataSetProject"}}},"DataSetDataSource":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"DataSetProject":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"DataSource":{"type":"object","required":["id","name","description","kind","object","query_mode","snapshot_query","snapshot_filter","report_empty_datasets","modules","project","db_connection"],"properties":{"db_connection":{"$ref":"#/components/schemas/DataSourceDbConnection"},"description":{"type":"string","description":"Business meaning of the data source. Empty when none was given."},"id":{"type":"integer","format":"int64"},"kind":{"$ref":"#/components/schemas/StableDataSourceKind"},"modules":{"$ref":"#/components/schemas/DataSourceModules"},"name":{"type":"string"},"object":{"$ref":"#/components/schemas/DataSourceObject"},"project":{"$ref":"#/components/schemas/DataSourceProject"},"query_mode":{"$ref":"#/components/schemas/StableDataSourceQueryMode"},"report_empty_datasets":{"type":"boolean"},"snapshot_filter":{"type":"string"},"snapshot_query":{"type":"string"}}},"DataSourceDbConnection":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"DataSourceInspectionStatus":{"type":"object","description":"The internal data source inspection status without `data_reconciliation_status`: the stable\ncontract does not carry it, and the internal struct is widened for the app alone. The schema\nkeeps the internal one's name, so the published description is unchanged.","required":["valid_date","project","data_source","is_inspected","is_analyzed","is_anomaly","status"],"properties":{"data_analytics_status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataSourceInspectionStatusDataAnalyticsDataSourceStatus"}]},"data_anomaly_status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataSourceInspectionStatusDataAnomalyStatus"}]},"data_source":{"$ref":"#/components/schemas/DataSourceInspectionStatusDataSource"},"data_validation_status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataSourceInspectionStatusDataValidationStatus"}]},"data_volume_status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataSourceInspectionStatusDataVolumeStatus"}]},"inspected_at":{"type":["string","null"],"format":"date-time"},"is_analyzed":{"type":"boolean","description":"Whether someone has marked this date as reviewed."},"is_anomaly":{"type":"boolean","description":"Whether someone has marked this date as a known anomaly, which keeps its\nerror out of the data anomaly alert bound."},"is_inspected":{"type":"boolean"},"project":{"$ref":"#/components/schemas/DataSourceInspectionStatusProject"},"row_count":{"type":["integer","null"],"format":"int64","description":"Rows the data source held on `valid_date`, `None` for a date it was not\nprofiled on."},"status":{"$ref":"#/components/schemas/InspectionStatus"},"valid_date":{"type":"string","format":"date"}}},"DataSourceInspectionStatusDataAnalyticsDataSourceStatus":{"type":"object","required":["num_passed","num_failed","num_not_relevant","status"],"properties":{"num_failed":{"type":"integer","format":"int64"},"num_not_relevant":{"type":"integer","format":"int64"},"num_passed":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/TestStatus"}}},"DataSourceInspectionStatusDataAnomalyStatus":{"type":"object","required":["num_checks","num_failed","num_uncertain","num_passed","status"],"properties":{"num_checks":{"type":"integer","format":"int64"},"num_failed":{"type":"integer","format":"int64"},"num_passed":{"type":"integer","format":"int64"},"num_uncertain":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/TestStatus"}}},"DataSourceInspectionStatusDataSource":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"DataSourceInspectionStatusDataValidationStatus":{"type":"object","required":["num_passed","num_uncertain","num_failed","status"],"properties":{"num_failed":{"type":"integer","format":"int64"},"num_passed":{"type":"integer","format":"int64"},"num_uncertain":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/TestStatus"}}},"DataSourceInspectionStatusDataVolumeStatus":{"type":"object","required":["num_checks","num_failed","num_passed","status"],"properties":{"num_checks":{"type":"integer","format":"int64"},"num_failed":{"type":"integer","format":"int64"},"num_passed":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/TestStatus"}}},"DataSourceInspectionStatusProject":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"DataSourceModules":{"type":"object","required":["data_anomaly","data_validation","data_analytics","timeliness","schema_tracker"],"properties":{"data_analytics":{"type":"boolean"},"data_anomaly":{"type":"boolean"},"data_validation":{"type":"boolean"},"schema_tracker":{"type":"boolean"},"timeliness":{"type":"boolean"}}},"DataSourceObject":{"type":"object","required":["catalog_name","schema_name","table_name"],"properties":{"catalog_name":{"type":"string"},"schema_name":{"type":"string"},"table_name":{"type":"string"}}},"DataSourceProject":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"DatasetInspectionStatus":{"type":"object","description":"The internal dataset inspection status without `data_reconciliation_status`, as above.","required":["valid_date","project","data_source","dataset_definition","dataset","status"],"properties":{"data_analytics_status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetInspectionStatusDataAnalyticsStatus"}]},"data_anomaly_status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetInspectionStatusDataAnomalyStatus"}]},"data_source":{"$ref":"#/components/schemas/DatasetInspectionStatusDataSource"},"data_validation_status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetInspectionStatusDataValidationStatus"}]},"data_volume_status":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetInspectionStatusDataVolumeStatus"}]},"dataset":{"$ref":"#/components/schemas/DatasetInspectionStatusDataset"},"dataset_definition":{"$ref":"#/components/schemas/DatasetInspectionStatusDatasetDefinition"},"project":{"$ref":"#/components/schemas/DatasetInspectionStatusProject"},"status":{"$ref":"#/components/schemas/InspectionStatus"},"valid_date":{"type":"string","format":"date"}}},"DatasetInspectionStatusDataAnalyticsStatus":{"type":"object","required":["num_passed","num_failed","num_not_relevant","status"],"properties":{"num_failed":{"type":"integer","format":"int64"},"num_not_relevant":{"type":"integer","format":"int64"},"num_passed":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/TestStatus"}}},"DatasetInspectionStatusDataAnomalyStatus":{"type":"object","required":["num_checks","num_failed","num_uncertain","num_passed","status"],"properties":{"num_checks":{"type":"integer","format":"int64"},"num_failed":{"type":"integer","format":"int64"},"num_passed":{"type":"integer","format":"int64"},"num_uncertain":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/TestStatus"}}},"DatasetInspectionStatusDataSource":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"DatasetInspectionStatusDataValidationStatus":{"type":"object","required":["num_passed","num_uncertain","num_failed","status"],"properties":{"num_failed":{"type":"integer","format":"int64"},"num_passed":{"type":"integer","format":"int64"},"num_uncertain":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/TestStatus"}}},"DatasetInspectionStatusDataVolumeStatus":{"type":"object","required":["row_count","status"],"properties":{"row_count":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/TestStatus"}}},"DatasetInspectionStatusDataset":{"type":"object","required":["id","name","full_name"],"properties":{"full_name":{"type":"string"},"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"DatasetInspectionStatusDatasetDefinition":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"DatasetInspectionStatusProject":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"DbConnection":{"type":"object","required":["id","name","technology","profiling_location","profiling_mode","work_schema"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"profiling_location":{"$ref":"#/components/schemas/StableProfilingLocation"},"profiling_mode":{"$ref":"#/components/schemas/StableDbConnectionProfilingMode"},"technology":{"$ref":"#/components/schemas/StableDbConnectionTechnology"},"work_schema":{"type":"string"}}},"GetAttributesQuery":{"type":"object","required":["data_source_id"],"properties":{"data_source_id":{"type":"integer","format":"int64"},"limit":{"type":["integer","null"],"format":"int64"}}},"GetCheckDefinitionsQuery":{"type":"object","required":["data_source_id"],"properties":{"data_source_id":{"type":"integer","format":"int64"},"limit":{"type":["integer","null"],"format":"int64"}}},"GetDataSetInspectionStatusesQuery":{"type":"object","required":["data_source_id","start_date","end_date"],"properties":{"data_analytics_status":{"type":["integer","null"],"format":"int32"},"data_anomaly_status":{"type":["integer","null"],"format":"int32"},"data_source_id":{"type":"integer","format":"int64"},"data_validation_status":{"type":["integer","null"],"format":"int32"},"data_volume_status":{"type":["integer","null"],"format":"int32"},"dataset_id":{"type":["integer","null"],"format":"int64"},"end_date":{"type":"string","format":"date"},"inspection_status":{"type":["integer","null"],"format":"int32"},"limit":{"type":["integer","null"],"format":"int64"},"start_date":{"type":"string","format":"date"}}},"GetDataSetsQuery":{"type":"object","required":["data_source_id"],"properties":{"data_source_id":{"type":"integer","format":"int64"},"limit":{"type":["integer","null"],"format":"int64"}}},"GetDataSourceInspectionStatusesQuery":{"type":"object","required":["start_date","end_date"],"properties":{"data_analytics_status":{"type":["integer","null"],"format":"int32"},"data_anomaly_status":{"type":["integer","null"],"format":"int32"},"data_source_id":{"type":["integer","null"],"format":"int64"},"data_source_name_like":{"type":["string","null"]},"data_validation_status":{"type":["integer","null"],"format":"int32"},"data_volume_status":{"type":["integer","null"],"format":"int32"},"end_date":{"type":"string","format":"date"},"inspection_status":{"type":["integer","null"],"format":"int32"},"is_inspected":{"type":["boolean","null"]},"limit":{"type":["integer","null"],"format":"int64"},"project_id":{"type":["integer","null"],"format":"int64"},"start_date":{"type":"string","format":"date"}}},"GetProjectInspectionStatusesQuery":{"type":"object","required":["project_id","start_date","end_date"],"properties":{"end_date":{"type":"string","format":"date"},"limit":{"type":["integer","null"],"format":"int64"},"project_id":{"type":"integer","format":"int64"},"start_date":{"type":"string","format":"date"}}},"InspectionRequestStatusResponse":{"type":"object","required":["id","status"],"properties":{"id":{"type":"integer","format":"int64"},"status":{"$ref":"#/components/schemas/StableInspectionOperationStatus"}}},"InspectionStatus":{"type":"integer","format":"int32","enum":[-1,0,1,2]},"Project":{"type":"object","required":["id","name","description","db_connections"],"properties":{"db_connections":{"type":"array","items":{"$ref":"#/components/schemas/ProjectDbConnection"}},"description":{"type":"string"},"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"ProjectDbConnection":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"ProjectInspectionStatus":{"type":"object","required":["valid_date","project","status"],"properties":{"project":{"$ref":"#/components/schemas/ProjectInspectionStatusProject"},"status":{"$ref":"#/components/schemas/InspectionStatus"},"valid_date":{"type":"string","format":"date"}}},"ProjectInspectionStatusProject":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}},"StableAttributeCategory":{"type":"string","enum":["NUMERICAL","CATEGORICAL","OTHER","DATE","CUSTOM"]},"StableAttributeKind":{"type":"string","enum":["COLUMN","QUERY"]},"StableDataSetKind":{"type":"string","enum":["STATIC","DYNAMIC","HYBRID"]},"StableDataSourceKind":{"type":"string","enum":["TABLE","QUERY","VIEW"]},"StableDataSourceQueryMode":{"type":"string","enum":["single","combined"]},"StableDbConnectionProfilingMode":{"type":"string","enum":["permanent","session","standard"]},"StableDbConnectionTechnology":{"type":"string","enum":["hive","postgres","oracle","sqlserver","databricks","teradata","netezza","snowflake","impala"]},"StableInspectionOperationStatus":{"type":"string","enum":["PENDING","RUNNING","COMPLETED","FAILED","ABORTED","CANCELLED"]},"StableInspectionRequestMode":{"type":"string","enum":["DAILY","WEEKLY","MONTHLY"]},"StableInspectionRequestWeekday":{"type":"string","enum":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"]},"StableProfilingLocation":{"type":"string","description":"Where profiling happens. Only meaningful together with `profiling_mode`\nwhen this is `source-database` - `profiling_mode` is not consulted at all\nunder `digna-engine`.","enum":["source-database","digna-engine"]},"SubmitInspectionRequest":{"type":"object","required":["project_id","include_all_data_sources","data_source_ids","start_date","end_date","mode","weekly_mode_weekdays","monthly_mode_days","use_notification"],"properties":{"data_source_ids":{"type":"array","items":{"type":"integer","format":"int64"}},"end_date":{"type":"string","format":"date"},"include_all_data_sources":{"type":"boolean"},"inspection_job_id":{"type":["integer","null"],"format":"int64"},"mode":{"$ref":"#/components/schemas/StableInspectionRequestMode"},"monthly_mode_days":{"type":"array","items":{"type":"integer","format":"int32"}},"project_id":{"type":"integer","format":"int64"},"start_date":{"type":"string","format":"date"},"use_notification":{"type":"boolean"},"weekly_mode_weekdays":{"type":"array","items":{"$ref":"#/components/schemas/StableInspectionRequestWeekday"}}}},"SubmitInspectionRequestResponse":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","format":"int64"}}},"TestStatus":{"type":"integer","format":"int32","enum":[-1,0,1,2]},"UpdateAttributeRequest":{"type":"object","required":["name","category","statistic_ids"],"properties":{"category":{"$ref":"#/components/schemas/StableAttributeCategory"},"column":{"type":["string","null"],"description":"COLUMN only: the source column to read. Defaults to `name`."},"data_type":{"type":"string","description":"Stored empty for a QUERY attribute, whatever is sent."},"description":{"type":["string","null"],"description":"Business meaning of the attribute. Omit to keep the stored value."},"expression":{"type":["string","null"],"description":"QUERY only: the SQL expression to read."},"kind":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StableAttributeKind","description":"COLUMN or QUERY. Without it, an `expression` makes the attribute QUERY and anything\nelse COLUMN."}]},"name":{"type":"string","description":"The label, unique within the data source."},"statistic_ids":{"type":"array","items":{"type":"integer","format":"int64"}}}},"UpdateDataSetRequest":{"type":"object","required":["name","kind","filter_expression","grouping_expression"],"properties":{"filter_expression":{"type":"string"},"grouping_expression":{"type":"string"},"kind":{"$ref":"#/components/schemas/StableDataSetKind"},"name":{"type":"string"}}},"UpdateDataSourceRequest":{"type":"object","required":["name","kind","object","query_mode","snapshot_query","snapshot_filter","report_empty_datasets","modules","db_connection_id"],"properties":{"db_connection_id":{"type":"integer","format":"int64"},"description":{"type":["string","null"],"description":"Business meaning of the data source. Omit to keep the stored value."},"kind":{"$ref":"#/components/schemas/StableDataSourceKind"},"modules":{"$ref":"#/components/schemas/DataSourceModules"},"name":{"type":"string"},"object":{"$ref":"#/components/schemas/DataSourceObject"},"query_mode":{"$ref":"#/components/schemas/StableDataSourceQueryMode"},"report_empty_datasets":{"type":"boolean"},"snapshot_filter":{"type":"string"},"snapshot_query":{"type":"string"}}}}},"tags":[{"name":"projects","description":"Project management endpoints"},{"name":"db-connections","description":"Db connection endpoints"},{"name":"data-sources","description":"Data source endpoints"},{"name":"data-sets","description":"Data set endpoints"},{"name":"attributes","description":"Attribute endpoints"},{"name":"check-definitions","description":"Check definition endpoints"},{"name":"inspection-requests","description":"Inspection request endpoints"},{"name":"inspection-statuses","description":"Inspection status endpoints"}]}