> For the complete documentation index, see [llms.txt](https://developer.jylo.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.jylo.ai/api-reference/projects/projects.md).

# Projects

## Get all projects.

> Retrieves a paginated list of projects, optionally filtered by search text and sorted, scoped either to the caller's projects or the whole organization.

```json
{"openapi":"3.0.4","info":{"title":"Project API","version":"v1"},"servers":[{"url":"https://api.{tenant}.{region}.jylo.ai","variables":{"tenant":{"default":"example","description":"Tenant name"},"region":{"default":"uk","description":"Region","enum":["uk","us","eu","au","jp"]}}}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"Bearer authentication with JWT","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Jylo.Toolkit.Sorting.ItemSorting":{"enum":["dateAdded","name","description","isDirectory","playbookName","projectName","extension","size","pageCount","isAdminACL","documentsCount","totalFileSizeBytes","promptCount","estimatedTokenCount","latestMessageDate","flowsCount","orgWide","flowCredits","assistantsCount","assistantCredits","pages","fileCreditsCost","ocrCreditsCost","layoutCreditsCost","totalCredits","loginsCount","lastLoginDate","playbookDescription","ocrPageCount","layoutPageCount","userMessageCount","assistantMessageCount","totalMessageCount","resourceOwner"],"type":"string"},"Jylo.Toolkit.Sorting.ItemFiltering":{"enum":["equals","contains","doesNotContain","doesNotEqual","greaterThanOrEqualTo","lessThanOrEqualTo","greaterThan","lessThan"],"type":"string"},"PaginationListModel.ProjectReadModel":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectReadModel"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Models.Projects.ProjectReadModel":{"required":["dateAdded","description","name","objectIdentifier","resourceOwner"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"metadataValues":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"},"nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"isPersonal":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel":{"required":["metadata","objectIdentifier"],"type":"object","properties":{"isYes":{"type":"boolean","nullable":true},"text":{"type":"string","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"date":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"singleCategoryIdentifier":{"type":"string","format":"uuid","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"metadata":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel":{"required":["dataType","description","isRequired","name","objectIdentifier"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"dataType":{"type":"string","nullable":true},"isRequired":{"type":"boolean"},"options":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"},"nullable":true},"objectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel":{"required":["name","objectIdentifier"],"type":"object","properties":{"name":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.OrganizationMemberModel":{"required":["id","name"],"type":"object","properties":{"email":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true}},"additionalProperties":false},"Microsoft.AspNetCore.Mvc.ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}}}},"paths":{"/projects":{"get":{"tags":["Projects"],"summary":"Get all projects.","description":"Retrieves a paginated list of projects, optionally filtered by search text and sorted, scoped either to the caller's projects or the whole organization.","parameters":[{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"searchText","in":"query","schema":{"type":"string"}},{"name":"scope","in":"query","schema":{"type":"string","default":"member"}},{"name":"sorting","in":"query","schema":{"type":"string","default":"dateAdded"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"filterColumn","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"filterOperation","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemFiltering"}},{"name":"filterSearchTerm","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationListModel.ProjectReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationListModel.ProjectReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationListModel.ProjectReadModel"}}}},"400":{"description":"Bad Request","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"401":{"description":"Unauthorized","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## Create a new project.

> Creates a new project in the caller's organization using the supplied name, description and metadata, and returns the created project.

```json
{"openapi":"3.0.4","info":{"title":"Project API","version":"v1"},"servers":[{"url":"https://api.{tenant}.{region}.jylo.ai","variables":{"tenant":{"default":"example","description":"Tenant name"},"region":{"default":"uk","description":"Region","enum":["uk","us","eu","au","jp"]}}}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"Bearer authentication with JWT","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Jylo.Projects.Models.Projects.ProjectWriteModel":{"required":["description","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.MultiTypeInputWriteModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.MultiTypeInputWriteModel":{"type":"object","properties":{"isYes":{"type":"boolean","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"text":{"type":"string","nullable":true},"date":{"type":"string","format":"date-time","nullable":true},"singleCategoryIdentifier":{"type":"string","format":"uuid","nullable":true},"categories":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"organizationMetadataIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Projects.Models.Projects.ProjectReadModel":{"required":["dateAdded","description","name","objectIdentifier","resourceOwner"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"metadataValues":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"},"nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"isPersonal":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel":{"required":["metadata","objectIdentifier"],"type":"object","properties":{"isYes":{"type":"boolean","nullable":true},"text":{"type":"string","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"date":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"singleCategoryIdentifier":{"type":"string","format":"uuid","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"metadata":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel":{"required":["dataType","description","isRequired","name","objectIdentifier"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"dataType":{"type":"string","nullable":true},"isRequired":{"type":"boolean"},"options":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"},"nullable":true},"objectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel":{"required":["name","objectIdentifier"],"type":"object","properties":{"name":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.OrganizationMemberModel":{"required":["id","name"],"type":"object","properties":{"email":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true}},"additionalProperties":false},"Microsoft.AspNetCore.Mvc.ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}}}},"paths":{"/projects":{"post":{"tags":["Projects"],"summary":"Create a new project.","description":"Creates a new project in the caller's organization using the supplied name, description and metadata, and returns the created project.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectReadModel"}}}},"400":{"description":"Bad Request","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"401":{"description":"Unauthorized","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## Get a project by identifier.

> Retrieves a single project's details by its GUID, returned as a ProjectReadModel.

```json
{"openapi":"3.0.4","info":{"title":"Project API","version":"v1"},"servers":[{"url":"https://api.{tenant}.{region}.jylo.ai","variables":{"tenant":{"default":"example","description":"Tenant name"},"region":{"default":"uk","description":"Region","enum":["uk","us","eu","au","jp"]}}}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"Bearer authentication with JWT","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Jylo.Projects.Models.Projects.ProjectReadModel":{"required":["dateAdded","description","name","objectIdentifier","resourceOwner"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"metadataValues":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"},"nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"isPersonal":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel":{"required":["metadata","objectIdentifier"],"type":"object","properties":{"isYes":{"type":"boolean","nullable":true},"text":{"type":"string","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"date":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"singleCategoryIdentifier":{"type":"string","format":"uuid","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"metadata":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel":{"required":["dataType","description","isRequired","name","objectIdentifier"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"dataType":{"type":"string","nullable":true},"isRequired":{"type":"boolean"},"options":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"},"nullable":true},"objectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel":{"required":["name","objectIdentifier"],"type":"object","properties":{"name":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.OrganizationMemberModel":{"required":["id","name"],"type":"object","properties":{"email":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true}},"additionalProperties":false},"Microsoft.AspNetCore.Mvc.ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}}}},"paths":{"/projects/{projectIdentifier}":{"get":{"tags":["Projects"],"summary":"Get a project by identifier.","description":"Retrieves a single project's details by its GUID, returned as a ProjectReadModel.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectReadModel"}}}},"403":{"description":"Forbidden","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## Update a project.

> Updates the project identified by the route GUID with the supplied values and returns the updated ProjectReadModel.

```json
{"openapi":"3.0.4","info":{"title":"Project API","version":"v1"},"servers":[{"url":"https://api.{tenant}.{region}.jylo.ai","variables":{"tenant":{"default":"example","description":"Tenant name"},"region":{"default":"uk","description":"Region","enum":["uk","us","eu","au","jp"]}}}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"Bearer authentication with JWT","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Jylo.Projects.Models.Projects.ProjectWriteModel":{"required":["description","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.MultiTypeInputWriteModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.MultiTypeInputWriteModel":{"type":"object","properties":{"isYes":{"type":"boolean","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"text":{"type":"string","nullable":true},"date":{"type":"string","format":"date-time","nullable":true},"singleCategoryIdentifier":{"type":"string","format":"uuid","nullable":true},"categories":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"organizationMetadataIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Projects.Models.Projects.ProjectReadModel":{"required":["dateAdded","description","name","objectIdentifier","resourceOwner"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"metadataValues":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"},"nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"isPersonal":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel":{"required":["metadata","objectIdentifier"],"type":"object","properties":{"isYes":{"type":"boolean","nullable":true},"text":{"type":"string","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"date":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"singleCategoryIdentifier":{"type":"string","format":"uuid","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"metadata":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel":{"required":["dataType","description","isRequired","name","objectIdentifier"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"dataType":{"type":"string","nullable":true},"isRequired":{"type":"boolean"},"options":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"},"nullable":true},"objectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel":{"required":["name","objectIdentifier"],"type":"object","properties":{"name":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.OrganizationMemberModel":{"required":["id","name"],"type":"object","properties":{"email":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true}},"additionalProperties":false},"Microsoft.AspNetCore.Mvc.ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}}}},"paths":{"/projects/{projectIdentifier}":{"put":{"tags":["Projects"],"summary":"Update a project.","description":"Updates the project identified by the route GUID with the supplied values and returns the updated ProjectReadModel.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectReadModel"}}}},"400":{"description":"Bad Request","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## Delete a project.

> Permanently deletes the project identified by the route GUID. For external workspace administrators removing an unwanted project. Personal projects cannot be deleted.

```json
{"openapi":"3.0.4","info":{"title":"Project API","version":"v1"},"servers":[{"url":"https://api.{tenant}.{region}.jylo.ai","variables":{"tenant":{"default":"example","description":"Tenant name"},"region":{"default":"uk","description":"Region","enum":["uk","us","eu","au","jp"]}}}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"Bearer authentication with JWT","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Microsoft.AspNetCore.Mvc.ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}}}},"paths":{"/projects/{projectIdentifier}":{"delete":{"tags":["Projects"],"summary":"Delete a project.","description":"Permanently deletes the project identified by the route GUID. For external workspace administrators removing an unwanted project. Personal projects cannot be deleted.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## Get the current user's personal project.

> Retrieves the authenticated user's personal project as a ProjectReadModel. Returns 403 when personal workspaces are not enabled.

```json
{"openapi":"3.0.4","info":{"title":"Project API","version":"v1"},"servers":[{"url":"https://api.{tenant}.{region}.jylo.ai","variables":{"tenant":{"default":"example","description":"Tenant name"},"region":{"default":"uk","description":"Region","enum":["uk","us","eu","au","jp"]}}}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"Bearer authentication with JWT","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Jylo.Projects.Models.Projects.ProjectReadModel":{"required":["dateAdded","description","name","objectIdentifier","resourceOwner"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"metadataValues":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"},"nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"isPersonal":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel":{"required":["metadata","objectIdentifier"],"type":"object","properties":{"isYes":{"type":"boolean","nullable":true},"text":{"type":"string","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"date":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"singleCategoryIdentifier":{"type":"string","format":"uuid","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"metadata":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel":{"required":["dataType","description","isRequired","name","objectIdentifier"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"dataType":{"type":"string","nullable":true},"isRequired":{"type":"boolean"},"options":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"},"nullable":true},"objectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel":{"required":["name","objectIdentifier"],"type":"object","properties":{"name":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.OrganizationMemberModel":{"required":["id","name"],"type":"object","properties":{"email":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true}},"additionalProperties":false},"Microsoft.AspNetCore.Mvc.ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}}}},"paths":{"/projects/my-personal-project":{"get":{"tags":["Projects"],"summary":"Get the current user's personal project.","description":"Retrieves the authenticated user's personal project as a ProjectReadModel. Returns 403 when personal workspaces are not enabled.","responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectReadModel"}}}},"403":{"description":"Forbidden","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```

## Get analytics for a project.

> Retrieves aggregated usage and activity analytics for the project, returned as a ProjectAnalyticsModel.

```json
{"openapi":"3.0.4","info":{"title":"Project API","version":"v1"},"servers":[{"url":"https://api.{tenant}.{region}.jylo.ai","variables":{"tenant":{"default":"example","description":"Tenant name"},"region":{"default":"uk","description":"Region","enum":["uk","us","eu","au","jp"]}}}],"security":[{"Bearer":[]}],"components":{"securitySchemes":{"Bearer":{"type":"http","description":"Bearer authentication with JWT","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"Jylo.Projects.Models.Projects.ProjectAnalyticsModel":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assistantCount":{"type":"integer","format":"int32"},"flowCount":{"type":"integer","format":"int32"},"teamCount":{"type":"integer","format":"int32"},"documentCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Microsoft.AspNetCore.Mvc.ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}}}},"paths":{"/projects/{projectIdentifier}/analytics":{"get":{"tags":["Projects"],"summary":"Get analytics for a project.","description":"Retrieves aggregated usage and activity analytics for the project, returned as a ProjectAnalyticsModel.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectAnalyticsModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectAnalyticsModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Projects.ProjectAnalyticsModel"}}}},"403":{"description":"Forbidden","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://developer.jylo.ai/api-reference/projects/projects.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
