# Projects

## List projects for current user

> List all projects that the current user has access to.

```json
{"openapi":"3.0.1","info":{"title":"Unturned.AI.API","version":"1.0.0"},"tags":[{"name":"Projects"}],"servers":[{"url":"http://localhost:8000","description":"Develop Env"}],"security":[{"测试用  Bearer Token":[]}],"components":{"securitySchemes":{"测试用  Bearer Token":{"scheme":"bearer","type":"http"}},"schemas":{"PaginatedResponse_ProjectResponse_":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/PaginatedData_ProjectResponse_"},"error":{"anyOf":[{"additionalProperties":true,"type":"object","properties":{}},{"type":"null"}],"title":"Error"}},"type":"object","required":["data"],"title":"PaginatedResponse[ProjectResponse]"},"PaginatedData_ProjectResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ProjectResponse"},"type":"array","title":"Items"},"pagination":{"$ref":"#/components/schemas/PaginationInfo"}},"type":"object","required":["items","pagination"],"title":"PaginatedData[ProjectResponse]"},"ProjectResponse":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name","description":"Project name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Project description"},"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["name","id","created_at","updated_at"],"title":"ProjectResponse","description":"Model for project response."},"PaginationInfo":{"properties":{"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"total":{"type":"integer","title":"Total"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["page","limit","total","pages"],"title":"PaginationInfo","description":"Pagination metadata."},"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"}}},"paths":{"/projects/":{"get":{"summary":"List projects for current user","deprecated":false,"description":"List all projects that the current user has access to.","operationId":"list_user_projects_projects__get","tags":["Projects","Projects"],"parameters":[{"name":"page","in":"query","description":"","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","description":"Max number of projects to return","required":false,"schema":{"type":"integer","minimum":1,"default":10,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_ProjectResponse_"}}},"headers":{}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"headers":{}}}}}}}
```

## Create a new project

> Create a new project and add the current user as an admin.

```json
{"openapi":"3.0.1","info":{"title":"Unturned.AI.API","version":"1.0.0"},"tags":[{"name":"Projects"}],"servers":[{"url":"http://localhost:8000","description":"Develop Env"}],"security":[{"测试用  Bearer Token":[]}],"components":{"securitySchemes":{"测试用  Bearer Token":{"scheme":"bearer","type":"http"}},"schemas":{"ProjectCreateRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name","description":"Project name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Project description"}},"type":"object","required":["name"],"title":"ProjectCreate","description":"Model for creating a new project."},"SuccessResponse_ProjectResponse_":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ProjectResponse"},"error":{"anyOf":[{"additionalProperties":true,"type":"object","properties":{}},{"type":"null"}],"title":"Error"}},"type":"object","required":["data"],"title":"SuccessResponse[ProjectResponse]"},"ProjectResponse":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name","description":"Project name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Project description"},"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["name","id","created_at","updated_at"],"title":"ProjectResponse","description":"Model for project response."},"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"}}},"paths":{"/projects/":{"post":{"summary":"Create a new project","deprecated":false,"description":"Create a new project and add the current user as an admin.","operationId":"create_new_project_projects__post","tags":["Projects","Projects"],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_ProjectResponse_"}}},"headers":{}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"headers":{}}}}}}}
```

## Get project details

> Get detailed project information including members.

```json
{"openapi":"3.0.1","info":{"title":"Unturned.AI.API","version":"1.0.0"},"tags":[{"name":"Projects"}],"servers":[{"url":"http://localhost:8000","description":"Develop Env"}],"security":[{"测试用  Bearer Token":[]}],"components":{"securitySchemes":{"测试用  Bearer Token":{"scheme":"bearer","type":"http"}},"schemas":{"SuccessResponse_ProjectDetailResponse_":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ProjectDetailResponse"},"error":{"anyOf":[{"additionalProperties":true,"type":"object","properties":{}},{"type":"null"}],"title":"Error"}},"type":"object","required":["data"],"title":"SuccessResponse[ProjectDetailResponse]"},"ProjectDetailResponse":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name","description":"Project name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Project description"},"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"members":{"items":{"$ref":"#/components/schemas/ProjectMember"},"type":"array","title":"Members","default":[]}},"type":"object","required":["name","id","created_at","updated_at"],"title":"ProjectDetailResponse","description":"Model for detailed project response including members."},"ProjectMember":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"email":{"type":"string","title":"Email"},"full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Name"},"role":{"type":"string","title":"Role"}},"type":"object","required":["user_id","email","role"],"title":"ProjectMember","description":"Model for project member."},"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"}}},"paths":{"/projects/{project_id}":{"get":{"summary":"Get project details","deprecated":false,"description":"Get detailed project information including members.","operationId":"get_project_details_projects__project_id__get","tags":["Projects","Projects"],"parameters":[{"name":"project_id","in":"path","description":"","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_ProjectDetailResponse_"}}},"headers":{}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"headers":{}}}}}}}
```

## Update project details

> Update project details (requires admin role).

