# User

## GET /user

> Get user data for a user id

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/user":{"get":{"tags":["user"],"summary":"Get user data for a user id","operationId":"get_user_route_user_get","parameters":[{"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_get_user_route_user_get"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/UserMetadataDTO"},{"type":"null"}],"title":"Response Get User Route User Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_get_user_route_user_get":{"properties":{"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","title":"Body_get_user_route_user_get"},"UserMetadataDTO":{"properties":{"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"onboarding_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Onboarding Status"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"last_accessed":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Accessed"},"occupation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Occupation"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"referral_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referral Source"},"phone_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone Number"},"used_desktop_app":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Used Desktop App"},"client_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Client Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"is_shade_admin":{"type":"boolean","title":"Is Shade Admin"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"total_roots":{"type":"integer","title":"Total Roots"},"plan_status":{"$ref":"#/components/schemas/UserPlanStatus"},"plan":{"$ref":"#/components/schemas/UserPlan"},"asset_limit":{"type":"integer","title":"Asset Limit"},"total_indexed":{"type":"integer","title":"Total Indexed"},"total_storage":{"type":"integer","title":"Total Storage"}},"type":"object","required":["id","is_shade_admin","created_at","total_roots","plan_status","plan","asset_limit","total_indexed","total_storage"],"title":"UserMetadataDTO"},"UserPlanStatus":{"type":"string","enum":["incomplete","incomplete_expired","trialing","active","past_due","canceled","unpaid","guest"],"title":"UserPlanStatus"},"UserPlan":{"type":"string","enum":["free","guest","pro","pro-life"],"title":"UserPlan"},"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"}}}}
```

## PUT /user

> Modify user data

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/user":{"put":{"tags":["user"],"summary":"Modify user data","operationId":"modify_user_user_put","parameters":[{"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_modify_user_user_put"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserMetadataDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_modify_user_user_put":{"properties":{"user":{"$ref":"#/components/schemas/UpdatableUserMetadataDTO","title":"Updated user","description":"The updated user object"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["user"],"title":"Body_modify_user_user_put"},"UpdatableUserMetadataDTO":{"properties":{"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"onboarding_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Onboarding Status"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"last_accessed":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Accessed"},"occupation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Occupation"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"referral_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referral Source"},"phone_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone Number"},"used_desktop_app":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Used Desktop App"},"client_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Client Metadata"}},"type":"object","title":"UpdatableUserMetadataDTO"},"UserMetadataDTO":{"properties":{"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"onboarding_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Onboarding Status"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"last_accessed":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Accessed"},"occupation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Occupation"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"referral_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referral Source"},"phone_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone Number"},"used_desktop_app":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Used Desktop App"},"client_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Client Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"is_shade_admin":{"type":"boolean","title":"Is Shade Admin"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"total_roots":{"type":"integer","title":"Total Roots"},"plan_status":{"$ref":"#/components/schemas/UserPlanStatus"},"plan":{"$ref":"#/components/schemas/UserPlan"},"asset_limit":{"type":"integer","title":"Asset Limit"},"total_indexed":{"type":"integer","title":"Total Indexed"},"total_storage":{"type":"integer","title":"Total Storage"}},"type":"object","required":["id","is_shade_admin","created_at","total_roots","plan_status","plan","asset_limit","total_indexed","total_storage"],"title":"UserMetadataDTO"},"UserPlanStatus":{"type":"string","enum":["incomplete","incomplete_expired","trialing","active","past_due","canceled","unpaid","guest"],"title":"UserPlanStatus"},"UserPlan":{"type":"string","enum":["free","guest","pro","pro-life"],"title":"UserPlan"},"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"}}}}
```

## POST /user/profile/avatar/upload-url

> Create an avatar for a user

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/user/profile/avatar/upload-url":{"post":{"tags":["user"],"summary":"Create an avatar for a user","operationId":"user_create_avatar_upload_url_user_profile_avatar_upload_url_post","parameters":[{"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_user_create_avatar_upload_url_user_profile_avatar_upload_url_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response User Create Avatar Upload Url User Profile Avatar Upload Url Post"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_user_create_avatar_upload_url_user_profile_avatar_upload_url_post":{"properties":{"extension":{"type":"string","enum":["png","jpg","jpeg"],"title":"Extension","description":"The extension type of the avatar"},"size":{"title":"Size","description":"Size of the avatar"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["extension","size"],"title":"Body_user_create_avatar_upload_url_user_profile_avatar_upload_url_post"},"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"}}}}
```

## POST /user/profile/avatar/complete

> Confirm uploading an avatar for a user

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/user/profile/avatar/complete":{"post":{"tags":["user"],"summary":"Confirm uploading an avatar for a user","operationId":"user_complete_avatar_user_profile_avatar_complete_post","parameters":[{"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_user_complete_avatar_user_profile_avatar_complete_post"}}}},"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_user_complete_avatar_user_profile_avatar_complete_post":{"properties":{"download_url":{"title":"Download url","description":"The download url"},"body":{"additionalProperties":true,"type":"object","title":"Body","default":{}}},"type":"object","required":["download_url"],"title":"Body_user_complete_avatar_user_profile_avatar_complete_post"},"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"}}}}
```

## POST /user/share

> Create user for share to perform actions with

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/user/share":{"post":{"tags":["user"],"summary":"Create user for share to perform actions with","operationId":"create_share_user_user_share_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_create_share_user_user_share_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserMetadataDTO"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_create_share_user_user_share_post":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the user"},"email":{"type":"string","title":"Email","description":"The email of the user"}},"type":"object","required":["name","email"],"title":"Body_create_share_user_user_share_post"},"UserMetadataDTO":{"properties":{"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"onboarding_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Onboarding Status"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"last_accessed":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Accessed"},"occupation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Occupation"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"referral_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referral Source"},"phone_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone Number"},"used_desktop_app":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Used Desktop App"},"client_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Client Metadata"},"id":{"type":"string","format":"uuid","title":"Id"},"is_shade_admin":{"type":"boolean","title":"Is Shade Admin"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"total_roots":{"type":"integer","title":"Total Roots"},"plan_status":{"$ref":"#/components/schemas/UserPlanStatus"},"plan":{"$ref":"#/components/schemas/UserPlan"},"asset_limit":{"type":"integer","title":"Asset Limit"},"total_indexed":{"type":"integer","title":"Total Indexed"},"total_storage":{"type":"integer","title":"Total Storage"}},"type":"object","required":["id","is_shade_admin","created_at","total_roots","plan_status","plan","asset_limit","total_indexed","total_storage"],"title":"UserMetadataDTO"},"UserPlanStatus":{"type":"string","enum":["incomplete","incomplete_expired","trialing","active","past_due","canceled","unpaid","guest"],"title":"UserPlanStatus"},"UserPlan":{"type":"string","enum":["free","guest","pro","pro-life"],"title":"UserPlan"},"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 /user/auth-token

> Generate custom token for user auth

```json
{"openapi":"3.1.0","info":{"title":"shade","version":"dev"},"paths":{"/user/auth-token":{"get":{"tags":["user"],"summary":"Generate custom token for user auth","operationId":"auth_token_user_auth_token_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Response Auth Token User Auth Token Get"}}}},"404":{"description":"Not found"}}}}}}
```
