# Individuals

## List all individuals

> Get a list of all significant individuals. Note: an individual is only sig and returned if it contains >=1 faces.

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/individuals":{"get":{"tags":["individuals"],"summary":"List all individuals","description":"Get a list of all significant individuals. Note: an individual is only sig and returned if it contains >=1 faces.","operationId":"read_individuals_individuals_get","parameters":[{"name":"drive_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive to get individuals for"},"description":"The id of the drive to get individuals for"},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Page number","description":"The page to query","default":0},"description":"The page to query"},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit per page","description":"The limit that is fetched per page","default":100},"description":"The limit that is fetched per page"},{"name":"labeled","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Labeled individuals","description":"If set, only labeled individuals will be returned"},"description":"If set, only labeled individuals will be returned"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_read_individuals_individuals_get"}}}},"responses":{"200":{"description":"A list of all individuals","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IndividualDTO"},"title":"Response Read Individuals Individuals Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_read_individuals_individuals_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_read_individuals_individuals_get"},"IndividualDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"labeled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Labeled"},"preview_face":{"anyOf":[{"$ref":"#/components/schemas/FaceDTO"},{"type":"null"}]},"preview_image":{"anyOf":[{"$ref":"#/components/schemas/PreviewDTO"},{"type":"null"}]}},"type":"object","required":["id","name"],"title":"IndividualDTO"},"FaceDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"bbox":{"additionalProperties":{"type":"integer"},"type":"object","title":"Bbox"},"face_preview":{"$ref":"#/components/schemas/PreviewDTO"},"individual_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Individual Id"}},"type":"object","required":["id","bbox","face_preview"],"title":"FaceDTO"},"PreviewDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"frame":{"type":"integer","title":"Frame"},"signed_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signed Url"}},"type":"object","required":["id","frame"],"title":"PreviewDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Get an individual

> Get an individual by id

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/individuals/{individual_id}":{"get":{"tags":["individuals"],"summary":"Get an individual","description":"Get an individual by id","operationId":"read_individual_individuals__individual_id__get","parameters":[{"name":"individual_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The individual id"}},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_read_individual_individuals__individual_id__get"}}}},"responses":{"200":{"description":"The individual","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndividualDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_read_individual_individuals__individual_id__get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_read_individual_individuals__individual_id__get"},"IndividualDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"labeled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Labeled"},"preview_face":{"anyOf":[{"$ref":"#/components/schemas/FaceDTO"},{"type":"null"}]},"preview_image":{"anyOf":[{"$ref":"#/components/schemas/PreviewDTO"},{"type":"null"}]}},"type":"object","required":["id","name"],"title":"IndividualDTO"},"FaceDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"bbox":{"additionalProperties":{"type":"integer"},"type":"object","title":"Bbox"},"face_preview":{"$ref":"#/components/schemas/PreviewDTO"},"individual_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Individual Id"}},"type":"object","required":["id","bbox","face_preview"],"title":"FaceDTO"},"PreviewDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"frame":{"type":"integer","title":"Frame"},"signed_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signed Url"}},"type":"object","required":["id","frame"],"title":"PreviewDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Update an individual

> Update an individual with a new name/label.

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/individuals/{individual_id}":{"put":{"tags":["individuals"],"summary":"Update an individual","description":"Update an individual with a new name/label.","operationId":"update_individual_individuals__individual_id__put","parameters":[{"name":"individual_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The individual id","description":"The id of the individual to be updated"},"description":"The id of the individual to be updated"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_individual_individuals__individual_id__put"}}}},"responses":{"200":{"description":"The updated individual","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndividualDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_update_individual_individuals__individual_id__put":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Individual label","description":"The new name/label for the individual"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_update_individual_individuals__individual_id__put"},"IndividualDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"labeled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Labeled"},"preview_face":{"anyOf":[{"$ref":"#/components/schemas/FaceDTO"},{"type":"null"}]},"preview_image":{"anyOf":[{"$ref":"#/components/schemas/PreviewDTO"},{"type":"null"}]}},"type":"object","required":["id","name"],"title":"IndividualDTO"},"FaceDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"bbox":{"additionalProperties":{"type":"integer"},"type":"object","title":"Bbox"},"face_preview":{"$ref":"#/components/schemas/PreviewDTO"},"individual_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Individual Id"}},"type":"object","required":["id","bbox","face_preview"],"title":"FaceDTO"},"PreviewDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"frame":{"type":"integer","title":"Frame"},"signed_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signed Url"}},"type":"object","required":["id","frame"],"title":"PreviewDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Hides the given individuals by id

> Hide individuals by their ids.

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/individuals/{drive_id}/individual/disable":{"put":{"tags":["individuals"],"summary":"Hides the given individuals by id","description":"Hide individuals by their ids.","operationId":"hide_individuals_individuals__drive_id__individual_disable_put","parameters":[{"name":"drive_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive to hide individuals in"},"description":"The id of the drive to hide individuals in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_hide_individuals_individuals__drive_id__individual_disable_put"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_hide_individuals_individuals__drive_id__individual_disable_put":{"properties":{"individual_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Individual IDs","description":"The ids of the individuals to hide"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["individual_ids"],"title":"Body_hide_individuals_individuals__drive_id__individual_disable_put"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Create an individual from faces

> Create an individual from a set of faces defined by the user.

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/individuals/{drive_id}/individual/create":{"post":{"tags":["individuals"],"summary":"Create an individual from faces","description":"Create an individual from a set of faces defined by the user.","operationId":"create_individual_from_faces_user_individuals__drive_id__individual_create_post","parameters":[{"name":"drive_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive to create the individual in"},"description":"The id of the drive to create the individual in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_create_individual_from_faces_user_individuals__drive_id__individual_create_post"}}}},"responses":{"200":{"description":"The new individual","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndividualDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_create_individual_from_faces_user_individuals__drive_id__individual_create_post":{"properties":{"face_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Face IDs","description":"The ids of the faces to create the individual from"},"individual_name":{"type":"string","title":"Individual name","description":"The name/label for the individual"},"old_individual_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Old Individual ID","description":"If provided, the individual that the faces are being taken from (must be a labeled individual)"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["face_ids","individual_name"],"title":"Body_create_individual_from_faces_user_individuals__drive_id__individual_create_post"},"IndividualDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"labeled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Labeled"},"preview_face":{"anyOf":[{"$ref":"#/components/schemas/FaceDTO"},{"type":"null"}]},"preview_image":{"anyOf":[{"$ref":"#/components/schemas/PreviewDTO"},{"type":"null"}]}},"type":"object","required":["id","name"],"title":"IndividualDTO"},"FaceDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"bbox":{"additionalProperties":{"type":"integer"},"type":"object","title":"Bbox"},"face_preview":{"$ref":"#/components/schemas/PreviewDTO"},"individual_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Individual Id"}},"type":"object","required":["id","bbox","face_preview"],"title":"FaceDTO"},"PreviewDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"frame":{"type":"integer","title":"Frame"},"signed_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signed Url"}},"type":"object","required":["id","frame"],"title":"PreviewDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Assign a face to another individual