```json
{"openapi":"3.0.1","info":{"title":"Unturned.AI.API","version":"1.0.0"},"tags":[{"name":"Projects"}],"servers":[{"url":"http://localhost:8000","description":"Develop Env"}],"security":[{"测试用  Bearer Token":[]}],"components":{"securitySchemes":{"测试用  Bearer Token":{"scheme":"bearer","type":"http"}},"schemas":{"ProjectUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name","description":"Project name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Project description"}},"type":"object","title":"ProjectUpdate","description":"Model for updating a project."},"SuccessResponse_ProjectResponse_":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"$ref":"#/components/schemas/ProjectResponse"},"error":{"anyOf":[{"additionalProperties":true,"type":"object","properties":{}},{"type":"null"}],"title":"Error"}},"type":"object","required":["data"],"title":"SuccessResponse[ProjectResponse]"},"ProjectResponse":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name","description":"Project name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Project description"},"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["name","id","created_at","updated_at"],"title":"ProjectResponse","description":"Model for project response."},"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"}}},"paths":{"/projects/{project_id}":{"patch":{"summary":"Update project details","deprecated":false,"description":"Update project details (requires admin role).","operationId":"update_project_details_projects__project_id__patch","tags":["Projects","Projects"],"parameters":[{"name":"project_id","in":"path","description":"","required":true,"schema":{"type":"string","format":"uuid","description":"Project ID to operate on","title":"Project Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_ProjectResponse_"}}},"headers":{}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"headers":{}}}}}}}
```

## Add member to project

> Add a user to the project (requires admin role).

```json
{"openapi":"3.0.1","info":{"title":"Unturned.AI.API","version":"1.0.0"},"tags":[{"name":"Projects"}],"servers":[{"url":"http://localhost:8000","description":"Develop Env"}],"security":[{"测试用  Bearer Token":[]}],"components":{"securitySchemes":{"测试用  Bearer Token":{"scheme":"bearer","type":"http"}},"schemas":{"AddProjectMemberRequest":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id","description":"User ID to add to the project"},"role":{"$ref":"#/components/schemas/ProjectRole","description":"Role in the project (admin, editor, viewer)"}},"type":"object","required":["user_id","role"],"title":"AddProjectMemberRequest","description":"Model for adding a member to a project."},"ProjectRole":{"type":"string","enum":["admin","editor","viewer"],"title":"ProjectRole","description":"Enum for project roles."},"SuccessResponse_dict_":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data","properties":{}},"error":{"anyOf":[{"additionalProperties":true,"type":"object","properties":{}},{"type":"null"}],"title":"Error"}},"type":"object","required":["data"],"title":"SuccessResponse[dict]"},"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"}}},"paths":{"/projects/{project_id}/members":{"post":{"summary":"Add member to project","deprecated":false,"description":"Add a user to the project (requires admin role).","operationId":"add_member_to_project_projects__project_id__members_post","tags":["Projects","Projects"],"parameters":[{"name":"project_id","in":"path","description":"","required":true,"schema":{"type":"string","format":"uuid","description":"Project ID to operate on","title":"Project Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddProjectMemberRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_dict_"}}},"headers":{}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"headers":{}}}}}}}
```

## Remove member from project

> Remove a user from the project (requires admin role).

```json
{"openapi":"3.0.1","info":{"title":"Unturned.AI.API","version":"1.0.0"},"tags":[{"name":"Projects"}],"servers":[{"url":"http://localhost:8000","description":"Develop Env"}],"security":[{"测试用  Bearer Token":[]}],"components":{"securitySchemes":{"测试用  Bearer Token":{"scheme":"bearer","type":"http"}},"schemas":{"SuccessResponse_dict_":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data","properties":{}},"error":{"anyOf":[{"additionalProperties":true,"type":"object","properties":{}},{"type":"null"}],"title":"Error"}},"type":"object","required":["data"],"title":"SuccessResponse[dict]"},"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"}}},"paths":{"/projects/{project_id}/members/{user_id}":{"delete":{"summary":"Remove member from project","deprecated":false,"description":"Remove a user from the project (requires admin role).","operationId":"remove_member_from_project_projects__project_id__members__user_id__delete","tags":["Projects","Projects"],"parameters":[{"name":"user_id","in":"path","description":"","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}},{"name":"project_id","in":"path","description":"","required":true,"schema":{"type":"string","format":"uuid","description":"Project ID to operate on","title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_dict_"}}},"headers":{}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"headers":{}}}}}}}
```

## Update member role

> Update a member's role in the project (requires admin role).

```json
{"openapi":"3.0.1","info":{"title":"Unturned.AI.API","version":"1.0.0"},"tags":[{"name":"Projects"}],"servers":[{"url":"http://localhost:8000","description":"Develop Env"}],"security":[{"测试用  Bearer Token":[]}],"components":{"securitySchemes":{"测试用  Bearer Token":{"scheme":"bearer","type":"http"}},"schemas":{"UpdateProjectMemberRequest":{"properties":{"role":{"$ref":"#/components/schemas/ProjectRole","description":"Role in the project (admin, editor, viewer)"}},"type":"object","required":["role"],"title":"UpdateProjectMemberRequest","description":"Model for updating a member's role in a project."},"ProjectRole":{"type":"string","enum":["admin","editor","viewer"],"title":"ProjectRole","description":"Enum for project roles."},"SuccessResponse_dict_":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"additionalProperties":true,"type":"object","title":"Data","properties":{}},"error":{"anyOf":[{"additionalProperties":true,"type":"object","properties":{}},{"type":"null"}],"title":"Error"}},"type":"object","required":["data"],"title":"SuccessResponse[dict]"},"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"}}},"paths":{"/projects/{project_id}/members/{user_id}":{"patch":{"summary":"Update member role","deprecated":false,"description":"Update a member's role in the project (requires admin role).","operationId":"update_member_role_projects__project_id__members__user_id__patch","tags":["Projects","Projects"],"parameters":[{"name":"user_id","in":"path","description":"","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}},{"name":"project_id","in":"path","description":"","required":true,"schema":{"type":"string","format":"uuid","description":"Project ID to operate on","title":"Project Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectMemberRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_dict_"}}},"headers":{}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"headers":{}}}}}}}
```


---

# 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://docs.unturned.ai/references/projects.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.
