{"components":{"schemas":{"AssetVersionSchema":{"properties":{"asset_id":{"format":"uuid","type":"string"},"face_ids":{"items":{"format":"uuid","type":"string"},"type":"array"},"segment_count":{"type":"integer"},"version_id":{"format":"uuid","type":"string"}},"type":"object"},"BaseQueryParamsSchema":{"properties":{"page":{"default":1,"description":"Which page number to fetch","format":"int32","maximum":10000,"minimum":1,"nullable":true,"type":"integer"},"per_page":{"default":10,"description":"The number of items for each page","format":"int32","maximum":1000,"minimum":1,"nullable":true,"type":"integer"},"sort":{"description":"A comma separated list of fieldnames with order (asc/desc)","type":"string"}},"type":"object"},"BulkActionSchema":{"properties":{"object_ids":{"items":{"format":"uuid","type":"string"},"maxItems":500,"minItems":1,"type":"array"},"object_type":{"enum":["assets","collections","saved_searches"],"type":"string"}},"required":["object_ids","object_type"],"type":"object"},"BulkConfirmPersonSchema":{"properties":{"all_instances_except_unconfirmed":{"default":false,"type":"boolean"},"version_ids":{"default":null,"items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"nullable":true,"type":"array"}},"type":"object"},"BulkDeletePersonsByIdsSchema":{"properties":{"person_ids":{"items":{"format":"uuid","type":"string"},"maxItems":500,"minItems":1,"type":"array"}},"required":["person_ids"],"type":"object"},"BulkDeletePersonsByVersionsSchema":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/DeletePersonByVersion"},"type":"array"}},"required":["objects"],"type":"object"},"BulkDeletePersonsSchema":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/DeletePerson"},"maxItems":100,"minItems":1,"type":"array"}},"required":["objects"],"type":"object"},"BulkFaceExtractSchema":{"properties":{"face_image_analysis_profile_id":{"format":"uuid","type":"string"},"face_video_analysis_profile_id":{"format":"uuid","type":"string"},"force":{"default":false,"type":"boolean"},"include_assets":{"type":"boolean"},"include_collections":{"type":"boolean"},"object_ids":{"items":{"format":"uuid","type":"string"},"maxItems":500,"minItems":1,"type":"array"},"object_type":{"enum":["assets","collections","saved_searches"],"type":"string"}},"required":["object_ids","object_type"],"type":"object"},"BulkMetadataFillingSchema":{"properties":{"auto_accept":{"default":false,"type":"boolean"},"field_names":{"items":{"type":"string"},"minItems":1,"nullable":true,"type":"array"},"object_ids":{"items":{"format":"uuid","type":"string"},"minItems":1,"type":"array"},"object_type":{"enum":["assets","collections","saved_searches"],"type":"string"},"overwrite":{"default":true,"type":"boolean"},"view_id":{"format":"uuid","type":"string"}},"required":["object_ids","object_type","view_id"],"type":"object"},"BulkPersonByAssetAndVersion":{"properties":{"persons":{"items":{"$ref":"#/components/schemas/PersonByAssetAndVersion"},"type":"array"},"version_id":{"format":"uuid","type":"string"}},"required":["version_id"],"type":"object"},"BulkPersonByAssetAndVersionListSchema":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/BulkPersonByAssetAndVersion"},"type":"array"}},"type":"object"},"BulkPersonByAssetAndVersionSchema":{"properties":{"persons":{"items":{"$ref":"#/components/schemas/PersonByAssetAndVersion"},"type":"array"},"version_id":{"format":"uuid","type":"string"}},"required":["version_id"],"type":"object"},"BulkReindexPersonsSchema":{"properties":{"person_ids":{"items":{"format":"uuid","type":"string"},"maxItems":500,"minItems":1,"type":"array"},"sync_to_another_dc":{"type":"boolean"}},"required":["person_ids"],"type":"object"},"ChangePersonInstanceSchema":{"properties":{"new_person_id":{"format":"uuid","nullable":true,"type":"string"},"new_person_name":{"maxLength":128,"minLength":1,"nullable":true,"type":"string"}},"type":"object"},"CheckPersonsStatusSchema":{"properties":{"person_ids":{"items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["person_ids"],"type":"object"},"CopyPersonsSchema":{"properties":{"source_asset_id":{"format":"uuid","type":"string"},"source_version_id":{"format":"uuid","type":"string"},"target_asset_id":{"format":"uuid","type":"string"},"target_version_id":{"format":"uuid","type":"string"}},"required":["source_asset_id","source_version_id","target_asset_id","target_version_id"],"type":"object"},"CreatePersonSchema":{"properties":{"main_face_id":{"format":"uuid","type":"string"},"name":{"maxLength":128,"minLength":1,"nullable":true,"type":"string"}},"type":"object"},"DeletePerson":{"properties":{"asset_id":{"format":"uuid","type":"string"},"version_id":{"format":"uuid","type":"string"}},"required":["asset_id","version_id"],"type":"object"},"DeletePersonByVersion":{"properties":{"person_id":{"format":"uuid","type":"string"},"version_id":{"format":"uuid","type":"string"}},"required":["person_id","version_id"],"type":"object"},"DeletePersonByVersionSchema":{"properties":{"person_id":{"format":"uuid","type":"string"},"version_id":{"format":"uuid","type":"string"}},"required":["person_id","version_id"],"type":"object"},"DeletePersonSchema":{"properties":{"asset_id":{"format":"uuid","type":"string"},"version_id":{"format":"uuid","type":"string"}},"required":["asset_id","version_id"],"type":"object"},"EmbeddingBaseSchema":{"properties":{"date_created":{"format":"date-time","readOnly":true,"type":"string"},"embedding_vector":{"items":{"type":"number"},"type":"array"},"type":{"enum":["AUGMENTED","NORMAL"],"type":"string"}},"type":"object"},"EmbeddingByFaceSchema":{"properties":{"date_created":{"format":"date-time","readOnly":true,"type":"string"},"embedding_vector":{"items":{"type":"number"},"type":"array"},"face_id":{"format":"uuid","readOnly":true,"type":"string"},"id":{"format":"uuid","readOnly":true,"type":"string"},"system_domain_id":{"format":"uuid","readOnly":true,"type":"string"},"type":{"enum":["AUGMENTED","NORMAL"],"type":"string"}},"type":"object"},"EmbeddingByPersonSchema":{"properties":{"date_created":{"format":"date-time","readOnly":true,"type":"string"},"embedding_vector":{"items":{"type":"number"},"type":"array"},"id":{"format":"uuid","readOnly":true,"type":"string"},"person_id":{"format":"uuid","readOnly":true,"type":"string"},"system_domain_id":{"format":"uuid","readOnly":true,"type":"string"},"type":{"enum":["AUGMENTED","NORMAL"],"type":"string"}},"type":"object"},"EmbeddingByStatusSchema":{"properties":{"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"embedding_vector":{"items":{"type":"number"},"type":"array"},"id":{"format":"uuid","readOnly":true,"type":"string"},"person_id":{"format":"uuid","type":"string"},"status":{"enum":["NEW","UNCONFIRMED","SYSTEM_CONFIRMED","USER_CONFIRMED"],"type":"string"},"system_domain_id":{"format":"uuid","readOnly":true,"type":"string"},"type":{"enum":["AUGMENTED","NORMAL"],"type":"string"}},"type":"object"},"EmbeddingSchema":{"properties":{"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"embedding_vector":{"items":{"type":"number"},"type":"array"},"id":{"format":"uuid","readOnly":true,"type":"string"},"person_id":{"format":"uuid","type":"string"},"status":{"enum":["NEW","UNCONFIRMED","SYSTEM_CONFIRMED","USER_CONFIRMED"],"type":"string"},"system_domain_id":{"format":"uuid","readOnly":true,"type":"string"},"type":{"enum":["AUGMENTED","NORMAL"],"type":"string"}},"type":"object"},"Face":{"properties":{"asset_id":{"format":"uuid","type":"string"},"augmented_embedding_ids":{"items":{"format":"uuid","type":"string"},"type":"array"},"bounding_box":{"items":{"type":"number"},"type":"array"},"created_by_user":{"format":"uuid","readOnly":true,"type":"string"},"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"detection_probability":{"type":"number"},"directory_path":{"type":"string"},"embedding_id":{"format":"uuid","type":"string"},"filename":{"type":"string"},"id":{"format":"uuid","readOnly":true,"type":"string"},"image_url":{"readOnly":true,"type":"string"},"landmarks":{"items":{"$ref":"#/components/schemas/FaceLandmarkSchema"},"type":"array"},"person_id":{"format":"uuid","readOnly":true,"type":"string"},"status":{"enum":["NEW","UNCONFIRMED","SYSTEM_CONFIRMED","USER_CONFIRMED"],"type":"string"},"storage_id":{"format":"uuid","type":"string"},"system_domain_id":{"format":"uuid","readOnly":true,"type":"string"},"timestamp_ms":{"type":"integer"},"version_id":{"format":"uuid","type":"string"}},"type":"object"},"FaceBaseSchema":{"properties":{"augmented_embedding_ids":{"items":{"format":"uuid","type":"string"},"type":"array"},"created_by_user":{"format":"uuid","readOnly":true,"type":"string"},"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"directory_path":{"type":"string"},"embedding_id":{"format":"uuid","type":"string"},"filename":{"type":"string"},"image_url":{"readOnly":true,"type":"string"},"status":{"enum":["NEW","UNCONFIRMED","SYSTEM_CONFIRMED","USER_CONFIRMED"],"type":"string"},"storage_id":{"format":"uuid","type":"string"}},"type":"object"},"FaceByAssetAndVersionSchema":{"properties":{"asset_id":{"format":"uuid","readOnly":true,"type":"string"},"augmented_embedding_ids":{"items":{"format":"uuid","type":"string"},"type":"array"},"created_by_user":{"format":"uuid","readOnly":true,"type":"string"},"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"directory_path":{"type":"string"},"embedding_id":{"format":"uuid","type":"string"},"filename":{"type":"string"},"id":{"format":"uuid","readOnly":true,"type":"string"},"image_url":{"readOnly":true,"type":"string"},"person_id":{"format":"uuid","readOnly":true,"type":"string"},"status":{"enum":["NEW","UNCONFIRMED","SYSTEM_CONFIRMED","USER_CONFIRMED"],"type":"string"},"storage_id":{"format":"uuid","type":"string"},"system_domain_id":{"format":"uuid","readOnly":true,"type":"string"},"version_id":{"format":"uuid","readOnly":true,"type":"string"}},"type":"object"},"FaceByPersonSchema":{"properties":{"augmented_embedding_ids":{"items":{"format":"uuid","type":"string"},"type":"array"},"created_by_user":{"format":"uuid","readOnly":true,"type":"string"},"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"directory_path":{"type":"string"},"embedding_id":{"format":"uuid","type":"string"},"filename":{"type":"string"},"id":{"format":"uuid","readOnly":true,"type":"string"},"image_url":{"readOnly":true,"type":"string"},"person_id":{"format":"uuid","readOnly":true,"type":"string"},"status":{"enum":["NEW","UNCONFIRMED","SYSTEM_CONFIRMED","USER_CONFIRMED"],"type":"string"},"storage_id":{"format":"uuid","type":"string"},"system_domain_id":{"format":"uuid","readOnly":true,"type":"string"}},"type":"object"},"FaceLandmarkSchema":{"properties":{"x":{"type":"number"},"y":{"type":"number"}},"type":"object"},"FaceListSchema":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/Face"},"readOnly":true,"type":"array"}},"type":"object"},"FaceSchema":{"properties":{"asset_id":{"format":"uuid","type":"string"},"augmented_embedding_ids":{"items":{"format":"uuid","type":"string"},"type":"array"},"bounding_box":{"items":{"type":"number"},"type":"array"},"created_by_user":{"format":"uuid","readOnly":true,"type":"string"},"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"detection_probability":{"type":"number"},"directory_path":{"type":"string"},"embedding_id":{"format":"uuid","type":"string"},"filename":{"type":"string"},"id":{"format":"uuid","readOnly":true,"type":"string"},"image_url":{"readOnly":true,"type":"string"},"landmarks":{"items":{"$ref":"#/components/schemas/FaceLandmarkSchema"},"type":"array"},"person_id":{"format":"uuid","readOnly":true,"type":"string"},"status":{"enum":["NEW","UNCONFIRMED","SYSTEM_CONFIRMED","USER_CONFIRMED"],"type":"string"},"storage_id":{"format":"uuid","type":"string"},"system_domain_id":{"format":"uuid","readOnly":true,"type":"string"},"timestamp_ms":{"type":"integer"},"version_id":{"format":"uuid","type":"string"}},"type":"object"},"JobsPrioritySchema":{"properties":{"job_ids":{"items":{"format":"uuid","type":"string"},"maxItems":500,"minItems":1,"type":"array"},"priority":{"format":"int32","maximum":10,"minimum":1,"type":"integer"}},"required":["job_ids","priority"],"type":"object"},"JobsStateSchema":{"properties":{"action":{"enum":["RESTART","ABORT"],"type":"string"},"job_ids":{"items":{"format":"uuid","type":"string"},"maxItems":500,"minItems":1,"type":"array"}},"required":["action","job_ids"],"type":"object"},"LLMMetadataJobSchema":{"properties":{"asset_id":{"type":"string"},"auto_accept":{"default":false,"type":"boolean"},"automation_id":{"nullable":true,"type":"string"},"field_names":{"items":{"type":"string"},"minItems":1,"type":"array"},"force_transcoder":{"nullable":true,"type":"string"},"group_ids":{"items":{"type":"string"},"type":"array"},"is_admin":{"default":false,"type":"boolean"},"overwrite":{"default":true,"type":"boolean"},"parent_job_id":{"nullable":true,"type":"string"},"requested_at":{"nullable":true,"type":"number"},"version_id":{"type":"string"},"view_id":{"format":"uuid","type":"string"}},"required":["field_names","view_id"],"type":"object"},"ListObjectsSchema":{"properties":{"first_url":{"readOnly":true,"type":"string"},"last_url":{"readOnly":true,"type":"string"},"next_url":{"readOnly":true,"type":"string"},"page":{"format":"int32","maximum":2147483647,"minimum":-2147483648,"readOnly":true,"type":"integer"},"pages":{"format":"int32","maximum":2147483647,"minimum":-2147483648,"readOnly":true,"type":"integer"},"per_page":{"format":"int32","maximum":2147483647,"minimum":-2147483648,"readOnly":true,"type":"integer"},"prev_url":{"readOnly":true,"type":"string"},"scroll_id":{"readOnly":true,"type":"string"},"total":{"format":"int64","maximum":9223372036854775807,"minimum":-9223372036854775808,"readOnly":true,"type":"integer"}},"type":"object"},"MLDetectionQueueRecordSchema":{"properties":{"bytes_params":{"nullable":true},"date_created":{"format":"date-time","type":"string"},"date_updated":{"format":"date-time","type":"string"},"id":{"format":"uuid","type":"string"},"job_id":{"format":"uuid","type":"string"},"object_id":{"format":"uuid","nullable":true,"type":"string"},"object_type":{"nullable":true,"type":"string"},"params":{"nullable":true,"type":"string"},"parent_job_id":{"format":"uuid","nullable":true,"type":"string"},"priority":{"nullable":true,"type":"integer"},"retry_count":{"nullable":true,"type":"integer"},"spec":{"nullable":true,"type":"string"},"status":{"nullable":true,"type":"string"},"system_domain_id":{"format":"uuid","type":"string"},"system_name":{"type":"string"},"type":{"nullable":true,"type":"string"},"user_id":{"format":"uuid","type":"string"},"version_id":{"format":"uuid","nullable":true,"type":"string"}},"required":["job_id","system_domain_id","user_id"],"type":"object"},"MetadataFillingPlaygroundRunSchema":{"properties":{"asset_id":{"format":"uuid","type":"string"},"date_created":{"format":"date-time","nullable":true,"type":"string"},"date_finished":{"format":"date-time","nullable":true,"type":"string"},"date_started":{"format":"date-time","nullable":true,"type":"string"},"errors":{"items":{"type":"string"},"type":"array"},"field_names":{"items":{"type":"string"},"type":"array"},"field_values":{"description":"Proposal shape: {field: {field_values: [{value, ai_generated}]}}","nullable":true},"fields_remaining":{"nullable":true,"type":"integer"},"llm_responded":{"nullable":true,"type":"boolean"},"run_id":{"format":"uuid","type":"string"},"selected_context_parts":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"nullable":true,"type":"object"},"skipped_fields":{"items":{"type":"string"},"type":"array"},"status":{"enum":["QUEUED","STARTED","FINISHED","FAILED"],"type":"string"},"version_id":{"format":"uuid","nullable":true,"type":"string"},"view_id":{"format":"uuid","type":"string"},"warnings":{"items":{"type":"string"},"type":"array"}},"type":"object"},"MetadataFillingPlaygroundSchema":{"properties":{"field_names":{"description":"Subset of the view's AI-eligible fields; all of them when omitted","items":{"type":"string"},"minItems":1,"nullable":true,"type":"array"},"prompt_overrides":{"additionalProperties":{"maxLength":4000,"type":"string"},"description":"Field name to ai_prompt_description, used for this run only","type":"object"},"version_id":{"format":"uuid","nullable":true,"type":"string"}},"type":"object"},"MetadataFillingProposalByAssetQueryParamsSchema":{"properties":{"version_id":{"format":"uuid","nullable":true,"type":"string"}},"type":"object"},"MetadataFillingProposalSchema":{"properties":{"asset_id":{"format":"uuid","type":"string"},"bulk_review_in_progress":{"readOnly":true,"type":"boolean"},"date_created":{"format":"date-time","type":"string"},"errors":{"items":{"type":"string"},"type":"array"},"field_names":{"items":{"type":"string"},"type":"array"},"field_values":{},"job_id":{"format":"uuid","type":"string"},"parent_job_id":{"format":"uuid","nullable":true,"type":"string"},"review_status":{"enum":["PENDING_USER","ACCEPTED","REJECTED"],"type":"string"},"user_id":{"format":"uuid","type":"string"},"version_id":{"format":"uuid","nullable":true,"type":"string"},"view_id":{"format":"uuid","nullable":true,"type":"string"},"warnings":{"items":{"type":"string"},"type":"array"}},"type":"object"},"MetadataFillingResponseSchema":{"properties":{"errors":{"items":{"type":"string"},"type":"array"},"metadata_values":{"additionalProperties":{},"description":"Map of field names to generated values. Values can be a string, a list of strings, or an object with 'value' and optional 'label' keys.","type":"object"},"warnings":{"items":{"type":"string"},"type":"array"}},"type":"object"},"MetadataFillingSchema":{"properties":{"auto_accept":{"default":false,"type":"boolean"},"field_names":{"items":{"type":"string"},"minItems":1,"type":"array"},"overwrite":{"default":true,"type":"boolean"},"view_id":{"format":"uuid","type":"string"}},"required":["field_names","view_id"],"type":"object"},"Person":{"properties":{"created_by_user":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"has_unconfirmed_instances":{"readOnly":true,"type":"boolean"},"id":{"format":"uuid","readOnly":true,"type":"string"},"image_url":{"nullable":true,"readOnly":true,"type":"string"},"main_face_id":{"format":"uuid","nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"person_version_face_image_url":{"nullable":true,"readOnly":true,"type":"string"},"status":{"enum":["NEW","UNCONFIRMED","SYSTEM_CONFIRMED","USER_CONFIRMED"],"type":"string"},"system_domain_id":{"format":"uuid","readOnly":true,"type":"string"}},"required":["created_by_user","date_created","date_modified","has_unconfirmed_instances","id","image_url","main_face_id","name","person_version_face_image_url","status"],"type":"object"},"PersonAssetsVersionsListSchema":{"properties":{"first_url":{"readOnly":true,"type":"string"},"last_url":{"readOnly":true,"type":"string"},"next_url":{"readOnly":true,"type":"string"},"objects":{"items":{"$ref":"#/components/schemas/PersonByAssetAndVersionInAdmin"},"readOnly":true,"type":"array"},"page":{"format":"int32","maximum":2147483647,"minimum":-2147483648,"readOnly":true,"type":"integer"},"pages":{"format":"int32","maximum":2147483647,"minimum":-2147483648,"readOnly":true,"type":"integer"},"per_page":{"format":"int32","maximum":2147483647,"minimum":-2147483648,"readOnly":true,"type":"integer"},"prev_url":{"readOnly":true,"type":"string"},"scroll_id":{"readOnly":true,"type":"string"},"total":{"format":"int64","maximum":9223372036854775807,"minimum":-9223372036854775808,"readOnly":true,"type":"integer"}},"type":"object"},"PersonByAssetAndVersion":{"properties":{"asset_id":{"format":"uuid","type":"string"},"created_by_user":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"has_unconfirmed_instances":{"readOnly":true,"type":"boolean"},"id":{"format":"uuid","readOnly":true,"type":"string"},"image_url":{"nullable":true,"readOnly":true,"type":"string"},"main_face_id":{"format":"uuid","nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"person_version_face_id":{"format":"uuid","type":"string"},"person_version_face_image_url":{"nullable":true,"readOnly":true,"type":"string"},"status":{"enum":["NEW","UNCONFIRMED","SYSTEM_CONFIRMED","USER_CONFIRMED"],"type":"string"},"system_domain_id":{"format":"uuid","readOnly":true,"type":"string"},"version_id":{"format":"uuid","type":"string"}},"required":["asset_id","created_by_user","date_created","date_modified","has_unconfirmed_instances","id","image_url","main_face_id","name","person_version_face_id","person_version_face_image_url","status","version_id"],"type":"object"},"PersonByAssetAndVersionInAdmin":{"properties":{"asset_id":{"format":"uuid","type":"string"},"asset_title":{"type":"string"},"created_by_user":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"has_unconfirmed_instances":{"readOnly":true,"type":"boolean"},"id":{"format":"uuid","readOnly":true,"type":"string"},"image_url":{"nullable":true,"readOnly":true,"type":"string"},"main_face_id":{"format":"uuid","nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"person_version_face_id":{"format":"uuid","type":"string"},"person_version_face_image_url":{"nullable":true,"readOnly":true,"type":"string"},"status":{"enum":["NEW","UNCONFIRMED","SYSTEM_CONFIRMED","USER_CONFIRMED"],"type":"string"},"system_domain_id":{"format":"uuid","readOnly":true,"type":"string"},"version_id":{"format":"uuid","type":"string"},"version_number":{"type":"string"}},"required":["asset_id","asset_title","created_by_user","date_created","date_modified","has_unconfirmed_instances","id","image_url","main_face_id","name","person_version_face_id","person_version_face_image_url","status","version_id"],"type":"object"},"PersonByAssetAndVersionInAdminSchema":{"properties":{"asset_id":{"format":"uuid","type":"string"},"asset_title":{"type":"string"},"created_by_user":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"has_unconfirmed_instances":{"readOnly":true,"type":"boolean"},"id":{"format":"uuid","readOnly":true,"type":"string"},"image_url":{"nullable":true,"readOnly":true,"type":"string"},"main_face_id":{"format":"uuid","nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"person_version_face_id":{"format":"uuid","type":"string"},"person_version_face_image_url":{"nullable":true,"readOnly":true,"type":"string"},"status":{"enum":["NEW","UNCONFIRMED","SYSTEM_CONFIRMED","USER_CONFIRMED"],"type":"string"},"system_domain_id":{"format":"uuid","readOnly":true,"type":"string"},"version_id":{"format":"uuid","type":"string"},"version_number":{"type":"string"}},"required":["asset_id","asset_title","created_by_user","date_created","date_modified","has_unconfirmed_instances","id","image_url","main_face_id","name","person_version_face_id","person_version_face_image_url","status","version_id"],"type":"object"},"PersonByAssetAndVersionListSchema":{"properties":{"objects":{"items":{"$ref":"#/components/schemas/PersonByAssetAndVersion"},"type":"array"}},"type":"object"},"PersonByAssetAndVersionSchema":{"properties":{"asset_id":{"format":"uuid","type":"string"},"created_by_user":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"has_unconfirmed_instances":{"readOnly":true,"type":"boolean"},"id":{"format":"uuid","readOnly":true,"type":"string"},"image_url":{"nullable":true,"readOnly":true,"type":"string"},"main_face_id":{"format":"uuid","nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"person_version_face_id":{"format":"uuid","type":"string"},"person_version_face_image_url":{"nullable":true,"readOnly":true,"type":"string"},"status":{"enum":["NEW","UNCONFIRMED","SYSTEM_CONFIRMED","USER_CONFIRMED"],"type":"string"},"system_domain_id":{"format":"uuid","readOnly":true,"type":"string"},"version_id":{"format":"uuid","type":"string"}},"required":["asset_id","created_by_user","date_created","date_modified","has_unconfirmed_instances","id","image_url","main_face_id","name","person_version_face_id","person_version_face_image_url","status","version_id"],"type":"object"},"PersonInstancesQueryParamsSchema":{"properties":{"include_admin_details":{"default":true,"type":"boolean"},"page":{"default":1,"description":"Which page number to fetch","format":"int32","maximum":10000,"minimum":1,"nullable":true,"type":"integer"},"per_page":{"default":10,"description":"The number of items for each page","format":"int32","maximum":1000,"minimum":1,"nullable":true,"type":"integer"},"scroll":{"type":"boolean"},"scroll_id":{"format":"uuid","type":"string"},"sort":{"description":"A comma separated list of fieldnames with order (asc/desc)","type":"string"},"use_instance_as_main_face":{"default":true,"type":"boolean"}},"type":"object"},"PersonListSchema":{"properties":{"facets":{"type":"object"},"first_url":{"readOnly":true,"type":"string"},"last_url":{"readOnly":true,"type":"string"},"next_url":{"readOnly":true,"type":"string"},"objects":{"items":{"$ref":"#/components/schemas/Person"},"readOnly":true,"type":"array"},"page":{"format":"int32","maximum":2147483647,"minimum":-2147483648,"readOnly":true,"type":"integer"},"pages":{"format":"int32","maximum":2147483647,"minimum":-2147483648,"readOnly":true,"type":"integer"},"per_page":{"format":"int32","maximum":2147483647,"minimum":-2147483648,"readOnly":true,"type":"integer"},"prev_url":{"readOnly":true,"type":"string"},"scroll_id":{"readOnly":true,"type":"string"},"total":{"format":"int64","maximum":9223372036854775807,"minimum":-9223372036854775808,"readOnly":true,"type":"integer"}},"type":"object"},"PersonSchema":{"properties":{"created_by_user":{"format":"uuid","nullable":true,"readOnly":true,"type":"string"},"date_created":{"format":"date-time","readOnly":true,"type":"string"},"date_modified":{"format":"date-time","readOnly":true,"type":"string"},"has_unconfirmed_instances":{"readOnly":true,"type":"boolean"},"id":{"format":"uuid","readOnly":true,"type":"string"},"image_url":{"nullable":true,"readOnly":true,"type":"string"},"main_face_id":{"format":"uuid","nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"person_version_face_image_url":{"nullable":true,"readOnly":true,"type":"string"},"status":{"enum":["NEW","UNCONFIRMED","SYSTEM_CONFIRMED","USER_CONFIRMED"],"type":"string"},"system_domain_id":{"format":"uuid","readOnly":true,"type":"string"}},"required":["created_by_user","date_created","date_modified","has_unconfirmed_instances","id","image_url","main_face_id","name","person_version_face_image_url","status"],"type":"object"},"PersonsQueryParamsSchema":{"properties":{"page":{"default":1,"description":"Which page number to fetch","format":"int32","maximum":10000,"minimum":1,"nullable":true,"type":"integer"},"per_page":{"default":10,"description":"The number of items for each page","format":"int32","maximum":1000,"minimum":1,"nullable":true,"type":"integer"},"scroll":{"type":"boolean"},"scroll_id":{"format":"uuid","type":"string"},"sort":{"description":"A comma separated list of fieldnames with order (asc/desc)","type":"string"}},"type":"object"},"ReindexAllEmbeddingsSchema":{"properties":{"embedding_ids":{"items":{"format":"uuid","type":"string"},"nullable":true,"type":"array"},"sync_to_another_dc":{"type":"boolean"}},"type":"object"},"ReindexEmbeddingSchema":{"properties":{"sync_to_another_dc":{"type":"boolean"}},"type":"object"},"ReindexPersonSchema":{"properties":{"sync_to_another_dc":{"type":"boolean"}},"type":"object"},"ReindexQueueRecordSchema":{"properties":{"sync_to_another_dc":{"type":"boolean"}},"type":"object"},"URLSchema":{"properties":{"url":{"format":"url","type":"string"}},"type":"object"},"UpdateConfirmPersonSchema":{"properties":{"all_instances_except_unconfirmed":{"default":false,"type":"boolean"},"name":{"maxLength":128,"minLength":1,"type":"string"},"version_ids":{"default":null,"items":{"format":"uuid","type":"string"},"maxItems":100,"minItems":1,"nullable":true,"type":"array"}},"required":["name"],"type":"object"},"UpdatePersonSchema":{"properties":{"main_face_id":{"format":"uuid","type":"string"},"name":{"maxLength":128,"minLength":1,"nullable":true,"type":"string"}},"type":"object"},"VersionsSchema":{"properties":{"asset_id":{"format":"uuid","type":"string"},"version_ids":{"items":{"format":"uuid","type":"string"},"type":"array"}},"required":["asset_id"],"type":"object"}}},"info":{"title":"Iconik ML","version":"1.0.0"},"openapi":"3.0.3","paths":{"/":{},"/ip/":{},"/livez/":{},"/readyz/":{},"/spec/":{},"/static/{filename}":{},"/v1/face_recognition/assets/{asset_id}/persons/bulk/":{"delete":{"description":"\nRequired roles:\n - can_delete_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"asset_id","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkDeletePersonsByVersionsSchema"}}},"description":"body","required":true},"responses":{"201":{"description":"Returns the definition of the created job of deleting persons"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"Person not found"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Delete all persons by asset and versions"}},"/v1/face_recognition/assets/{asset_id}/versions/{version_id}/has_unconfirmed_persons/":{},"/v1/face_recognition/assets/{asset_id}/versions/{version_id}/persons/":{"get":{"description":"\nRequired roles:\n - can_read_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"asset_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"version_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"query","name":"fetch_image_url","schema":{"type":"boolean"},"style":"form"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonByAssetAndVersionListSchema"}}},"description":"Returns a list of persons associated with the asset version"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"List all persons associated with a specific asset version"}},"/v1/face_recognition/bulk/extract/":{"post":{"description":"\nRequired roles:\n - can_trigger_face_recognition\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkFaceExtractSchema"}}},"description":"body","required":false},"responses":{"202":{"description":"Process started"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"403":{"description":"Face recognition is not enabled for this system domain"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Run face recognition in bulk for different object types"}},"/v1/face_recognition/change_person/jobs/state/":{"put":{"description":"\nRequired roles:\n - can_write_jobs\n","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsStateSchema"}}},"description":"body","required":true},"responses":{"200":{"description":"Job lock removed"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Abort Change Person job"}},"/v1/face_recognition/embeddings/reindex/":{"post":{"description":"\nRequired roles:\n - can_reindex_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"description":"If true, the embeddings are reindexed using the low priority queue","in":"query","name":"low_priority_indexing","schema":{"default":false,"type":"boolean"},"style":"form"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReindexAllEmbeddingsSchema"}}},"description":"body","required":false},"responses":{"202":{"description":"Embeddings scheduled for reindexing"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Trigger reindexing of all embeddings"}},"/v1/face_recognition/embeddings/{embedding_id}/reindex/":{"post":{"description":"\nRequired roles:\n - can_reindex_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"embedding_id","required":true,"schema":{"type":"string"},"style":"simple"},{"description":"If true, the embedding is reindexed using the low priority queue","in":"query","name":"low_priority_indexing","schema":{"default":false,"type":"boolean"},"style":"form"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReindexEmbeddingSchema"}}},"description":"body","required":true},"responses":{"202":{"description":"Embedding scheduled for reindexing"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"embedding does not exist"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Reindex embedding"}},"/v1/face_recognition/extract/assets/{asset_id}/versions/{version_id}/":{"post":{"description":"\nRequired roles:\n - can_trigger_face_recognition\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"description":"The asset to extract face images and face data from","in":"path","name":"asset_id","required":true,"schema":{"type":"string"},"style":"simple"},{"description":"The version to extract face images and face data from","in":"path","name":"version_id","required":true,"schema":{"type":"string"},"style":"simple"},{"description":"The profile to use for face image analysis (default is used if not specified)","in":"query","name":"face_image_analysis_profile_id","schema":{"type":"string"},"style":"form"},{"description":"The profile to use for face video analysis (default is used if not specified)","in":"query","name":"face_video_analysis_profile_id","schema":{"type":"string"},"style":"form"},{"description":"If true, run face recognition again even if persons already exist on asset","in":"query","name":"force","schema":{"default":false,"type":"boolean"},"style":"form"}],"responses":{"202":{"description":"Process started"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"403":{"description":"Face recognition is not enabled for this system domain"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Extract face images and face data for an asset"}},"/v1/face_recognition/jobs/priority/":{"put":{"description":"\nRequired roles:\n - can_write_jobs\n","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsPrioritySchema"}}},"description":"body","required":true},"responses":{"202":{"description":"task scheduled"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Bulk-change priority of FR jobs"}},"/v1/face_recognition/jobs/state/":{"put":{"description":"\nRequired roles:\n - can_write_jobs\n","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsStateSchema"}}},"description":"body","required":true},"responses":{"202":{"description":"task scheduled"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Bulk-abort / restart FR extraction jobs"}},"/v1/face_recognition/persons/":{"get":{"description":"\nRequired roles:\n - can_read_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"description":"The number of items for each page","in":"query","name":"per_page","schema":{"format":"int32","type":"integer"},"style":"form"},{"description":"Which page number to fetch","in":"query","name":"page","schema":{"default":1,"minimum":1,"type":"integer"},"style":"form"},{"description":"If true passed then uses scroll pagination instead of default one","in":"query","name":"scroll","schema":{"type":"boolean"},"style":"form"},{"description":"In order to get next batch of results using scroll pagination the scroll_id is required","in":"query","name":"scroll_id","schema":{"type":"string"},"style":"form"},{"description":"A comma separated list of fieldnames with order. For example - first_name,asc;last_name,desc","in":"query","name":"sort","schema":{"type":"string"},"style":"form"},{"description":"Filter by status; NEW, UNCONFIRMED, USER_CONFIRMED or SYSTEM_CONFIRMED","in":"query","name":"status","schema":{"type":"string"},"style":"form"},{"description":"Filter by name (can use wildcard search e.g. *doe*)","in":"query","name":"name","schema":{"type":"string"},"style":"form"},{"description":"Filter by multiple statuses. Comma separated list of statuses.","in":"query","name":"status_in","schema":{"type":"string"},"style":"form"},{"description":"Filter by persons with or without name","in":"query","name":"has_name","schema":{"type":"boolean"},"style":"form"},{"description":"Filter by person IDs. Comma separated list of IDs.","in":"query","name":"ids","schema":{"type":"string"},"style":"form"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonListSchema"}}},"description":"Returns the list of persons"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"403":{"description":"Access denied for share users"},"404":{"description":"Person not found"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Get all persons"}},"/v1/face_recognition/persons/bulk_delete/":{"delete":{"description":"\nRequired roles:\n - can_delete_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkDeletePersonsByIdsSchema"}}},"description":"body","required":true},"responses":{"201":{"description":"Returns the definition of the created job of deleting multiple persons in bulk"},"400":{"description":"Bad request or an invalid UUID"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Bulk delete multiple persons by ID"}},"/v1/face_recognition/persons/reindex/":{"post":{"description":"\nRequired roles:\n - can_reindex_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"description":"Whether to sync person data to the Assets index. Defaults to false.","in":"query","name":"sync_assets","required":false,"schema":{"type":"boolean"},"style":"form"},{"description":"Whether to use low priority indexing. Defaults to false.","in":"query","name":"low_priority_indexing","required":false,"schema":{"type":"boolean"},"style":"form"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkReindexPersonsSchema"}}},"description":"body","required":true},"responses":{"202":{"description":"Persons scheduled for reindexing"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"Person does not exist"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Trigger reindexing of persons by IDs"}},"/v1/face_recognition/persons/{person_id}/":{"delete":{"description":"\nRequired roles:\n - can_delete_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"person_id","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"201":{"description":"Returns the definition of the created job of deleting a person"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"Person not found"},"409":{"description":"Another action is in progress for this person"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Delete a person"},"get":{"description":"\nRequired roles:\n - can_read_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"person_id","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonSchema"}}},"description":"Returns a single person"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"Person not found"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Get a single person by ID"},"patch":{"description":"\nRequired roles:\n - can_edit_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"person_id","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePersonSchema"}}},"description":"body","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonSchema"}}},"description":"Person updated successfully"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"Person not found"},"409":{"description":"Another action is in progress for this person"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Update an existing person"},"put":{"description":"\nRequired roles:\n - can_edit_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"person_id","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePersonSchema"}}},"description":"body","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonSchema"}}},"description":"Person updated successfully"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"Person not found"},"409":{"description":"Another action is in progress for this person"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Update an existing person"}},"/v1/face_recognition/persons/{person_id}/assets/{asset_id}/versions/{version_id}/":{"delete":{"description":"\nRequired roles:\n - can_delete_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"person_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"asset_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"version_id","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"204":{"description":"Person deleted successfully"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"Person not found"},"409":{"description":"Another action is in progress for this person"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Delete a person from an asset version"}},"/v1/face_recognition/persons/{person_id}/assets/{asset_id}/versions/{version_id}/change_person/":{"post":{"description":"\nRequired roles:\n - can_delete_person\n- can_edit_person\n- can_add_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"person_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"asset_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"version_id","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePersonInstanceSchema"}}},"description":"body","required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonByAssetAndVersionSchema"}}},"description":"Person change scheduled successfully"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"Person not found"},"409":{"description":"Another action is in progress for this person"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Change a person asset version instance to another person"}},"/v1/face_recognition/persons/{person_id}/assets/{asset_id}/versions/{version_id}/confirm_person/":{"post":{"description":"\nRequired roles:\n - can_delete_person\n- can_edit_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"person_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"asset_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"version_id","required":true,"schema":{"type":"string"},"style":"simple"},{"description":"Whether to use the instance face as main face or not","in":"query","name":"use_instance_as_main_face","schema":{"default":false,"type":"boolean"},"style":"form"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonByAssetAndVersionSchema"}}},"description":"Person updated successfully"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"Person not found"},"409":{"description":"Another action is in progress for this person"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Confirm a system unconfirmed person instance"}},"/v1/face_recognition/persons/{person_id}/bulk/":{"delete":{"description":"\nRequired roles:\n - can_delete_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"person_id","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkDeletePersonsSchema"}}},"description":"body","required":true},"responses":{"201":{"description":"Returns the definition of the created job of deleting person instances"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"Person not found"},"409":{"description":"Another action is in progress for this person"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Delete a person's instances in bulk"}},"/v1/face_recognition/persons/{person_id}/confirm_person/":{"post":{"description":"\nRequired roles:\n - can_delete_person\n- can_edit_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"person_id","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkConfirmPersonSchema"}}},"description":"body","required":true},"responses":{"204":{"description":"Person instances successfully scheduled for confirmation"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"Person not found"},"409":{"description":"Another action is in progress for this person"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Confirms multiple person instances in bulk"}},"/v1/face_recognition/persons/{person_id}/faces/{face_id}/image_url/":{"get":{"description":"","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"person_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"face_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"query","name":"storage_id","schema":{"type":"string"},"style":"form"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/URLSchema"}}},"description":"Returns the presigned URL"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"Face or face image not found"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Get a presigned URL for a face image"}},"/v1/face_recognition/persons/{person_id}/merge/{new_person_id}/":{"post":{"description":"\nRequired roles:\n - can_delete_person\n- can_edit_person\n- can_add_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"person_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"new_person_id","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"201":{"description":"Returns the definition of the created job of changing a person"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"Person not found"},"409":{"description":"Another action is in progress for this person"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Change an existing person to another person"}},"/v1/face_recognition/persons/{person_id}/reindex/":{"post":{"description":"\nRequired roles:\n - can_reindex_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"person_id","required":true,"schema":{"type":"string"},"style":"simple"},{"description":"Whether to sync person data to the Assets index. Defaults to true.","in":"query","name":"sync_assets","required":false,"schema":{"type":"boolean"},"style":"form"},{"description":"Whether to use low priority indexing. Defaults to false.","in":"query","name":"low_priority_indexing","required":false,"schema":{"type":"boolean"},"style":"form"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReindexPersonSchema"}}},"description":"body","required":false},"responses":{"202":{"description":"Person scheduled for reindexing"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"Person does not exist"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Reindex person"}},"/v1/face_recognition/persons/{person_id}/update_and_confirm/":{"post":{"description":"\nRequired roles:\n - can_delete_person\n- can_edit_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"person_id","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateConfirmPersonSchema"}}},"description":"body","required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonSchema"}}},"description":"Person updated and instances successfully scheduled for confirmation"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"404":{"description":"Person not found"},"409":{"description":"Another action is in progress for this person"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Updates person with name and confirms instances in bulk"}},"/v1/face_recognition/persons/{person_id}/versions/":{"get":{"description":"\nRequired roles:\n - can_read_person\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"person_id","required":true,"schema":{"type":"string"},"style":"simple"},{"description":"The number of items for each page","in":"query","name":"per_page","schema":{"format":"int32","type":"integer"},"style":"form"},{"description":"Which page number to fetch","in":"query","name":"page","schema":{"default":1,"minimum":1,"type":"integer"},"style":"form"},{"description":"Whether to include admin details in the response or not","in":"query","name":"include_admin_details","schema":{"default":true,"type":"boolean"},"style":"form"},{"description":"Whether to use the instance face as main face or not","in":"query","name":"use_instance_as_main_face","schema":{"default":true,"type":"boolean"},"style":"form"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonAssetsVersionsListSchema"}}},"description":"Returns a list of persons by asset and version"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"List all person_id instances across assets versions"}},"/v1/metadata_filling/assets/{asset_id}/versions/{version_id}/":{"post":{"description":"\nRequired roles:\n - can_trigger_metadata_ai_filling\n- can_write_metadata_values\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"asset_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"version_id","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataFillingSchema"}}},"description":"body","required":true},"responses":{"201":{"description":"Returns the job status and job ID"},"400":{"description":"Bad request, or none of the requested fields can be filled by AI"},"401":{"description":"Token is invalid"},"403":{"description":"AI metadata filling is not enabled for this domain, or is temporarily unavailable\n(METADATA_FILLING_ENABLED kill switch)\n"},"409":{"description":"Conflict, code is PROPOSAL_EXISTS (pending review) or JOB_IN_FLIGHT (lock held)"},"503":{"description":"The metadata filling queue is unavailable, the request may be retried"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Enqueue enriched metadata filling for a single asset version"}},"/v1/metadata_filling/assets/{asset_id}/versions/{version_id}/state/":{"get":{"description":"\nRequired roles:\n - can_trigger_metadata_ai_filling\n- can_write_metadata_values\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"asset_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"version_id","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"description":"can_trigger, state (AVAILABLE, IN_PROGRESS or PENDING_REVIEW),\nreason and job_id\n"},"401":{"description":"Token is invalid"},"503":{"description":"The lock state could not be read, the request may be retried"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Get whether the caller can trigger metadata filling for an asset version"}},"/v1/metadata_filling/bulk/":{"post":{"description":"\nRequired roles:\n - can_trigger_metadata_ai_filling\n- can_write_metadata_values\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkMetadataFillingSchema"}}},"description":"body","required":true},"responses":{"201":{"description":"Returns the job status and job ID"},"400":{"description":"Bad request, or none of the requested fields can be filled by AI"},"401":{"description":"Token is invalid"},"403":{"description":"AI metadata filling is not enabled for this domain, or is temporarily unavailable\n(METADATA_FILLING_ENABLED kill switch)\n"},"404":{"description":"Metadata view doesn't exist"},"502":{"description":"The metadata view could not be read, the request may be retried"},"503":{"description":"The metadata filling queue is unavailable, the request may be retried"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Run bulk AI metadata filling"}},"/v1/metadata_filling/playground/runs/{run_id}/":{"get":{"description":"\nRequired roles:\n - can_write_metadata_views\n- can_write_metadata_fields\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"run_id","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataFillingPlaygroundRunSchema"}}},"description":"The run has finished or failed; field_values is in the proposal shape"},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataFillingPlaygroundRunSchema"}}},"description":"The run is still queued or running, poll again"},"401":{"description":"Token is invalid"},"403":{"description":"The run belongs to another user"},"404":{"description":"The playground is not available, or the run is unknown or has expired"},"503":{"description":"The playground is temporarily unavailable, the request may be retried"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Fetch the status and generated values of an AI metadata playground run"}},"/v1/metadata_filling/playground/views/{view_id}/assets/{asset_id}/":{"post":{"description":"\nRequired roles:\n - can_write_metadata_views\n- can_write_metadata_fields\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"view_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"asset_id","required":true,"schema":{"type":"string"},"style":"simple"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataFillingPlaygroundSchema"}}},"description":"body","required":false},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataFillingPlaygroundRunSchema"}}},"description":"The run is queued; poll it with its run_id. Nothing is saved on the asset and no AI\nCredits are used. fields_remaining is what is left of the user's field budget.\n"},"400":{"description":"Bad request"},"401":{"description":"Token is invalid"},"403":{"description":"AI metadata filling is not enabled for this domain, or is temporarily unavailable\n"},"404":{"description":"The playground is not available, or the metadata view or asset does not exist\n"},"409":{"description":"A playground run is already in progress for the user (run_id in the body), or the view\nis pinned to another asset (asset_id and retry_after in the body)\n"},"429":{"description":"The user's playground field budget is exhausted (retry_after in the body)"},"502":{"description":"The metadata view or asset could not be read, the request may be retried"},"503":{"description":"The playground is temporarily unavailable, the request may be retried"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Run the AI metadata playground for one asset of a metadata view"}},"/v1/metadata_filling/proposals/assets/{asset_id}/versions/{version_id}/":{"get":{"description":"\nRequired roles:\n - can_read_metadata_values\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"User-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"asset_id","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"version_id","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"description":"The caller's PENDING_USER proposal for the (asset, version)"},"401":{"description":"Token is invalid"},"404":{"description":"No pending proposal owned by the caller for this (asset, version)"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Fetch the caller's PENDING_USER LLM proposal for an asset version"}},"/v1/metadata_filling/proposals/{job_id}/":{"get":{"description":"\nRequired roles:\n - can_read_metadata_values\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"job_id","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"description":"The stored proposal"},"401":{"description":"Token is invalid"},"403":{"description":"Caller does not own this proposal and is not an admin"},"404":{"description":"No proposal found for this job_id"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Fetch the LLM-generated metadata proposal for a completed sub-job"}},"/v1/metadata_filling/proposals/{job_id}/accept/":{"post":{"description":"\nRequired roles:\n - can_write_metadata_values\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"User-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"job_id","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"description":"Returns the updated proposal"},"401":{"description":"Token is invalid"},"403":{"description":"Caller does not own this proposal"},"404":{"description":"Proposal not found"},"409":{"description":"Proposal is no longer pending review, or its job is being bulk reviewed"},"502":{"description":"The job could not be updated, the request may be retried"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Accept an AI metadata-filling proposal"}},"/v1/metadata_filling/proposals/{job_id}/discard/":{"post":{"description":"\nRequired roles:\n - can_write_metadata_values\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"User-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"job_id","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"200":{"description":"Returns the updated proposal"},"401":{"description":"Token is invalid"},"403":{"description":"Caller does not own this proposal"},"404":{"description":"Proposal not found"},"409":{"description":"Proposal is no longer pending review, or its job is being bulk reviewed"},"502":{"description":"The job could not be updated, the request may be retried"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Discard an AI metadata-filling proposal"}},"/v1/metadata_filling/proposals/{job_id}/regenerate/":{"post":{"description":"\nRequired roles:\n - can_write_metadata_values\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"User-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"job_id","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"201":{"description":"Returns the fresh job_id (status WAITING)"},"400":{"description":"None of the proposal's fields can be filled by AI"},"401":{"description":"Token is invalid"},"403":{"description":"Caller does not own this proposal, or AI metadata filling is not enabled for this\ndomain or is temporarily unavailable (METADATA_FILLING_ENABLED kill switch)\n"},"404":{"description":"Proposal not found"},"409":{"description":"Proposal is no longer pending review, its job is being bulk reviewed, or\nanother job is already in flight for this asset version\n"},"502":{"description":"The job could not be read or updated, the request may be retried"},"503":{"description":"The metadata filling queue is unavailable, the request may be retried"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Regenerate an AI metadata-filling proposal"}},"/v1/metadata_filling/proposals/{parent_job_id}/bulk/accept/":{"post":{"description":"<br/>Each proposal's values are written to the asset through the job's metadata view before<br/>the proposal is accepted. Only the user who triggered the job may run this. A regenerated<br/>proposal belongs to a new standalone job and is not part of this review.<br/>Each proposal's values are written to the asset through the job's metadata view before<br/>the proposal is accepted. Only the user who triggered the job may run this. A regenerated<br/>proposal belongs to a new standalone job and is not part of this review.\nRequired roles:\n - can_write_metadata_values\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"User-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"parent_job_id","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"202":{"description":"The proposals will be accepted in the background"},"400":{"description":"Not a metadata filling job, no children, or no children pending review"},"401":{"description":"Token is invalid"},"403":{"description":"AI metadata filling is not enabled, or the caller did not trigger the job"},"404":{"description":"Parent job not found"},"409":{"description":"The job is still running, or a bulk review of its proposals is in progress"},"502":{"description":"The parent job or its children could not be read or paged"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Accept every pending AI metadata-filling proposal under a bulk job"}},"/v1/metadata_filling/proposals/{parent_job_id}/bulk/discard/":{"post":{"description":"<br/>Only the user who triggered the job may run this. A regenerated proposal belongs to a<br/>new standalone job and is not part of this review.<br/>Only the user who triggered the job may run this. A regenerated proposal belongs to a<br/>new standalone job and is not part of this review.\nRequired roles:\n - can_write_metadata_values\n","parameters":[{"in":"header","name":"App-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"Auth-Token","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"header","name":"User-ID","required":true,"schema":{"type":"string"},"style":"simple"},{"in":"path","name":"parent_job_id","required":true,"schema":{"type":"string"},"style":"simple"}],"responses":{"202":{"description":"The proposals will be discarded in the background"},"400":{"description":"Not a metadata filling job, no children, or no children pending review"},"401":{"description":"Token is invalid"},"403":{"description":"AI metadata filling is not enabled, or the caller did not trigger the job"},"404":{"description":"Parent job not found"},"409":{"description":"The job is still running, or a bulk review of its proposals is in progress"},"502":{"description":"The parent job or its children could not be read or paged"},"default":{"content":{"application/json":{"examples":{"multiple":{"summary":"Example multiple messages.","value":{"errors":{"field1":"Error message for field1","field2":"Error message for field2"}}},"single":{"summary":"Example single message.","value":{"errors":["Example error message."]}}},"schema":{"oneOf":[{"properties":{"errors":{"items":{"type":"string"},"type":"array"}},"type":"object"},{"properties":{"errors":{"type":"object"}},"type":"object"}]}}},"description":"Error response"}},"summary":"Discard every pending AI metadata-filling proposal under a bulk job"}}},"servers":[{"url":"/API/ml/"}]}