> Assign face(s) to an individual.

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/individuals/{drive_id}/individual/assign":{"put":{"tags":["individuals"],"summary":"Assign a face to another individual","description":"Assign face(s) to an individual.","operationId":"assign_face_to_individual_user_individuals__drive_id__individual_assign_put","parameters":[{"name":"drive_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive to create the individual in"},"description":"The id of the drive to create the individual in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_assign_face_to_individual_user_individuals__drive_id__individual_assign_put"}}}},"responses":{"200":{"description":"The new individual","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndividualDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_assign_face_to_individual_user_individuals__drive_id__individual_assign_put":{"properties":{"face_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Face IDs","description":"The id of the faces to assign"},"individual_id":{"type":"string","format":"uuid","title":"Individual ID","description":"The id of the individual to assign the face to (must be a labeled individual)"},"old_individual_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Old Individual ID","description":"If provided, the individual that the faces are being taken from (must be a labeled individual)"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["face_ids","individual_id"],"title":"Body_assign_face_to_individual_user_individuals__drive_id__individual_assign_put"},"IndividualDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"labeled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Labeled"},"preview_face":{"anyOf":[{"$ref":"#/components/schemas/FaceDTO"},{"type":"null"}]},"preview_image":{"anyOf":[{"$ref":"#/components/schemas/PreviewDTO"},{"type":"null"}]}},"type":"object","required":["id","name"],"title":"IndividualDTO"},"FaceDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"bbox":{"additionalProperties":{"type":"integer"},"type":"object","title":"Bbox"},"face_preview":{"$ref":"#/components/schemas/PreviewDTO"},"individual_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Individual Id"}},"type":"object","required":["id","bbox","face_preview"],"title":"FaceDTO"},"PreviewDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"frame":{"type":"integer","title":"Frame"},"signed_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signed Url"}},"type":"object","required":["id","frame"],"title":"PreviewDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Merges individuals together into one

> Merge multiple individuals into one, combining their faces and setting a new name.

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/individuals/{drive_id}/individual/merge":{"put":{"tags":["individuals"],"summary":"Merges individuals together into one","description":"Merge multiple individuals into one, combining their faces and setting a new name.","operationId":"merge_faces_individuals__drive_id__individual_merge_put","parameters":[{"name":"drive_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive to get faces for"},"description":"The id of the drive to get faces for"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_merge_faces_individuals__drive_id__individual_merge_put"}}}},"responses":{"200":{"description":"The newly merged individual","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndividualDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_merge_faces_individuals__drive_id__individual_merge_put":{"properties":{"individual_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Individual IDs","description":"The ids of the individuals to merge"},"name":{"type":"string","title":"Name for combined individuals","description":"The new name given to the combined individuals"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["individual_ids","name"],"title":"Body_merge_faces_individuals__drive_id__individual_merge_put"},"IndividualDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"labeled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Labeled"},"preview_face":{"anyOf":[{"$ref":"#/components/schemas/FaceDTO"},{"type":"null"}]},"preview_image":{"anyOf":[{"$ref":"#/components/schemas/PreviewDTO"},{"type":"null"}]}},"type":"object","required":["id","name"],"title":"IndividualDTO"},"FaceDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"bbox":{"additionalProperties":{"type":"integer"},"type":"object","title":"Bbox"},"face_preview":{"$ref":"#/components/schemas/PreviewDTO"},"individual_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Individual Id"}},"type":"object","required":["id","bbox","face_preview"],"title":"FaceDTO"},"PreviewDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"frame":{"type":"integer","title":"Frame"},"signed_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signed Url"}},"type":"object","required":["id","frame"],"title":"PreviewDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## Delete faces from an individual

> Delete faces from an individual. NOTE: permanently deletes the faces from the DB.

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/individuals/{drive_id}/individual/faces":{"delete":{"tags":["individuals"],"summary":"Delete faces from an individual","description":"Delete faces from an individual. NOTE: permanently deletes the faces from the DB.","operationId":"delete_faces_from_individual_route_individuals__drive_id__individual_faces_delete","parameters":[{"name":"drive_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The drive id","description":"The id of the drive to create the individual in"},"description":"The id of the drive to create the individual in"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_delete_faces_from_individual_route_individuals__drive_id__individual_faces_delete"}}}},"responses":{"200":{"description":"The new individual","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndividualDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_delete_faces_from_individual_route_individuals__drive_id__individual_faces_delete":{"properties":{"face_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Face IDs","description":"The id of the faces to assign"},"individual_id":{"type":"string","format":"uuid","title":"Individual ID","description":"The id of the individual to delete the face from (must be a labeled individual)"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["face_ids","individual_id"],"title":"Body_delete_faces_from_individual_route_individuals__drive_id__individual_faces_delete"},"IndividualDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"labeled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Labeled"},"preview_face":{"anyOf":[{"$ref":"#/components/schemas/FaceDTO"},{"type":"null"}]},"preview_image":{"anyOf":[{"$ref":"#/components/schemas/PreviewDTO"},{"type":"null"}]}},"type":"object","required":["id","name"],"title":"IndividualDTO"},"FaceDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"bbox":{"additionalProperties":{"type":"integer"},"type":"object","title":"Bbox"},"face_preview":{"$ref":"#/components/schemas/PreviewDTO"},"individual_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Individual Id"}},"type":"object","required":["id","bbox","face_preview"],"title":"FaceDTO"},"PreviewDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"frame":{"type":"integer","title":"Frame"},"signed_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signed Url"}},"type":"object","required":["id","frame"],"title":"PreviewDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## List all faces for an individual

> Get a list of all faces for an individual by id.

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/individuals/{individual_id}/faces":{"get":{"tags":["individuals"],"summary":"List all faces for an individual","description":"Get a list of all faces for an individual by id.","operationId":"read_individual_faces_individuals__individual_id__faces_get","parameters":[{"name":"individual_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"The individual id","description":"The id of the individual to get faces for"},"description":"The id of the individual to get faces for"},{"name":"password","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The password","description":"The password header to use to fetch the preview"},"description":"The password header to use to fetch the preview"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_read_individual_faces_individuals__individual_id__faces_get"}}}},"responses":{"200":{"description":"A list of all faces for an individual","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FaceDTO"},"title":"Response Read Individual Faces Individuals  Individual Id  Faces Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_read_individual_faces_individuals__individual_id__faces_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_read_individual_faces_individuals__individual_id__faces_get"},"FaceDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"bbox":{"additionalProperties":{"type":"integer"},"type":"object","title":"Bbox"},"face_preview":{"$ref":"#/components/schemas/PreviewDTO"},"individual_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Individual Id"}},"type":"object","required":["id","bbox","face_preview"],"title":"FaceDTO"},"PreviewDTO":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"frame":{"type":"integer","title":"Frame"},"signed_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signed Url"}},"type":"object","required":["id","frame"],"title":"PreviewDTO"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://academy.shade.inc/developers/individuals.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
