# Welcome to Jylo!

The Jylo API provides a comprehensive set of endpoints for managing various aspects of the platform.&#x20;

It includes functionality for handling projects, flows, documents and more.

### Jump right in

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Authentication</strong></td><td>Secure your API access with robust authentication methods, ensuring authorised access to protect sensitive data from unauthorised use.</td><td><a href="/files/EwRuuxIMgMzOA1OhZeib">/files/EwRuuxIMgMzOA1OhZeib</a></td><td></td><td><a href="/pages/sKUWNtRzjcBdoHzYgVH7">/pages/sKUWNtRzjcBdoHzYgVH7</a></td></tr><tr><td><strong>API Reference</strong></td><td>Comprehensive guide to Jylo API endpoints, methods, and data formats. Quickly integrate, utilise, and optimize Jylo’s functionalities in your applications.</td><td><a href="/files/bNgYFkCgZmz3JN4iz1xt">/files/bNgYFkCgZmz3JN4iz1xt</a></td><td></td><td><a href="/pages/WHCI4g4Us6qOuoV9c43J">/pages/WHCI4g4Us6qOuoV9c43J</a></td></tr></tbody></table>


# Authentication


# OAuth2.0 - Client Credentials Grant

The client credentials grant flow is primarily used by applications to authenticate as themselves, rather than as a user. Here’s how you can achieve this:

1. **Register Your Application:** Before you can request an access token, ensure that you have registered your application, assigned the necessary permissions and obtained the necessary credentials such as a client ID and client secret.
2. **Request an Access Token:** To obtain an access token, send an HTTP POST request to the appropriate token endpoint for your region. Include the necessary credentials (client ID and secret) in your request. The audience value is `https://jga.jylo.ai/external/v2`.
3. **Handle the Access Token**: After a successful request, the token endpoint will return an access token. You should securely store this token and re-use it during it's lifetime (found in the `exp`claim) and use it to authenticate your application's requests to the API.

Token endpoints by region:

* UK: `https://login.uk.jylo.ai/oauth/token`
* EU: `https://login.eu.jylo.ai/oauth/token`
* US: `https://login.us.jylo.ai/oauth/token`

Ensure you follow security best practices, such as keeping client credentials secure and managing token expiration and renewal appropriately.

## Examples

#### cURL&#x20;

```
curl -X POST \
  https://YOUR_TOKEN_ENDPOINT \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&audience=https://jga.jylo.ai/external/v2'
```

In this example:

* Replace `YOUR_TOKEN_ENDPOINT` with one of the above appropiate endpoints for your region.
* Replace `YOUR_CLIENT_ID` with your application’s client ID.
* Replace `YOUR_CLIENT_SECRET` with your application’s client secret.


# Rate Limiting

#### Fixed Window Rate Limiting

In Jylo, a fixed window of 1 minute is applied, during which a client can make up to 100 requests. If a client exceeds these 100 requests within the minute, all subsequent requests will be denied with an HTTP 429 (Too Many Requests) status code for the remainder of the time window.

#### Client-Side Rate Limiting Tips

* **Implement Request Queuing:** Queue your requests and release them gradually to avoid breaching the rate limit.
* **Adaptive Request Timing:** Dynamically adjust the rate of requests based on server responses, ensuring requests are always below the threshold limit.
* **Exponential Backoff Strategy:** On receiving a 429 status code, increase the wait time gradually before retrying, to ease pressure on the server.


# API Reference


# Projects


# Assemblies

## List assemblies for a flow.

> Returns a paginated list of the assemblies (document templates) configured against a flow.

```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":{"PaginationList.AssemblyResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Assemblies.Contracts.Responses.AssemblyResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Services.Features.Assemblies.Contracts.Responses.AssemblyResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PlaybookAssemblyType"},"extension":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64"},"contentType":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"dateModified":{"type":"string","format":"date-time"},"flowGroupObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PlaybookAssemblyType":{"enum":["docxFlowWide","docxPerDocument","markdownFlowWide","markdownFlowDocument"],"type":"string"},"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}/flows/{flowObjectIdentifier}/assemblies":{"get":{"tags":["Assemblies"],"summary":"List assemblies for a flow.","description":"Returns a paginated list of the assemblies (document templates) configured against a flow.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationList.AssemblyResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationList.AssemblyResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationList.AssemblyResponse"}}}},"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 an assembly.

> Creates a new assembly (document template) within a flow from an uploaded file and metadata.

```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.Constants.PlaybookAssemblyType":{"enum":["docxFlowWide","docxPerDocument","markdownFlowWide","markdownFlowDocument"],"type":"string"},"Jylo.Projects.Services.Features.Assemblies.Contracts.Responses.AssemblyResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PlaybookAssemblyType"},"extension":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64"},"contentType":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"dateModified":{"type":"string","format":"date-time"},"flowGroupObjectIdentifier":{"type":"string","format":"uuid","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}/flows/{flowObjectIdentifier}/assemblies":{"post":{"tags":["Assemblies"],"summary":"Create an assembly.","description":"Creates a new assembly (document template) within a flow from an uploaded file and metadata.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["Name","Type"],"type":"object","properties":{"Name":{"type":"string"},"Description":{"type":"string"},"Type":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PlaybookAssemblyType"},"FlowGroupId":{"type":"string","format":"uuid"},"File":{"type":"string","format":"binary"}}},"encoding":{"Name":{"style":"form"},"Description":{"style":"form"},"Type":{"style":"form"},"FlowGroupId":{"style":"form"},"File":{"style":"form"}}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Assemblies.Contracts.Responses.AssemblyResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Assemblies.Contracts.Responses.AssemblyResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Assemblies.Contracts.Responses.AssemblyResponse"}}}},"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"}}}}}}}}}
```

## Generate a document from an assembly.

> Queues generation of a populated document from an assembly template and returns the identifier used to track and download the result.

```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.Flows.Assembly.ExportAssemblyRequest":{"type":"object","properties":{"flowDocumentCollectionObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"flowDocumentCollectionObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"groupViewStates":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Assembly.ExportAssemblyGroupViewState"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Models.Flows.Assembly.ExportAssemblyGroupViewState":{"type":"object","properties":{"flowGroupObjectIdentifier":{"type":"string","format":"uuid"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterItem"},"nullable":true},"tagFilters":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.TagFilterItem"},"nullable":true},"folderFilters":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.FolderFilterItem"},"nullable":true},"logicOperator":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.FilterLogicOperator"},"searchText":{"type":"string","nullable":true},"assignedToResourceOwnerIds":{"type":"array","items":{"type":"string"},"nullable":true},"reviewedByResourceOwnerIds":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterItem":{"type":"object","properties":{"promptObjectIdentifier":{"type":"string","format":"uuid"},"operator":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterOperator"},"value":{"type":"string","nullable":true},"values":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterOperator":{"enum":["is","not","equals","notEquals","contains","doesNotContain","startsWith","endsWith","isAnyOf","isEmpty","isNotEmpty","after","onOrAfter","before","onOrBefore","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.TagFilterItem":{"type":"object","properties":{"key":{"type":"string","nullable":true},"values":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.FolderFilterItem":{"type":"object","properties":{"operator":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterOperator"},"value":{"type":"string","nullable":true},"values":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.FilterLogicOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Services.Features.Assemblies.Application.Commands.ExportAssembly.ExportAssemblyResponse":{"type":"object","properties":{"downloadObjectIdentifier":{"type":"string","format":"uuid"}},"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/generate":{"post":{"tags":["Assemblies"],"summary":"Generate a document from an assembly.","description":"Queues generation of a populated document from an assembly template and returns the identifier used to track and download the result.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Assembly.ExportAssemblyRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Assembly.ExportAssemblyRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Assembly.ExportAssemblyRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Assemblies.Application.Commands.ExportAssembly.ExportAssemblyResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Assemblies.Application.Commands.ExportAssembly.ExportAssemblyResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Assemblies.Application.Commands.ExportAssembly.ExportAssemblyResponse"}}}},"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 an assembly by identifier.

> Returns the metadata of a single assembly (document template) by its identifier.

```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.Services.Features.Assemblies.Contracts.Responses.AssemblyResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PlaybookAssemblyType"},"extension":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64"},"contentType":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"dateModified":{"type":"string","format":"date-time"},"flowGroupObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PlaybookAssemblyType":{"enum":["docxFlowWide","docxPerDocument","markdownFlowWide","markdownFlowDocument"],"type":"string"},"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}":{"get":{"tags":["Assemblies"],"summary":"Get an assembly by identifier.","description":"Returns the metadata of a single assembly (document template) by its identifier.","parameters":[{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Assemblies.Contracts.Responses.AssemblyResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Assemblies.Contracts.Responses.AssemblyResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Assemblies.Contracts.Responses.AssemblyResponse"}}}},"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"}}}}}}}}}
```

## Delete an assembly.

> Permanently deletes an assembly and its backing document from a flow.

```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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}":{"delete":{"tags":["Assemblies"],"summary":"Delete an assembly.","description":"Permanently deletes an assembly and its backing document from a flow.","parameters":[{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```

## Download an assembly's document.

> Returns the assembly's backing document as a file, optionally converted to PDF.

```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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/content":{"get":{"tags":["Assemblies"],"summary":"Download an assembly's document.","description":"Returns the assembly's backing document as a file, optionally converted to PDF.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"usePdf","in":"query","schema":{"type":"boolean","default":false}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"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"}}}}}}}}}
```

## Replace an assembly's document.

> Overwrites the assembly's backing document with the uploaded file.

```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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/content":{"put":{"tags":["Assemblies"],"summary":"Replace an assembly's document.","description":"Overwrites the assembly's backing document with the uploaded file.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}},"encoding":{"file":{"style":"form"}}}}},"responses":{"200":{"description":"OK"},"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 basic assembly's rich-text content.

> Returns a basic (markdown) assembly's authored content as TipTap rich-text JSON, or null when none has been saved.

```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.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/rich-text":{"get":{"tags":["Assemblies"],"summary":"Get a basic assembly's rich-text content.","description":"Returns a basic (markdown) assembly's authored content as TipTap rich-text JSON, or null when none has been saved.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}}}},"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"}}}}}}}}}
```

## Save a basic assembly's rich-text content.

> Persists a basic (markdown) assembly's authored content as TipTap rich-text JSON.

```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.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/rich-text":{"put":{"tags":["Assemblies"],"summary":"Save a basic assembly's rich-text content.","description":"Persists a basic (markdown) assembly's authored content as TipTap rich-text JSON.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}}}},"responses":{"200":{"description":"OK"},"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 signed download URL.

> Returns a short-lived, signed URL for opening or downloading the assembly's document directly.

```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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/download-url":{"get":{"tags":["Assemblies"],"summary":"Get a signed download URL.","description":"Returns a short-lived, signed URL for opening or downloading the assembly's document directly.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"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"}}}}}}}}}
```

## List references for an assembly.

> Returns a paginated list of the references configured for a flow assembly.

```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":{"PaginationList.AssemblyReferenceResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"flowAssemblyObjectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.AssemblyReferenceType"},"multiDocumentListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.MultiDocumentListFormat"},"singleDocumentReferenceFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentReferenceFormat"},"singleDocumentAnswerListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat"},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"templateColumns":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"},"nullable":true},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"},"nullable":true},"prompts":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferencePromptResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.AssemblyReferenceType":{"enum":["flowWide","document"],"type":"string"},"Jylo.Toolkit.Constants.MultiDocumentListFormat":{"enum":["paragraph","bulletList","numberedList","table"],"type":"string"},"Jylo.Toolkit.Constants.SingleDocumentReferenceFormat":{"enum":["quote","answer","documentName"],"type":"string"},"Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat":{"enum":["bullet","numbered","text"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferencePromptResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"flowGroupObjectIdentifier":{"type":"string","format":"uuid"}},"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references":{"get":{"tags":["Assemblies"],"summary":"List references for an assembly.","description":"Returns a paginated list of the references configured for a flow assembly.","parameters":[{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationList.AssemblyReferenceResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationList.AssemblyReferenceResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationList.AssemblyReferenceResponse"}}}},"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 an assembly reference.

> Adds a new reference to a flow assembly, linking it to a source and defining how that source is formatted.

```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.Services.Features.AssemblyReferences.Contracts.Requests.CreateAssemblyReferenceRequest":{"type":"object","properties":{"flowPromptObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"assemblyReferenceType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.AssemblyReferenceType"},"multiDocumentListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.MultiDocumentListFormat"},"singleDocumentReferenceFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentReferenceFormat"},"singleDocumentAnswerListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat"},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"templateColumns":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.CreateAssemblyReferenceTemplateColumnRequest"},"nullable":true},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Requests.CreateAssemblyReferenceConditionRequest"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.AssemblyReferenceType":{"enum":["flowWide","document"],"type":"string"},"Jylo.Toolkit.Constants.MultiDocumentListFormat":{"enum":["paragraph","bulletList","numberedList","table"],"type":"string"},"Jylo.Toolkit.Constants.SingleDocumentReferenceFormat":{"enum":["quote","answer","documentName"],"type":"string"},"Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat":{"enum":["bullet","numbered","text"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.CreateAssemblyReferenceTemplateColumnRequest":{"required":["name","template"],"type":"object","properties":{"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Requests.CreateAssemblyReferenceConditionRequest":{"type":"object","properties":{"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.CreateAssemblyReferenceCategoryConditionRequest"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.CreateAssemblyReferenceCategoryConditionRequest":{"required":["text"],"type":"object","properties":{"fuzzyMatch":{"type":"boolean"},"text":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"flowAssemblyObjectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.AssemblyReferenceType"},"multiDocumentListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.MultiDocumentListFormat"},"singleDocumentReferenceFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentReferenceFormat"},"singleDocumentAnswerListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat"},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"templateColumns":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"},"nullable":true},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"},"nullable":true},"prompts":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferencePromptResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferencePromptResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"flowGroupObjectIdentifier":{"type":"string","format":"uuid"}},"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references":{"post":{"tags":["Assemblies"],"summary":"Create an assembly reference.","description":"Adds a new reference to a flow assembly, linking it to a source and defining how that source is formatted.","parameters":[{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Requests.CreateAssemblyReferenceRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Requests.CreateAssemblyReferenceRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Requests.CreateAssemblyReferenceRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}}}},"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 an assembly reference.

> Retrieves a single assembly reference by its identifier.

```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.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"flowAssemblyObjectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.AssemblyReferenceType"},"multiDocumentListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.MultiDocumentListFormat"},"singleDocumentReferenceFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentReferenceFormat"},"singleDocumentAnswerListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat"},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"templateColumns":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"},"nullable":true},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"},"nullable":true},"prompts":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferencePromptResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.AssemblyReferenceType":{"enum":["flowWide","document"],"type":"string"},"Jylo.Toolkit.Constants.MultiDocumentListFormat":{"enum":["paragraph","bulletList","numberedList","table"],"type":"string"},"Jylo.Toolkit.Constants.SingleDocumentReferenceFormat":{"enum":["quote","answer","documentName"],"type":"string"},"Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat":{"enum":["bullet","numbered","text"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferencePromptResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"flowGroupObjectIdentifier":{"type":"string","format":"uuid"}},"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{objectIdentifier}":{"get":{"tags":["Assemblies"],"summary":"Get an assembly reference.","description":"Retrieves a single assembly reference by its identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}}}},"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"}}}},"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 an assembly reference.

> Updates the configuration of an existing assembly reference and returns the updated record.

```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.Services.Features.AssemblyReferences.Contracts.Requests.UpdateAssemblyReferenceRequest":{"type":"object","properties":{"flowPromptObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"assemblyReferenceType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.AssemblyReferenceType"},"multiDocumentListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.MultiDocumentListFormat"},"singleDocumentReferenceFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentReferenceFormat"},"singleDocumentAnswerListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat"},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.Toolkit.Constants.AssemblyReferenceType":{"enum":["flowWide","document"],"type":"string"},"Jylo.Toolkit.Constants.MultiDocumentListFormat":{"enum":["paragraph","bulletList","numberedList","table"],"type":"string"},"Jylo.Toolkit.Constants.SingleDocumentReferenceFormat":{"enum":["quote","answer","documentName"],"type":"string"},"Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat":{"enum":["bullet","numbered","text"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"flowAssemblyObjectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.AssemblyReferenceType"},"multiDocumentListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.MultiDocumentListFormat"},"singleDocumentReferenceFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentReferenceFormat"},"singleDocumentAnswerListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat"},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"templateColumns":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"},"nullable":true},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"},"nullable":true},"prompts":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferencePromptResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferencePromptResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"flowGroupObjectIdentifier":{"type":"string","format":"uuid"}},"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{objectIdentifier}":{"put":{"tags":["Assemblies"],"summary":"Update an assembly reference.","description":"Updates the configuration of an existing assembly reference and returns the updated record.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Requests.UpdateAssemblyReferenceRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Requests.UpdateAssemblyReferenceRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Requests.UpdateAssemblyReferenceRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}}}},"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"}}}},"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 an assembly reference.

> Removes an assembly reference from a flow assembly.

```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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{objectIdentifier}":{"delete":{"tags":["Assemblies"],"summary":"Delete an assembly reference.","description":"Removes an assembly reference from a flow assembly.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}},"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"}}}}}}}}}
```

## List template columns.

> Returns a paginated list of the template columns configured for an assembly reference.

```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":{"PaginationList.AssemblyReferenceTemplateColumnResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/template-columns":{"get":{"tags":["Assemblies"],"summary":"List template columns.","description":"Returns a paginated list of the template columns configured for an assembly reference.","parameters":[{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationList.AssemblyReferenceTemplateColumnResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationList.AssemblyReferenceTemplateColumnResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationList.AssemblyReferenceTemplateColumnResponse"}}}},"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 template column.

> Creates a new template column for an assembly reference, defined by a name and a rich-text template.

```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.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.CreateAssemblyReferenceTemplateColumnRequest":{"required":["name","template"],"type":"object","properties":{"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/template-columns":{"post":{"tags":["Assemblies"],"summary":"Create a template column.","description":"Creates a new template column for an assembly reference, defined by a name and a rich-text template.","parameters":[{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.CreateAssemblyReferenceTemplateColumnRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.CreateAssemblyReferenceTemplateColumnRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.CreateAssemblyReferenceTemplateColumnRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}}}},"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 template column.

> Returns the details of a single template column identified by its GUID.

```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.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/template-columns/{objectIdentifier}":{"get":{"tags":["Assemblies"],"summary":"Get a template column.","description":"Returns the details of a single template column identified by its GUID.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}}}},"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"}}}}}}}}}
```

## Update a template column.

> Updates the name and rich-text template of an existing template column.

```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.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.UpdateAssemblyReferenceTemplateColumnRequest":{"required":["name","template"],"type":"object","properties":{"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/template-columns/{objectIdentifier}":{"put":{"tags":["Assemblies"],"summary":"Update a template column.","description":"Updates the name and rich-text template of an existing template column.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.UpdateAssemblyReferenceTemplateColumnRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.UpdateAssemblyReferenceTemplateColumnRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.UpdateAssemblyReferenceTemplateColumnRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}}}},"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"}}}}}}}}}
```

## Delete a template column.

> Permanently deletes a template column from an assembly reference.

```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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/template-columns/{objectIdentifier}":{"delete":{"tags":["Assemblies"],"summary":"Delete a template column.","description":"Permanently deletes a template column from an assembly reference.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```


# Assistants

## Get all assistants for a project.

> Returns a paged, searchable and sortable list of the assistants in the 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.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.Projects.Models.Chat.AssistantReadModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"},"documentMetadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties"},"nullable":true},"estimatedTokenCount":{"type":"integer","format":"int32"},"lastContextTokens":{"type":"integer","format":"int64","nullable":true},"lastContextModelIdentifier":{"type":"string","format":"uuid","nullable":true},"compactionEnabled":{"type":"boolean"},"assistantMessageCount":{"type":"integer","format":"int32"},"userMessageCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties":{"type":"object","properties":{"paragraphs":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Paragraph"},"nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid"},"documentType":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.EDocumentType"},"comparedDocumentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Paragraph":{"required":["boundingRegions","content","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"content":{"type":"string","nullable":true},"boundingRegions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Bounding"},"nullable":true},"role":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Role"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Bounding":{"required":["points"],"type":"object","properties":{"points":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"page":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Role":{"enum":["title","sectionHeading","pageHeader","pageFooter","pageNumber"],"type":"string"},"Jylo.Toolkit.Entities.DocumentEntities.EDocumentType":{"enum":["standard","comparison"],"type":"string"},"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}/assistants":{"get":{"tags":["Assistants"],"summary":"Get all assistants for a project.","description":"Returns a paged, searchable and sortable list of the assistants in the project.","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":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}}}}},"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 assistant.

> Creates a new assistant in the project, optionally attaching documents the assistant can reference.

```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.Chat.AssistantWriteModel":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Models.Chat.AssistantReadModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"},"documentMetadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties"},"nullable":true},"estimatedTokenCount":{"type":"integer","format":"int32"},"lastContextTokens":{"type":"integer","format":"int64","nullable":true},"lastContextModelIdentifier":{"type":"string","format":"uuid","nullable":true},"compactionEnabled":{"type":"boolean"},"assistantMessageCount":{"type":"integer","format":"int32"},"userMessageCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties":{"type":"object","properties":{"paragraphs":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Paragraph"},"nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid"},"documentType":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.EDocumentType"},"comparedDocumentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Paragraph":{"required":["boundingRegions","content","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"content":{"type":"string","nullable":true},"boundingRegions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Bounding"},"nullable":true},"role":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Role"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Bounding":{"required":["points"],"type":"object","properties":{"points":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"page":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Role":{"enum":["title","sectionHeading","pageHeader","pageFooter","pageNumber"],"type":"string"},"Jylo.Toolkit.Entities.DocumentEntities.EDocumentType":{"enum":["standard","comparison"],"type":"string"},"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}/assistants":{"post":{"tags":["Assistants"],"summary":"Create a new assistant.","description":"Creates a new assistant in the project, optionally attaching documents the assistant can reference.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}}}},"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"}}}}}}}}}
```

## Get an assistant by object identifier.

> Returns the full details of a single assistant identified by its object identifier.

```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.Chat.AssistantReadModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"},"documentMetadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties"},"nullable":true},"estimatedTokenCount":{"type":"integer","format":"int32"},"lastContextTokens":{"type":"integer","format":"int64","nullable":true},"lastContextModelIdentifier":{"type":"string","format":"uuid","nullable":true},"compactionEnabled":{"type":"boolean"},"assistantMessageCount":{"type":"integer","format":"int32"},"userMessageCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties":{"type":"object","properties":{"paragraphs":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Paragraph"},"nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid"},"documentType":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.EDocumentType"},"comparedDocumentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Paragraph":{"required":["boundingRegions","content","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"content":{"type":"string","nullable":true},"boundingRegions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Bounding"},"nullable":true},"role":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Role"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Bounding":{"required":["points"],"type":"object","properties":{"points":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"page":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Role":{"enum":["title","sectionHeading","pageHeader","pageFooter","pageNumber"],"type":"string"},"Jylo.Toolkit.Entities.DocumentEntities.EDocumentType":{"enum":["standard","comparison"],"type":"string"},"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}/assistants/{objectIdentifier}":{"get":{"tags":["Assistants"],"summary":"Get an assistant by object identifier.","description":"Returns the full details of a single assistant identified by its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}}}},"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 an assistant.

> Updates an assistant's settings such as its name, auto-rename behaviour, or the model it uses.

```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.Chat.AssistantUpdateModel":{"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"autoRename":{"type":"boolean","nullable":true},"modelIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Projects.Models.Chat.AssistantReadModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"},"documentMetadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties"},"nullable":true},"estimatedTokenCount":{"type":"integer","format":"int32"},"lastContextTokens":{"type":"integer","format":"int64","nullable":true},"lastContextModelIdentifier":{"type":"string","format":"uuid","nullable":true},"compactionEnabled":{"type":"boolean"},"assistantMessageCount":{"type":"integer","format":"int32"},"userMessageCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties":{"type":"object","properties":{"paragraphs":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Paragraph"},"nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid"},"documentType":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.EDocumentType"},"comparedDocumentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Paragraph":{"required":["boundingRegions","content","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"content":{"type":"string","nullable":true},"boundingRegions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Bounding"},"nullable":true},"role":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Role"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Bounding":{"required":["points"],"type":"object","properties":{"points":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"page":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Role":{"enum":["title","sectionHeading","pageHeader","pageFooter","pageNumber"],"type":"string"},"Jylo.Toolkit.Entities.DocumentEntities.EDocumentType":{"enum":["standard","comparison"],"type":"string"},"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}/assistants/{objectIdentifier}":{"put":{"tags":["Assistants"],"summary":"Update an assistant.","description":"Updates an assistant's settings such as its name, auto-rename behaviour, or the model it uses.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantUpdateModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantUpdateModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}}}},"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 an assistant.

> Permanently deletes the specified assistant. Requires container administrator rights.

```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}/assistants/{objectIdentifier}":{"delete":{"tags":["Assistants"],"summary":"Delete an assistant.","description":"Permanently deletes the specified assistant. Requires container administrator rights.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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 token length for documents.

> Returns the combined token length of the supplied documents so callers can check context-window limits.

```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.API.Models.Documents.DocumentIdsQueryModel":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"},"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}/assistants/query-token-length":{"post":{"tags":["Assistants"],"summary":"Get token length for documents.","description":"Returns the combined token length of the supplied documents so callers can check context-window limits.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentIdsQueryModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentIdsQueryModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentIdsQueryModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"integer","format":"int64"}},"application/json":{"schema":{"type":"integer","format":"int64"}},"text/json":{"schema":{"type":"integer","format":"int64"}}}},"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"}}}}}}}}}
```

## Export an assistant as PDF.

> Generates a PDF export of the assistant and returns it as a downloadable file.

```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}/assistants/{objectIdentifier}/export":{"post":{"tags":["Assistants"],"summary":"Export an assistant as PDF.","description":"Generates a PDF export of the assistant and returns it as a downloadable file.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"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"}}}}}}}}}
```

## Download a session file.

> Downloads a file generated by a tool during a chat session.

```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}/assistants/{objectIdentifier}/session-files/{sessionFileIdentifier}":{"get":{"tags":["Assistants"],"summary":"Download a session file.","description":"Downloads a file generated by a tool during a chat session.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"sessionFileIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"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"}}}}}}}}}
```


# Document Uploads

## List a project's document uploads.

> Retrieves a paginated list of document uploads for the project, optionally filtered by search text and sorted.

```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"},"PaginationListModel.DocumentUploadReadModel":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUploadReadModel"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentUploadReadModel":{"required":["name","objectIdentifier"],"type":"object","properties":{"fileCount":{"type":"integer","format":"int32","nullable":true},"name":{"type":"string","nullable":true},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"dateCompleted":{"type":"string","format":"date-time","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"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}/document-uploads":{"get":{"tags":["Document Uploads"],"summary":"List a project's document uploads.","description":"Retrieves a paginated list of document uploads for the project, optionally filtered by search text and sorted.","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":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationListModel.DocumentUploadReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationListModel.DocumentUploadReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationListModel.DocumentUploadReadModel"}}}},"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 document upload record.

> Starts a new document upload for the project and returns the upload record used to track the documents being added.

```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.API.Models.Documents.DocumentUploadWriteModel":{"required":["name"],"type":"object","properties":{"fileCount":{"type":"integer","format":"int32","nullable":true},"name":{"type":"string","nullable":true},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentUploadReadModel":{"required":["name","objectIdentifier"],"type":"object","properties":{"fileCount":{"type":"integer","format":"int32","nullable":true},"name":{"type":"string","nullable":true},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"dateCompleted":{"type":"string","format":"date-time","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"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}/document-uploads":{"post":{"tags":["Document Uploads"],"summary":"Create a document upload record.","description":"Starts a new document upload for the project and returns the upload record used to track the documents being added.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUploadWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUploadWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUploadWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUploadReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUploadReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUploadReadModel"}}}},"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 document upload by identifier.

> Retrieves the full details of a single document upload in the project by its object identifier.

```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.API.Models.Documents.DocumentUploadDetailsModel":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"},"dateCompleted":{"type":"string","format":"date-time","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"},"totalDocumentCount":{"type":"integer","format":"int32"},"failedDocumentCount":{"type":"integer","format":"int32"},"processingDocumentCount":{"type":"integer","format":"int32"},"completedDocumentCount":{"type":"integer","format":"int32"},"totalSizeBytes":{"type":"integer","format":"int64"},"failedReasonSummary":{"type":"object","properties":{"outOfMemory":{"type":"integer","format":"int32"},"unsupportedFileType":{"type":"integer","format":"int32"},"badFile":{"type":"integer","format":"int32"},"uploadFailure":{"type":"integer","format":"int32"},"ocrPageLimitExceeded":{"type":"integer","format":"int32"},"unknownException":{"type":"integer","format":"int32"},"insufficientCredits":{"type":"integer","format":"int32"},"maliciousFile":{"type":"integer","format":"int32"},"fileScanTimedOut":{"type":"integer","format":"int32"}},"additionalProperties":false,"nullable":true},"fileTypeSummary":{"type":"object","additionalProperties":{"type":"integer","format":"int32"},"nullable":true},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"totalCreditsCost":{"type":"number","format":"double","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"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}/document-uploads/{objectIdentifier}":{"get":{"tags":["Document Uploads"],"summary":"Get a document upload by identifier.","description":"Retrieves the full details of a single document upload in the project by its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUploadDetailsModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUploadDetailsModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUploadDetailsModel"}}}},"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"}}}},"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 document upload.

> Marks a project's document upload as completed and notifies project admins that the documents have been added.

```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.API.Models.Documents.DocumentUploadWriteModel":{"required":["name"],"type":"object","properties":{"fileCount":{"type":"integer","format":"int32","nullable":true},"name":{"type":"string","nullable":true},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentUploadReadModel":{"required":["name","objectIdentifier"],"type":"object","properties":{"fileCount":{"type":"integer","format":"int32","nullable":true},"name":{"type":"string","nullable":true},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"dateCompleted":{"type":"string","format":"date-time","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"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}/document-uploads/{objectIdentifier}":{"patch":{"tags":["Document Uploads"],"summary":"Update a document upload.","description":"Marks a project's document upload as completed and notifies project admins that the documents have been added.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUploadWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUploadWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUploadWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUploadReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUploadReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUploadReadModel"}}}},"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"}}}},"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"}}}}}}}}}
```


# Documents

## Get all documents for a project.

> Retrieves a paginated list of documents for the specified project, optionally filtered and sorted.

```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.Constants.DocumentIndexingStatus":{"enum":["completed","failed","inProgress"],"type":"string"},"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"},"Jylo.Toolkit.Sorting.TableColumnType":{"enum":["int","string"],"type":"string"},"PaginationListModel.DocumentReadModel":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"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}/documents":{"get":{"tags":["Documents"],"summary":"Get all documents for a project.","description":"Retrieves a paginated list of documents for the specified project, optionally filtered and sorted.","parameters":[{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"flattenList","in":"query","schema":{"type":"boolean"}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"searchText","in":"query","schema":{"type":"string"}},{"name":"hidePackagedFiles","in":"query","schema":{"type":"boolean","default":true}},{"name":"includePath","in":"query","schema":{"type":"boolean","default":false}},{"name":"indexingStatus","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentIndexingStatus"}},{"name":"uploadObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"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"}},{"name":"columnType","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.TableColumnType"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationListModel.DocumentReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationListModel.DocumentReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationListModel.DocumentReadModel"}}}},"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"}}}}}}}}}
```

## Upload a new document.

> Uploads a new document to the specified 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.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"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}/documents":{"post":{"tags":["Documents"],"summary":"Upload a new document.","description":"Uploads a new document to the specified project.","parameters":[{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"documentUploadIdentifier","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"source","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"metadataJson":{"type":"string"}}},"encoding":{"file":{"style":"form"},"ocrEngine":{"style":"form"},"ocrStrategy":{"style":"form"},"coordinateExtractionStrategy":{"style":"form"},"metadataJson":{"style":"form"}}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}}}},"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"}}}}}}}}}
```

## Record a failed document upload attempt.

> Records a failed document upload attempt for the specified 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.Toolkit.API.Models.Documents.FailedDocumentUploadModel":{"required":["contentType","fileName"],"type":"object","properties":{"fileName":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int32"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"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}/documents/failed":{"post":{"tags":["Documents"],"summary":"Record a failed document upload attempt.","description":"Records a failed document upload attempt for the specified project.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.FailedDocumentUploadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.FailedDocumentUploadModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.FailedDocumentUploadModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}}}},"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"}}}}}}}}}
```

## Mark a chunk upload as failed.

> Marks a partial document upload as failed in the specified 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.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"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}/documents/{documentObjectIdentifier}/failed-chunk":{"post":{"tags":["Documents"],"summary":"Mark a chunk upload as failed.","description":"Marks a partial document upload as failed in the specified project.","parameters":[{"name":"documentObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}}}},"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"}}}},"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"}}}}}}}}}
```

## Create an empty document record.

> Creates an empty document record in the specified 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.Toolkit.API.Models.Documents.CreateEmptyDocumentModel":{"required":["contentType","fileName","uploadSettings"],"type":"object","properties":{"metadataJson":{"type":"string","nullable":true},"uploadSettings":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.UploadSettingsModel"},"fileName":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"documentUploadIdentifier":{"type":"string","format":"uuid"},"source":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"resourceOwnerId":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.UploadSettingsModel":{"type":"object","properties":{"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"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}/documents/empty":{"post":{"tags":["Documents"],"summary":"Create an empty document record.","description":"Creates an empty document record in the specified project.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.CreateEmptyDocumentModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.CreateEmptyDocumentModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.CreateEmptyDocumentModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}}}},"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"}}}}}}}}}
```

## Upload a new assistant document.

> Uploads a new assistant document to the specified 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.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"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}/documents/assistant":{"post":{"tags":["Documents"],"summary":"Upload a new assistant document.","description":"Uploads a new assistant document to the specified project.","parameters":[{"name":"documentUploadIdentifier","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"source","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"metadataJson":{"type":"string"}}},"encoding":{"file":{"style":"form"},"ocrEngine":{"style":"form"},"ocrStrategy":{"style":"form"},"coordinateExtractionStrategy":{"style":"form"},"metadataJson":{"style":"form"}}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}}}},"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 an empty assistant document record.

> Creates an empty assistant document record in the specified 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.Toolkit.API.Models.Documents.CreateEmptyDocumentModel":{"required":["contentType","fileName","uploadSettings"],"type":"object","properties":{"metadataJson":{"type":"string","nullable":true},"uploadSettings":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.UploadSettingsModel"},"fileName":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"documentUploadIdentifier":{"type":"string","format":"uuid"},"source":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"resourceOwnerId":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.UploadSettingsModel":{"type":"object","properties":{"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"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}/documents/empty-assistant":{"post":{"tags":["Documents"],"summary":"Create an empty assistant document record.","description":"Creates an empty assistant document record in the specified project.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.CreateEmptyDocumentModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.CreateEmptyDocumentModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.CreateEmptyDocumentModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}}}},"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"}}}}}}}}}
```

## Append a chunk to a document.

> Appends a chunk to a partially uploaded document.

```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.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"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}/documents/{objectIdentifier}/append-chunk":{"post":{"tags":["Documents"],"summary":"Append a chunk to a document.","description":"Appends a chunk to a partially uploaded document.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"chunkIndex","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"lastChunk","in":"query","schema":{"type":"boolean","default":false}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}}}},"204":{"description":"No Content"},"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"}}}},"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"}}}}}}}}}
```

## Create a new folder.

> Creates a new folder in the specified 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.Toolkit.API.Models.FolderWriteModel":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentUploadObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.FolderReadModel":{"required":["dateAdded","name","objectIdentifier"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentUploadObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"}},"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}/documents/folder":{"post":{"tags":["Documents"],"summary":"Create a new folder.","description":"Creates a new folder in the specified project.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.FolderWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.FolderWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.FolderWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.FolderReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.FolderReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.FolderReadModel"}}}},"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"}}}}}}}}}
```

## Download a document file.

> Downloads a document file by its object identifier.

```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}/documents/{objectIdentifier}/download":{"get":{"tags":["Documents"],"summary":"Download a document file.","description":"Downloads a document file by its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"usePdf","in":"query","schema":{"type":"boolean","default":true}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"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"}}}},"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"}}}}}}}}}
```

## Download a document file stream.

> Downloads a document file stream by its object identifier.

```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}/documents/{objectIdentifier}/download-stream":{"get":{"tags":["Documents"],"summary":"Download a document file stream.","description":"Downloads a document file stream by its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"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"}}}},"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"}}}}}}}}}
```

## Download a document file stream.

> Downloads a document file stream by its object identifier.

```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}/documents/{objectIdentifier}/download-stream":{"head":{"tags":["Documents"],"summary":"Download a document file stream.","description":"Downloads a document file stream by its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"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"}}}},"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 a document by object identifier.

> Retrieves a document by its object identifier.

```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.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"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}/documents/{objectIdentifier}":{"get":{"tags":["Documents"],"summary":"Get a document by object identifier.","description":"Retrieves a document by its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}}}},"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"}}}},"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 document by object identifier.

> Updates a document by its object identifier.

```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.API.Models.Documents.DocumentUpdateModel":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"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}/documents/{objectIdentifier}":{"put":{"tags":["Documents"],"summary":"Update a document by object identifier.","description":"Updates a document by its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUpdateModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentUpdateModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}}}},"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"}}}},"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 document by object identifier.

> Deletes a document by its object identifier.

```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}/documents/{objectIdentifier}":{"delete":{"tags":["Documents"],"summary":"Delete a document by object identifier.","description":"Deletes a document by its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"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"}}}},"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"}}}},"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 folder by object identifier.

> Updates a folder by its object identifier.

```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.API.Models.FolderWriteModel":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentUploadObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.FolderReadModel":{"required":["dateAdded","name","objectIdentifier"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentUploadObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"}},"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}/documents/folder/{objectIdentifier}":{"put":{"tags":["Documents"],"summary":"Update a folder by object identifier.","description":"Updates a folder by its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.FolderWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.FolderWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.FolderWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.FolderReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.FolderReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.FolderReadModel"}}}},"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"}}}},"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 all child documents of specified documents/folders.

> Returns a collection of documents which are descendents of given objectIdentifiers

```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.API.Models.Documents.DocumentIdsQueryModel":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"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}/documents/query-all-children":{"post":{"tags":["Documents"],"summary":"Get all child documents of specified documents/folders.","description":"Returns a collection of documents which are descendents of given objectIdentifiers","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentIdsQueryModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentIdsQueryModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentIdsQueryModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"}}}}},"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"}}}},"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 all folders for a project.

> Retrieves a paginated list of folders for the specified project with indication of subfolders.

```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"},"PaginationListModel.DocumentReadModel":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"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}/documents/folders":{"get":{"tags":["Documents"],"summary":"Get all folders for a project.","description":"Retrieves a paginated list of folders for the specified project with indication of subfolders.","parameters":[{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"searchText","in":"query","schema":{"type":"string"}},{"name":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationListModel.DocumentReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationListModel.DocumentReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationListModel.DocumentReadModel"}}}},"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 breadcrumbs for a document.

> Retrieves the breadcrumb trail for a document from root to the specified document.

```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.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"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}/documents/{objectIdentifier}/breadcrumbs":{"get":{"tags":["Documents"],"summary":"Get breadcrumbs for a document.","description":"Retrieves the breadcrumb trail for a document from root to the specified document.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"}}}}},"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"}}}},"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"}}}}}}}}}
```

## Re-trigger document processing for a document

> Re-trigger document processing for a specific document

```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.API.Models.Documents.UploadSettingsModel":{"type":"object","properties":{"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"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}/documents/{objectIdentifier}/re-index":{"post":{"tags":["Documents"],"summary":"Re-trigger document processing for a document","description":"Re-trigger document processing for a specific document","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.UploadSettingsModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.UploadSettingsModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.UploadSettingsModel"}}}},"responses":{"202":{"description":"Accepted"},"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"}}}},"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"}}}}}}}}}
```

## Retry failed documents in an upload

> Re-triggers document processing for every failed document in the specified upload session.

```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.API.Models.Documents.UploadSettingsModel":{"type":"object","properties":{"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"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}/documents/retry-failed-upload":{"post":{"tags":["Documents"],"summary":"Retry failed documents in an upload","description":"Re-triggers document processing for every failed document in the specified upload session.","parameters":[{"name":"documentUploadObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.UploadSettingsModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.UploadSettingsModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.UploadSettingsModel"}}}},"responses":{"202":{"description":"Accepted"},"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"}}}},"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"}}}}}}}}}
```

## Bulk move documents within a project

> Updates the parent folder for a list of documents

```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.API.Models.Documents.MoveDocumentsRequestModel":{"type":"object","properties":{"newParentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"objectIdentifiersToMove":{"type":"array","items":{"type":"string","format":"uuid"},"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}/documents/bulk-move":{"post":{"tags":["Documents"],"summary":"Bulk move documents within a project","description":"Updates the parent folder for a list of documents","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.MoveDocumentsRequestModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.MoveDocumentsRequestModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.MoveDocumentsRequestModel"}}}},"responses":{"200":{"description":"OK"},"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"}}}},"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"}}}}}}}}}
```

## Download documents and folders as a ZIP

> Creates a background download that zips the selected documents and folders, preserving folder structure.

```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.Documents.BulkDownloadRequestModel":{"type":"object","properties":{"objectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.Downloads.Application.Commands.CreateBulkDocumentDownload.CreateBulkDocumentDownloadResponse":{"type":"object","properties":{"downloadObjectIdentifier":{"type":"string","format":"uuid"}},"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}/documents/bulk-download":{"post":{"tags":["Documents"],"summary":"Download documents and folders as a ZIP","description":"Creates a background download that zips the selected documents and folders, preserving folder structure.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Documents.BulkDownloadRequestModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Documents.BulkDownloadRequestModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Documents.BulkDownloadRequestModel"}}}},"responses":{"202":{"description":"Accepted","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Downloads.Application.Commands.CreateBulkDocumentDownload.CreateBulkDocumentDownloadResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Downloads.Application.Commands.CreateBulkDocumentDownload.CreateBulkDocumentDownloadResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Downloads.Application.Commands.CreateBulkDocumentDownload.CreateBulkDocumentDownloadResponse"}}}},"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"}}}}}}}}}
```


# Downloads

## List project downloads.

> Returns a paginated, optionally filtered list of the downloads generated for a project, ordered newest first.

```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.Constants.DownloadType":{"enum":["flowExport","flowExportWithSourceDocs","assemblyExport","bulkDocuments"],"type":"string"},"Jylo.Projects.Services.Features.Downloads.Application.Queries.GetDownloads.GetDownloadsResponse":{"type":"object","properties":{"totalCount":{"type":"integer","format":"int32"},"page":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Downloads.DownloadResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Downloads.DownloadResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"downloadType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DownloadType"},"status":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DownloadStatus"},"dateAdded":{"type":"string","format":"date-time"},"dateCompleted":{"type":"string","format":"date-time","nullable":true},"sourceObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Constants.DownloadStatus":{"enum":["pending","processing","complete","failed"],"type":"string"},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/downloads":{"get":{"tags":["Downloads"],"summary":"List project downloads.","description":"Returns a paginated, optionally filtered list of the downloads generated for a project, ordered newest first.","parameters":[{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":50}},{"name":"downloadType","in":"query","schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DownloadType"}}},{"name":"sourceObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"searchText","in":"query","schema":{"type":"string"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Downloads.Application.Queries.GetDownloads.GetDownloadsResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Downloads.Application.Queries.GetDownloads.GetDownloadsResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Downloads.Application.Queries.GetDownloads.GetDownloadsResponse"}}}},"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"}}}}}}}}}
```

## Stream the artifact file for a download.

> Streams the artifact for a download when it is ready, or returns 202 Accepted with the current preparation status so the caller can poll.

```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}/downloads/{objectIdentifier}/file":{"get":{"tags":["Downloads"],"summary":"Stream the artifact file for a download.","description":"Streams the artifact for a download when it is ready, or returns 202 Accepted with the current preparation status so the caller can poll.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"202":{"description":"Accepted"},"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"}}}}}}}}}
```


# Flow Chat Messages

## Get all messages for a flow chat.

> Returns a paged, searchable, sortable list of the messages in a flow chat.

```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.Projects.Models.Chat.MessageReadModel":{"required":["assistant","isAssistant","modelIdentifier","text"],"type":"object","properties":{"text":{"type":"string","nullable":true},"messageDocumentIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"flowObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"modelIdentifier":{"type":"string","format":"uuid"},"stream":{"type":"boolean","nullable":true},"messageType":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Data.Enums.EMessageType"},"thinkingEffort":{"type":"string","nullable":true},"compactionEnabled":{"type":"boolean","nullable":true},"compactionAcknowledged":{"type":"boolean","nullable":true},"tools":{"type":"array","items":{"type":"string"},"nullable":true},"agentMode":{"type":"boolean","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"messageResponseTypeId":{"type":"integer","format":"int32","nullable":true},"assistant":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"},"isAssistant":{"type":"boolean"},"messageCitations":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageCitationResponse"},"nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"resourceOwnerId":{"type":"string","nullable":true},"isStreaming":{"type":"boolean"},"contentBlocks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.JyloContentBlock"},"nullable":true},"sessionFiles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageSessionFileResponse"},"nullable":true},"webSearchEnabled":{"type":"boolean","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Projects.Data.Enums.EMessageType":{"enum":["standard","documentComparison"],"type":"string"},"Jylo.Projects.Models.Chat.AssistantReadModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"},"documentMetadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties"},"nullable":true},"estimatedTokenCount":{"type":"integer","format":"int32"},"lastContextTokens":{"type":"integer","format":"int64","nullable":true},"lastContextModelIdentifier":{"type":"string","format":"uuid","nullable":true},"compactionEnabled":{"type":"boolean"},"assistantMessageCount":{"type":"integer","format":"int32"},"userMessageCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties":{"type":"object","properties":{"paragraphs":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Paragraph"},"nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid"},"documentType":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.EDocumentType"},"comparedDocumentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Paragraph":{"required":["boundingRegions","content","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"content":{"type":"string","nullable":true},"boundingRegions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Bounding"},"nullable":true},"role":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Role"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Bounding":{"required":["points"],"type":"object","properties":{"points":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"page":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Role":{"enum":["title","sectionHeading","pageHeader","pageFooter","pageNumber"],"type":"string"},"Jylo.Toolkit.Entities.DocumentEntities.EDocumentType":{"enum":["standard","comparison"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageCitationResponse":{"required":["quote"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"quote":{"type":"string","nullable":true},"messageObjectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"flowObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"promptAnswerObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"cellObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"paragraphPageNumber":{"type":"integer","format":"int32","nullable":true},"paragraphBoundingRegions":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"sheetIndex":{"type":"integer","format":"int32","nullable":true},"cellRowIndex":{"type":"integer","format":"int32","nullable":true},"cellColumnIndex":{"type":"integer","format":"int32","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.MessageCitationType"},"endIndex":{"type":"integer","format":"int32","nullable":true},"startIndex":{"type":"integer","format":"int32","nullable":true},"title":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"prompt":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageCitationPromptResponse"}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.MessageCitationType":{"enum":["cell","paragraph","promptAnswer","url"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageCitationPromptResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.JyloContentBlock":{"type":"object","properties":{"id":{"type":"string","nullable":true},"origin":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.ContentBlockOrigin"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.ContentBlockOrigin":{"enum":["openAI","anthropic","agnostic"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageSessionFileResponse":{"required":["name"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"toolCallId":{"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}/flows/{flowIdentifier}/chats/{chatIdentifier}/messages":{"get":{"tags":["Flow Chat Messages"],"summary":"Get all messages for a flow chat.","description":"Returns a paged, searchable, sortable list of the messages in a flow chat.","parameters":[{"name":"chatIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"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":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}}}}},"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 message in a flow chat.

> Sends a user message to the flow chat and returns the model-generated reply, optionally as a streamed Server-Sent Events response.

```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.Chat.MessageWriteModel":{"required":["modelIdentifier","text"],"type":"object","properties":{"text":{"type":"string","nullable":true},"messageDocumentIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"flowObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"modelIdentifier":{"type":"string","format":"uuid"},"stream":{"type":"boolean","nullable":true},"messageType":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Data.Enums.EMessageType"},"thinkingEffort":{"type":"string","nullable":true},"compactionEnabled":{"type":"boolean","nullable":true},"compactionAcknowledged":{"type":"boolean","nullable":true},"tools":{"type":"array","items":{"type":"string"},"nullable":true},"agentMode":{"type":"boolean","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Projects.Data.Enums.EMessageType":{"enum":["standard","documentComparison"],"type":"string"},"Jylo.Projects.Models.Chat.MessageReadModel":{"required":["assistant","isAssistant","modelIdentifier","text"],"type":"object","properties":{"text":{"type":"string","nullable":true},"messageDocumentIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"flowObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"modelIdentifier":{"type":"string","format":"uuid"},"stream":{"type":"boolean","nullable":true},"messageType":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Data.Enums.EMessageType"},"thinkingEffort":{"type":"string","nullable":true},"compactionEnabled":{"type":"boolean","nullable":true},"compactionAcknowledged":{"type":"boolean","nullable":true},"tools":{"type":"array","items":{"type":"string"},"nullable":true},"agentMode":{"type":"boolean","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"messageResponseTypeId":{"type":"integer","format":"int32","nullable":true},"assistant":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"},"isAssistant":{"type":"boolean"},"messageCitations":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageCitationResponse"},"nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"resourceOwnerId":{"type":"string","nullable":true},"isStreaming":{"type":"boolean"},"contentBlocks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.JyloContentBlock"},"nullable":true},"sessionFiles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageSessionFileResponse"},"nullable":true},"webSearchEnabled":{"type":"boolean","nullable":true}},"additionalProperties":false},"Jylo.Projects.Models.Chat.AssistantReadModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"},"documentMetadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties"},"nullable":true},"estimatedTokenCount":{"type":"integer","format":"int32"},"lastContextTokens":{"type":"integer","format":"int64","nullable":true},"lastContextModelIdentifier":{"type":"string","format":"uuid","nullable":true},"compactionEnabled":{"type":"boolean"},"assistantMessageCount":{"type":"integer","format":"int32"},"userMessageCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties":{"type":"object","properties":{"paragraphs":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Paragraph"},"nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid"},"documentType":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.EDocumentType"},"comparedDocumentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Paragraph":{"required":["boundingRegions","content","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"content":{"type":"string","nullable":true},"boundingRegions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Bounding"},"nullable":true},"role":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Role"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Bounding":{"required":["points"],"type":"object","properties":{"points":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"page":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Role":{"enum":["title","sectionHeading","pageHeader","pageFooter","pageNumber"],"type":"string"},"Jylo.Toolkit.Entities.DocumentEntities.EDocumentType":{"enum":["standard","comparison"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageCitationResponse":{"required":["quote"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"quote":{"type":"string","nullable":true},"messageObjectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"flowObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"promptAnswerObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"cellObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"paragraphPageNumber":{"type":"integer","format":"int32","nullable":true},"paragraphBoundingRegions":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"sheetIndex":{"type":"integer","format":"int32","nullable":true},"cellRowIndex":{"type":"integer","format":"int32","nullable":true},"cellColumnIndex":{"type":"integer","format":"int32","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.MessageCitationType"},"endIndex":{"type":"integer","format":"int32","nullable":true},"startIndex":{"type":"integer","format":"int32","nullable":true},"title":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"prompt":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageCitationPromptResponse"}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.MessageCitationType":{"enum":["cell","paragraph","promptAnswer","url"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageCitationPromptResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.JyloContentBlock":{"type":"object","properties":{"id":{"type":"string","nullable":true},"origin":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.ContentBlockOrigin"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.ContentBlockOrigin":{"enum":["openAI","anthropic","agnostic"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageSessionFileResponse":{"required":["name"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"toolCallId":{"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}/flows/{flowIdentifier}/chats/{chatIdentifier}/messages":{"post":{"tags":["Flow Chat Messages"],"summary":"Create a new message in a flow chat.","description":"Sends a user message to the flow chat and returns the model-generated reply, optionally as a streamed Server-Sent Events response.","parameters":[{"name":"chatIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}}}},"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"}}}}}}}}}
```

## Get a flow chat message by object identifier.

> Returns the details of a single flow chat message identified by its GUID.

```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.Chat.MessageReadModel":{"required":["assistant","isAssistant","modelIdentifier","text"],"type":"object","properties":{"text":{"type":"string","nullable":true},"messageDocumentIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"flowObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"modelIdentifier":{"type":"string","format":"uuid"},"stream":{"type":"boolean","nullable":true},"messageType":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Data.Enums.EMessageType"},"thinkingEffort":{"type":"string","nullable":true},"compactionEnabled":{"type":"boolean","nullable":true},"compactionAcknowledged":{"type":"boolean","nullable":true},"tools":{"type":"array","items":{"type":"string"},"nullable":true},"agentMode":{"type":"boolean","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"messageResponseTypeId":{"type":"integer","format":"int32","nullable":true},"assistant":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"},"isAssistant":{"type":"boolean"},"messageCitations":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageCitationResponse"},"nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"resourceOwnerId":{"type":"string","nullable":true},"isStreaming":{"type":"boolean"},"contentBlocks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.JyloContentBlock"},"nullable":true},"sessionFiles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageSessionFileResponse"},"nullable":true},"webSearchEnabled":{"type":"boolean","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Projects.Data.Enums.EMessageType":{"enum":["standard","documentComparison"],"type":"string"},"Jylo.Projects.Models.Chat.AssistantReadModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"},"documentMetadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties"},"nullable":true},"estimatedTokenCount":{"type":"integer","format":"int32"},"lastContextTokens":{"type":"integer","format":"int64","nullable":true},"lastContextModelIdentifier":{"type":"string","format":"uuid","nullable":true},"compactionEnabled":{"type":"boolean"},"assistantMessageCount":{"type":"integer","format":"int32"},"userMessageCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties":{"type":"object","properties":{"paragraphs":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Paragraph"},"nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid"},"documentType":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.EDocumentType"},"comparedDocumentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Paragraph":{"required":["boundingRegions","content","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"content":{"type":"string","nullable":true},"boundingRegions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Bounding"},"nullable":true},"role":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Role"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Bounding":{"required":["points"],"type":"object","properties":{"points":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"page":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Role":{"enum":["title","sectionHeading","pageHeader","pageFooter","pageNumber"],"type":"string"},"Jylo.Toolkit.Entities.DocumentEntities.EDocumentType":{"enum":["standard","comparison"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageCitationResponse":{"required":["quote"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"quote":{"type":"string","nullable":true},"messageObjectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"flowObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"promptAnswerObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"cellObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"paragraphPageNumber":{"type":"integer","format":"int32","nullable":true},"paragraphBoundingRegions":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"sheetIndex":{"type":"integer","format":"int32","nullable":true},"cellRowIndex":{"type":"integer","format":"int32","nullable":true},"cellColumnIndex":{"type":"integer","format":"int32","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.MessageCitationType"},"endIndex":{"type":"integer","format":"int32","nullable":true},"startIndex":{"type":"integer","format":"int32","nullable":true},"title":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"prompt":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageCitationPromptResponse"}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.MessageCitationType":{"enum":["cell","paragraph","promptAnswer","url"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageCitationPromptResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.JyloContentBlock":{"type":"object","properties":{"id":{"type":"string","nullable":true},"origin":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.ContentBlockOrigin"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.ContentBlockOrigin":{"enum":["openAI","anthropic","agnostic"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageSessionFileResponse":{"required":["name"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"toolCallId":{"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}/flows/{flowIdentifier}/chats/{chatIdentifier}/messages/{objectIdentifier}":{"get":{"tags":["Flow Chat Messages"],"summary":"Get a flow chat message by object identifier.","description":"Returns the details of a single flow chat message identified by its GUID.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"chatIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}}}},"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"}}}}}}}}}
```

## Update a flow chat message by object identifier.

> Replaces the text of an existing flow chat message and returns the updated message.

```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.Chat.MessageWriteModel":{"required":["modelIdentifier","text"],"type":"object","properties":{"text":{"type":"string","nullable":true},"messageDocumentIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"flowObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"modelIdentifier":{"type":"string","format":"uuid"},"stream":{"type":"boolean","nullable":true},"messageType":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Data.Enums.EMessageType"},"thinkingEffort":{"type":"string","nullable":true},"compactionEnabled":{"type":"boolean","nullable":true},"compactionAcknowledged":{"type":"boolean","nullable":true},"tools":{"type":"array","items":{"type":"string"},"nullable":true},"agentMode":{"type":"boolean","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Projects.Data.Enums.EMessageType":{"enum":["standard","documentComparison"],"type":"string"},"Jylo.Projects.Models.Chat.MessageReadModel":{"required":["assistant","isAssistant","modelIdentifier","text"],"type":"object","properties":{"text":{"type":"string","nullable":true},"messageDocumentIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"flowObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"modelIdentifier":{"type":"string","format":"uuid"},"stream":{"type":"boolean","nullable":true},"messageType":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Data.Enums.EMessageType"},"thinkingEffort":{"type":"string","nullable":true},"compactionEnabled":{"type":"boolean","nullable":true},"compactionAcknowledged":{"type":"boolean","nullable":true},"tools":{"type":"array","items":{"type":"string"},"nullable":true},"agentMode":{"type":"boolean","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"messageResponseTypeId":{"type":"integer","format":"int32","nullable":true},"assistant":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"},"isAssistant":{"type":"boolean"},"messageCitations":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageCitationResponse"},"nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"resourceOwnerId":{"type":"string","nullable":true},"isStreaming":{"type":"boolean"},"contentBlocks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.JyloContentBlock"},"nullable":true},"sessionFiles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageSessionFileResponse"},"nullable":true},"webSearchEnabled":{"type":"boolean","nullable":true}},"additionalProperties":false},"Jylo.Projects.Models.Chat.AssistantReadModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"},"documentMetadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties"},"nullable":true},"estimatedTokenCount":{"type":"integer","format":"int32"},"lastContextTokens":{"type":"integer","format":"int64","nullable":true},"lastContextModelIdentifier":{"type":"string","format":"uuid","nullable":true},"compactionEnabled":{"type":"boolean"},"assistantMessageCount":{"type":"integer","format":"int32"},"userMessageCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties":{"type":"object","properties":{"paragraphs":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Paragraph"},"nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid"},"documentType":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.EDocumentType"},"comparedDocumentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Paragraph":{"required":["boundingRegions","content","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"content":{"type":"string","nullable":true},"boundingRegions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Bounding"},"nullable":true},"role":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Role"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Bounding":{"required":["points"],"type":"object","properties":{"points":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"page":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Role":{"enum":["title","sectionHeading","pageHeader","pageFooter","pageNumber"],"type":"string"},"Jylo.Toolkit.Entities.DocumentEntities.EDocumentType":{"enum":["standard","comparison"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageCitationResponse":{"required":["quote"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"quote":{"type":"string","nullable":true},"messageObjectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"flowObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"promptAnswerObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"cellObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"paragraphPageNumber":{"type":"integer","format":"int32","nullable":true},"paragraphBoundingRegions":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"sheetIndex":{"type":"integer","format":"int32","nullable":true},"cellRowIndex":{"type":"integer","format":"int32","nullable":true},"cellColumnIndex":{"type":"integer","format":"int32","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.MessageCitationType"},"endIndex":{"type":"integer","format":"int32","nullable":true},"startIndex":{"type":"integer","format":"int32","nullable":true},"title":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"prompt":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageCitationPromptResponse"}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.MessageCitationType":{"enum":["cell","paragraph","promptAnswer","url"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageCitationPromptResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.JyloContentBlock":{"type":"object","properties":{"id":{"type":"string","nullable":true},"origin":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.ContentBlockOrigin"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.ContentBlockOrigin":{"enum":["openAI","anthropic","agnostic"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageSessionFileResponse":{"required":["name"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"toolCallId":{"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}/flows/{flowIdentifier}/chats/{chatIdentifier}/messages/{objectIdentifier}":{"put":{"tags":["Flow Chat Messages"],"summary":"Update a flow chat message by object identifier.","description":"Replaces the text of an existing flow chat message and returns the updated message.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"chatIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}}}},"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"}}}}}}}}}
```

## Delete a flow chat message by object identifier.

> Permanently removes a flow chat message. Requires container admin rights.

```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}/flows/{flowIdentifier}/chats/{chatIdentifier}/messages/{objectIdentifier}":{"delete":{"tags":["Flow Chat Messages"],"summary":"Delete a flow chat message by object identifier.","description":"Permanently removes a flow chat message. Requires container admin rights.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"chatIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```

## Export a flow chat message in the specified format.

> Generates and returns a downloadable file (PDF, Word, Excel, or email) representing a flow chat message.

```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}/flows/{flowIdentifier}/chats/{chatIdentifier}/messages/{messageObjectIdentifier}/export":{"post":{"tags":["Flow Chat Messages"],"summary":"Export a flow chat message in the specified format.","description":"Generates and returns a downloadable file (PDF, Word, Excel, or email) representing a flow chat message.","parameters":[{"name":"chatIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"messageObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"format","in":"query","schema":{"type":"string","default":"pdf"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"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"}}}}}}}}}
```


# Flow Chats

## List flow chats.

> Returns a paged, searchable and sortable list of the chats belonging to the specified flow.

```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.Projects.Models.Chat.AssistantReadModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"},"documentMetadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties"},"nullable":true},"estimatedTokenCount":{"type":"integer","format":"int32"},"lastContextTokens":{"type":"integer","format":"int64","nullable":true},"lastContextModelIdentifier":{"type":"string","format":"uuid","nullable":true},"compactionEnabled":{"type":"boolean"},"assistantMessageCount":{"type":"integer","format":"int32"},"userMessageCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties":{"type":"object","properties":{"paragraphs":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Paragraph"},"nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid"},"documentType":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.EDocumentType"},"comparedDocumentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Paragraph":{"required":["boundingRegions","content","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"content":{"type":"string","nullable":true},"boundingRegions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Bounding"},"nullable":true},"role":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Role"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Bounding":{"required":["points"],"type":"object","properties":{"points":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"page":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Role":{"enum":["title","sectionHeading","pageHeader","pageFooter","pageNumber"],"type":"string"},"Jylo.Toolkit.Entities.DocumentEntities.EDocumentType":{"enum":["standard","comparison"],"type":"string"},"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}/flows/{flowIdentifier}/chats":{"get":{"tags":["Flow Chats"],"summary":"List flow chats.","description":"Returns a paged, searchable and sortable list of the chats belonging to the specified flow.","parameters":[{"name":"flowIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"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":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}}}}},"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 flow chat.

> Creates a new chat conversation bound to the specified flow, optionally attaching documents to use as context.

```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.Chat.AssistantWriteModel":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Models.Chat.AssistantReadModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"},"documentMetadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties"},"nullable":true},"estimatedTokenCount":{"type":"integer","format":"int32"},"lastContextTokens":{"type":"integer","format":"int64","nullable":true},"lastContextModelIdentifier":{"type":"string","format":"uuid","nullable":true},"compactionEnabled":{"type":"boolean"},"assistantMessageCount":{"type":"integer","format":"int32"},"userMessageCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties":{"type":"object","properties":{"paragraphs":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Paragraph"},"nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid"},"documentType":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.EDocumentType"},"comparedDocumentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Paragraph":{"required":["boundingRegions","content","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"content":{"type":"string","nullable":true},"boundingRegions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Bounding"},"nullable":true},"role":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Role"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Bounding":{"required":["points"],"type":"object","properties":{"points":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"page":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Role":{"enum":["title","sectionHeading","pageHeader","pageFooter","pageNumber"],"type":"string"},"Jylo.Toolkit.Entities.DocumentEntities.EDocumentType":{"enum":["standard","comparison"],"type":"string"},"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}/flows/{flowIdentifier}/chats":{"post":{"tags":["Flow Chats"],"summary":"Create a flow chat.","description":"Creates a new chat conversation bound to the specified flow, optionally attaching documents to use as context.","parameters":[{"name":"flowIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}}}},"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"}}}}}}}}}
```

## Get a flow chat.

> Retrieves a single chat belonging to the flow by its object identifier.

```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.Chat.AssistantReadModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"},"documentMetadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties"},"nullable":true},"estimatedTokenCount":{"type":"integer","format":"int32"},"lastContextTokens":{"type":"integer","format":"int64","nullable":true},"lastContextModelIdentifier":{"type":"string","format":"uuid","nullable":true},"compactionEnabled":{"type":"boolean"},"assistantMessageCount":{"type":"integer","format":"int32"},"userMessageCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties":{"type":"object","properties":{"paragraphs":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Paragraph"},"nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid"},"documentType":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.EDocumentType"},"comparedDocumentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Paragraph":{"required":["boundingRegions","content","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"content":{"type":"string","nullable":true},"boundingRegions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Bounding"},"nullable":true},"role":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Role"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Bounding":{"required":["points"],"type":"object","properties":{"points":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"page":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Role":{"enum":["title","sectionHeading","pageHeader","pageFooter","pageNumber"],"type":"string"},"Jylo.Toolkit.Entities.DocumentEntities.EDocumentType":{"enum":["standard","comparison"],"type":"string"},"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}/flows/{flowIdentifier}/chats/{objectIdentifier}":{"get":{"tags":["Flow Chats"],"summary":"Get a flow chat.","description":"Retrieves a single chat belonging to the flow by its object identifier.","parameters":[{"name":"flowIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}}}},"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 flow chat.

> Updates a flow chat's settings, such as its name, auto-rename behaviour, or the model it uses.

```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.Chat.AssistantUpdateModel":{"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"autoRename":{"type":"boolean","nullable":true},"modelIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Projects.Models.Chat.AssistantReadModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"},"documentMetadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties"},"nullable":true},"estimatedTokenCount":{"type":"integer","format":"int32"},"lastContextTokens":{"type":"integer","format":"int64","nullable":true},"lastContextModelIdentifier":{"type":"string","format":"uuid","nullable":true},"compactionEnabled":{"type":"boolean"},"assistantMessageCount":{"type":"integer","format":"int32"},"userMessageCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties":{"type":"object","properties":{"paragraphs":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Paragraph"},"nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid"},"documentType":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.EDocumentType"},"comparedDocumentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Paragraph":{"required":["boundingRegions","content","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"content":{"type":"string","nullable":true},"boundingRegions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Bounding"},"nullable":true},"role":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Role"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Bounding":{"required":["points"],"type":"object","properties":{"points":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"page":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Role":{"enum":["title","sectionHeading","pageHeader","pageFooter","pageNumber"],"type":"string"},"Jylo.Toolkit.Entities.DocumentEntities.EDocumentType":{"enum":["standard","comparison"],"type":"string"},"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}/flows/{flowIdentifier}/chats/{objectIdentifier}":{"put":{"tags":["Flow Chats"],"summary":"Update a flow chat.","description":"Updates a flow chat's settings, such as its name, auto-rename behaviour, or the model it uses.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantUpdateModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantUpdateModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"}}}},"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 flow chat.

> Permanently deletes a chat from the flow. Requires container administrator rights.

```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}/flows/{flowIdentifier}/chats/{objectIdentifier}":{"delete":{"tags":["Flow Chats"],"summary":"Delete a flow chat.","description":"Permanently deletes a chat from the flow. Requires container administrator rights.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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 document token length.

> Returns the combined token count of the supplied documents, useful for estimating context window usage before attaching them to a chat.

```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.API.Models.Documents.DocumentIdsQueryModel":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"},"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}/flows/{flowIdentifier}/chats/query-token-length":{"post":{"tags":["Flow Chats"],"summary":"Get document token length.","description":"Returns the combined token count of the supplied documents, useful for estimating context window usage before attaching them to a chat.","parameters":[{"name":"flowIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentIdsQueryModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentIdsQueryModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentIdsQueryModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"integer","format":"int64"}},"application/json":{"schema":{"type":"integer","format":"int64"}},"text/json":{"schema":{"type":"integer","format":"int64"}}}},"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"}}}}}}}}}
```

## Download a flow chat session file.

> Downloads a file generated by a tool during a flow chat session.

```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}/flows/{flowIdentifier}/chats/{objectIdentifier}/session-files/{sessionFileIdentifier}":{"get":{"tags":["Flow Chats"],"summary":"Download a flow chat session file.","description":"Downloads a file generated by a tool during a flow chat session.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"sessionFileIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"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"}}}}}}}}}
```


# Flow Document Collection Assignments

## Count a flow's active document collection assignments.

> Returns the number of document collections actively assigned to the specified flow within the 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":{"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}/flows/{flowObjectIdentifier}/flow-document-collection-assignments/active-assignments":{"get":{"tags":["Flow Document Collection Assignments"],"summary":"Count a flow's active document collection assignments.","description":"Returns the number of document collections actively assigned to the specified flow within the project.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"integer","format":"int32"}},"application/json":{"schema":{"type":"integer","format":"int32"}},"text/json":{"schema":{"type":"integer","format":"int32"}}}},"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"}}}}}}}}}
```


# Flow Document Collections

## List a group's document collections.

> Returns a skip/take paged list of the document collections in a flow group, with the total count.

```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.Services.Features.FlowDocuments.Application.Queries.GetFlowDocumentCollectionsByGroup.GetFlowDocumentCollectionsByGroupResponse":{"type":"object","properties":{"totalCount":{"type":"integer","format":"int32"},"skip":{"type":"integer","format":"int32"},"take":{"type":"integer","format":"int32"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"hasActiveAssignment":{"type":"boolean"}},"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}/flow-groups/{flowGroupObjectIdentifier}/flow-document-collections":{"get":{"tags":["Flow Document Collections"],"summary":"List a group's document collections.","description":"Returns a skip/take paged list of the document collections in a flow group, with the total count.","parameters":[{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"skip","in":"query","schema":{"type":"integer","format":"int32","default":0}},{"name":"take","in":"query","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Application.Queries.GetFlowDocumentCollectionsByGroup.GetFlowDocumentCollectionsByGroupResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Application.Queries.GetFlowDocumentCollectionsByGroup.GetFlowDocumentCollectionsByGroupResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Application.Queries.GetFlowDocumentCollectionsByGroup.GetFlowDocumentCollectionsByGroupResponse"}}}},"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 flow document collection.

> Creates a document collection in a flow group and attaches any supplied documents, queuing them for extraction.

```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.Flows.FlowDocuments.CreateFlowDocumentRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"assignments":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.CreateFlowDocumentCollectionAssignmentRequest"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Models.Flows.FlowDocuments.CreateFlowDocumentCollectionAssignmentRequest":{"type":"object","properties":{"documentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"hasActiveAssignment":{"type":"boolean"}},"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}/flow-groups/{flowGroupObjectIdentifier}/flow-document-collections":{"post":{"tags":["Flow Document Collections"],"summary":"Create a flow document collection.","description":"Creates a document collection in a flow group and attaches any supplied documents, queuing them for extraction.","parameters":[{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.CreateFlowDocumentRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.CreateFlowDocumentRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.CreateFlowDocumentRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionResponse"}}}},"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"}}}}}}}}}
```

## Bulk-create flow document collections.

> Creates a collection for each supplied document in the flow group in a single request.

```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.Flows.FlowDocuments.CreateReviewDocumentsRequest":{"type":"object","properties":{"documentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"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}/flow-groups/{flowGroupObjectIdentifier}/flow-document-collections/bulk":{"post":{"tags":["Flow Document Collections"],"summary":"Bulk-create flow document collections.","description":"Creates a collection for each supplied document in the flow group in a single request.","parameters":[{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.CreateReviewDocumentsRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.CreateReviewDocumentsRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.CreateReviewDocumentsRequest"}}}},"responses":{"204":{"description":"No Content"},"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 flow document collection.

> Returns the full detail of a single document collection identified by its GUID.

```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.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"hasActiveAssignment":{"type":"boolean"}},"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}/flow-groups/{flowGroupObjectIdentifier}/flow-document-collections/{objectIdentifier}":{"get":{"tags":["Flow Document Collections"],"summary":"Get a flow document collection.","description":"Returns the full detail of a single document collection identified by its GUID.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionResponse"}}}},"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"}}}}}}}}}
```

## Delete a flow document collection.

> Deletes a document collection unless a flow run is currently in progress for it.

```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}/flow-groups/{flowGroupObjectIdentifier}/flow-document-collections/{objectIdentifier}":{"delete":{"tags":["Flow Document Collections"],"summary":"Delete a flow document collection.","description":"Deletes a document collection unless a flow run is currently in progress for it.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}},"409":{"description":"Conflict","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"}}}}}}}}}
```

## Search flow document collections.

> Returns a paginated, filtered and sorted list of document collections within a flow group.

```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.Flows.FlowDocuments.SearchFlowDocumentsRequest":{"type":"object","properties":{"filters":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterItem"},"nullable":true},"logicOperator":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.FilterLogicOperator"},"columnFilters":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"tagFilters":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.TagFilterItem"},"nullable":true},"folderFilters":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.FolderFilterItem"},"nullable":true},"page":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"searchText":{"type":"string","nullable":true},"sortBy":{"type":"string","nullable":true},"sortAsc":{"type":"boolean","nullable":true},"documentObjectIdentifiersToSearch":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"promptObjectIdentifiersToInclude":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"assignedToResourceOwnerIds":{"type":"array","items":{"type":"string"},"nullable":true},"reviewedByResourceOwnerIds":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterItem":{"type":"object","properties":{"promptObjectIdentifier":{"type":"string","format":"uuid"},"operator":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterOperator"},"value":{"type":"string","nullable":true},"values":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterOperator":{"enum":["is","not","equals","notEquals","contains","doesNotContain","startsWith","endsWith","isAnyOf","isEmpty","isNotEmpty","after","onOrAfter","before","onOrBefore","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.FilterLogicOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.TagFilterItem":{"type":"object","properties":{"key":{"type":"string","nullable":true},"values":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.FolderFilterItem":{"type":"object","properties":{"operator":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterOperator"},"value":{"type":"string","nullable":true},"values":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.SearchFlowDocumentCollectionsResponse":{"type":"object","properties":{"totalCount":{"type":"integer","format":"int32"},"page":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionRowResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionRowResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.DocumentRowResponse"},"nullable":true},"promptAnswers":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionPromptAnswerResponse"},"nullable":true},"approvedCount":{"type":"integer","format":"int32"},"rejectedCount":{"type":"integer","format":"int32"},"awaitVerificationCount":{"type":"integer","format":"int32"},"hasActiveAssignment":{"type":"boolean"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionTagResponse"},"nullable":true},"throttledPrompts":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"promptSkips":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionPromptSkipResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.DocumentRowResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"extension":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"tokenCount":{"type":"integer","format":"int32","nullable":true},"pageCount":{"type":"integer","format":"int32","nullable":true},"convertedToPdf":{"type":"boolean"},"flowDocumentObjectIdentifier":{"type":"string","format":"uuid"},"folder":{"type":"string","nullable":true},"filePath":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionPromptAnswerResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"booleanAnswer":{"type":"boolean","nullable":true},"textAnswer":{"type":"string","nullable":true},"decimalAnswer":{"type":"number","format":"double","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"approved":{"type":"boolean","nullable":true},"assignedTo":{"type":"string","nullable":true},"reviewedBy":{"type":"string","nullable":true},"assignedToMember":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult"},"reviewedByMember":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult"},"failedToAnswer":{"type":"boolean"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionPromptAnswerCategoryResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"email":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionPromptAnswerCategoryResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptCategoryObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionTagResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionPromptSkipResponse":{"type":"object","properties":{"reason":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptSkipReason"},"detail":{"type":"string","nullable":true},"operator":{"type":"string","nullable":true},"clauses":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptSkipClauseResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptSkipReason":{"enum":["none","conditionsNotMet","dependencyNotMet","runStopped"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptSkipClauseResult":{"type":"object","properties":{"predicate":{"type":"string","nullable":true},"condition":{"type":"string","nullable":true},"actual":{"type":"string","nullable":true},"expectedValues":{"type":"array","items":{"type":"string"},"nullable":true},"actualValues":{"type":"array","items":{"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}/flow-groups/{flowGroupObjectIdentifier}/flow-document-collections/search":{"post":{"tags":["Flow Document Collections"],"summary":"Search flow document collections.","description":"Returns a paginated, filtered and sorted list of document collections within a flow group.","parameters":[{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.SearchFlowDocumentsRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.SearchFlowDocumentsRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.SearchFlowDocumentsRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.SearchFlowDocumentCollectionsResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.SearchFlowDocumentCollectionsResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.SearchFlowDocumentCollectionsResponse"}}}},"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"}}}}}}}}}
```

## Locate a collection's page and row.

> Finds the page and row index of a prompt answer within the given search, filter and sort context.

```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.Flows.FlowDocuments.LocateFlowDocumentCollectionRequest":{"type":"object","properties":{"promptAnswerObjectIdentifier":{"type":"string","format":"uuid"},"pageSize":{"type":"integer","format":"int32"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterItem"},"nullable":true},"logicOperator":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.FilterLogicOperator"},"columnFilters":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"tagFilters":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.TagFilterItem"},"nullable":true},"folderFilters":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.FolderFilterItem"},"nullable":true},"searchText":{"type":"string","nullable":true},"sortBy":{"type":"string","nullable":true},"sortAsc":{"type":"boolean","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterItem":{"type":"object","properties":{"promptObjectIdentifier":{"type":"string","format":"uuid"},"operator":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterOperator"},"value":{"type":"string","nullable":true},"values":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterOperator":{"enum":["is","not","equals","notEquals","contains","doesNotContain","startsWith","endsWith","isAnyOf","isEmpty","isNotEmpty","after","onOrAfter","before","onOrBefore","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.FilterLogicOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.TagFilterItem":{"type":"object","properties":{"key":{"type":"string","nullable":true},"values":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.FolderFilterItem":{"type":"object","properties":{"operator":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterOperator"},"value":{"type":"string","nullable":true},"values":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.LocateFlowDocumentCollectionResponse":{"type":"object","properties":{"found":{"type":"boolean"},"page":{"type":"integer","format":"int32","nullable":true},"rowIndex":{"type":"integer","format":"int32","nullable":true},"reason":{"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}/flow-groups/{flowGroupObjectIdentifier}/flow-document-collections/locate":{"post":{"tags":["Flow Document Collections"],"summary":"Locate a collection's page and row.","description":"Finds the page and row index of a prompt answer within the given search, filter and sort context.","parameters":[{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.LocateFlowDocumentCollectionRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.LocateFlowDocumentCollectionRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.LocateFlowDocumentCollectionRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.LocateFlowDocumentCollectionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.LocateFlowDocumentCollectionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.LocateFlowDocumentCollectionResponse"}}}},"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"}}}},"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"}}}}}}}}}
```

## Count a group's document collections.

> Returns the total number of document collections in the specified flow group.

```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}/flow-groups/{flowGroupObjectIdentifier}/flow-document-collections/count":{"get":{"tags":["Flow Document Collections"],"summary":"Count a group's document collections.","description":"Returns the total number of document collections in the specified flow group.","parameters":[{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"integer","format":"int32"}},"application/json":{"schema":{"type":"integer","format":"int32"}},"text/json":{"schema":{"type":"integer","format":"int32"}}}},"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"}}}}}}}}}
```

## Add documents to a collection.

> Attaches additional documents to an existing collection and queues them for extraction.

```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.Flows.FlowDocuments.CreateFlowDocumentCollectionAssignmentRequest":{"type":"object","properties":{"documentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowDocumentCollectionAssignments.Application.Commands.CreateFlowDocumentCollectionAssignment.CreateFlowDocumentCollectionAssignmentResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"flowDocumentCollectionObjectIdentifier":{"type":"string","format":"uuid"},"documentsAssigned":{"type":"integer","format":"int32"},"createdAtUtc":{"type":"string","format":"date-time"}},"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}/flow-groups/{flowGroupObjectIdentifier}/flow-document-collections/{collectionObjectIdentifier}/assignments":{"post":{"tags":["Flow Document Collections"],"summary":"Add documents to a collection.","description":"Attaches additional documents to an existing collection and queues them for extraction.","parameters":[{"name":"collectionObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.CreateFlowDocumentCollectionAssignmentRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.CreateFlowDocumentCollectionAssignmentRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.CreateFlowDocumentCollectionAssignmentRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocumentCollectionAssignments.Application.Commands.CreateFlowDocumentCollectionAssignment.CreateFlowDocumentCollectionAssignmentResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocumentCollectionAssignments.Application.Commands.CreateFlowDocumentCollectionAssignment.CreateFlowDocumentCollectionAssignmentResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocumentCollectionAssignments.Application.Commands.CreateFlowDocumentCollectionAssignment.CreateFlowDocumentCollectionAssignmentResult"}}}},"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"}}}},"409":{"description":"Conflict","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"}}}}}}}}}
```

## List a collection's tags.

> Returns the manual key/value tags applied to a document collection.

```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.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionTagResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"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}/flow-groups/{flowGroupObjectIdentifier}/flow-document-collections/{collectionObjectIdentifier}/tags":{"get":{"tags":["Flow Document Collections"],"summary":"List a collection's tags.","description":"Returns the manual key/value tags applied to a document collection.","parameters":[{"name":"collectionObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionTagResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionTagResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionTagResponse"}}}}},"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"}}}}}}}}}
```

## Set a collection tag.

> Adds or updates a manual key/value tag on a document collection.

```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.Flows.FlowDocuments.SetFlowDocumentCollectionTagRequest":{"required":["key","value"],"type":"object","properties":{"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionTagResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"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}/flow-groups/{flowGroupObjectIdentifier}/flow-document-collections/{collectionObjectIdentifier}/tags":{"put":{"tags":["Flow Document Collections"],"summary":"Set a collection tag.","description":"Adds or updates a manual key/value tag on a document collection.","parameters":[{"name":"collectionObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.SetFlowDocumentCollectionTagRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.SetFlowDocumentCollectionTagRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.SetFlowDocumentCollectionTagRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionTagResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionTagResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionTagResponse"}}}},"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"}}}}}}}}}
```

## List the flow's tag vocabulary.

> Returns every distinct key/value tag used across the owning flow's collections.

```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.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionTagResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"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}/flow-groups/{flowGroupObjectIdentifier}/tags":{"get":{"tags":["Flow Document Collections"],"summary":"List the flow's tag vocabulary.","description":"Returns every distinct key/value tag used across the owning flow's collections.","parameters":[{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionTagResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionTagResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentCollectionTagResponse"}}}}},"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"}}}}}}}}}
```

## List the flow group's folder vocabulary.

> Returns the distinct folders the group's documents sit in, plus "Home" when any are filed at the project root.

```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}/flow-groups/{flowGroupObjectIdentifier}/folders":{"get":{"tags":["Flow Document Collections"],"summary":"List the flow group's folder vocabulary.","description":"Returns the distinct folders the group's documents sit in, plus \"Home\" when any are filed at the project root.","parameters":[{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"type":"string"}}},"application/json":{"schema":{"type":"array","items":{"type":"string"}}},"text/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"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"}}}}}}}}}
```

## Remove a collection tag.

> Removes a manual key/value tag from a document collection.

```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}/flow-groups/{flowGroupObjectIdentifier}/flow-document-collections/{collectionObjectIdentifier}/tags/{tagObjectIdentifier}":{"delete":{"tags":["Flow Document Collections"],"summary":"Remove a collection tag.","description":"Removes a manual key/value tag from a document collection.","parameters":[{"name":"collectionObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"tagObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}},"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"}}}}}}}}}
```


# Flow Documents

## List documents in a flow collection.

> Returns a paginated list of documents in the specified flow document collection, including the total count for pagination.

```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.Services.Features.FlowDocuments.Application.Queries.GetFlowDocumentsByCollection.GetFlowDocumentsByCollectionResponse":{"type":"object","properties":{"totalCount":{"type":"integer","format":"int32"},"skip":{"type":"integer","format":"int32"},"take":{"type":"integer","format":"int32"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"flowDocumentCollectionObjectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"document":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.DocumentResponse"}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.DocumentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"extension":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"tokenCount":{"type":"integer","format":"int32","nullable":true},"pageCount":{"type":"integer","format":"int32","nullable":true},"convertedToPdf":{"type":"boolean"},"folder":{"type":"string","nullable":true},"filePath":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"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}/flow-document-collections/{collectionObjectIdentifier}/documents":{"get":{"tags":["Flow Documents"],"summary":"List documents in a flow collection.","description":"Returns a paginated list of documents in the specified flow document collection, including the total count for pagination.","parameters":[{"name":"collectionObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"skip","in":"query","schema":{"type":"integer","format":"int32","default":0}},{"name":"take","in":"query","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Application.Queries.GetFlowDocumentsByCollection.GetFlowDocumentsByCollectionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Application.Queries.GetFlowDocumentsByCollection.GetFlowDocumentsByCollectionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Application.Queries.GetFlowDocumentsByCollection.GetFlowDocumentsByCollectionResponse"}}}},"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"}}}}}}}}}
```

## Add a document to a flow collection.

> Links an existing document into a flow document collection so it can be used by flows in the 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.Flows.FlowDocuments.AddFlowDocumentRequest":{"required":["documentObjectIdentifier"],"type":"object","properties":{"documentObjectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"flowDocumentCollectionObjectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"document":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.DocumentResponse"}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.DocumentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"extension":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"tokenCount":{"type":"integer","format":"int32","nullable":true},"pageCount":{"type":"integer","format":"int32","nullable":true},"convertedToPdf":{"type":"boolean"},"folder":{"type":"string","nullable":true},"filePath":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"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}/flow-document-collections/{collectionObjectIdentifier}/documents":{"post":{"tags":["Flow Documents"],"summary":"Add a document to a flow collection.","description":"Links an existing document into a flow document collection so it can be used by flows in the project.","parameters":[{"name":"collectionObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.AddFlowDocumentRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.AddFlowDocumentRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowDocuments.AddFlowDocumentRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowDocuments.Contracts.Responses.FlowDocumentResponse"}}}},"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"}}}}}}}}}
```

## Remove a document from a flow collection.

> Unlinks a document from its flow document collection. The original document is not deleted, only its association with the collection. All prompt answers for that collection are deleted because they are no longer valid once the collection's documents change.

```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}/flow-documents/{objectIdentifier}":{"delete":{"tags":["Flow Documents"],"summary":"Remove a document from a flow collection.","description":"Unlinks a document from its flow document collection. The original document is not deleted, only its association with the collection. All prompt answers for that collection are deleted because they are no longer valid once the collection's documents change.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```

## List flow reference material documents.

> Returns a paginated list of the documents and folders directly inside a flow reference material's folder, or at its top level when no parent is given.

```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":{"PaginationList.FlowSourceDocumentResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Responses.FlowSourceDocumentResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Responses.FlowSourceDocumentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentUploadObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"flowReferenceMaterialObjectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"extension":{"type":"string","nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flows/{flowObjectIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents":{"get":{"tags":["Flow Documents"],"summary":"List flow reference material documents.","description":"Returns a paginated list of the documents and folders directly inside a flow reference material's folder, or at its top level when no parent is given.","parameters":[{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20}},{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowSourceDocumentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowSourceDocumentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowSourceDocumentResponse"}}}},"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 flow document or folder.

> Creates a new document or folder within a flow reference material's file tree, optionally nested under a parent folder.

```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.Services.Features.FlowSourceDocuments.Contracts.Requests.CreateFlowSourceDocumentRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Responses.FlowSourceDocumentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentUploadObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"flowReferenceMaterialObjectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"extension":{"type":"string","nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flows/{flowObjectIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents":{"post":{"tags":["Flow Documents"],"summary":"Create a flow document or folder.","description":"Creates a new document or folder within a flow reference material's file tree, optionally nested under a parent folder.","parameters":[{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Requests.CreateFlowSourceDocumentRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Requests.CreateFlowSourceDocumentRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Requests.CreateFlowSourceDocumentRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Responses.FlowSourceDocumentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Responses.FlowSourceDocumentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Responses.FlowSourceDocumentResponse"}}}},"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 flow document by id.

> Returns the details of a single document or folder within a flow reference material.

```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.Services.Features.FlowSourceDocuments.Contracts.Responses.FlowSourceDocumentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentUploadObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"flowReferenceMaterialObjectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"extension":{"type":"string","nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flows/{flowObjectIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/{objectIdentifier}":{"get":{"tags":["Flow Documents"],"summary":"Get a flow document by id.","description":"Returns the details of a single document or folder within a flow reference material.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Responses.FlowSourceDocumentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Responses.FlowSourceDocumentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Responses.FlowSourceDocumentResponse"}}}},"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"}}}}}}}}}
```

## Update a flow document.

> Updates a flow document or folder, for example to move it to a different parent folder.

```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.Services.Features.FlowSourceDocuments.Contracts.Requests.UpdateFlowSourceDocumentRequest":{"type":"object","properties":{"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Responses.FlowSourceDocumentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentUploadObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"flowReferenceMaterialObjectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"extension":{"type":"string","nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flows/{flowObjectIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/{objectIdentifier}":{"put":{"tags":["Flow Documents"],"summary":"Update a flow document.","description":"Updates a flow document or folder, for example to move it to a different parent folder.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Requests.UpdateFlowSourceDocumentRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Requests.UpdateFlowSourceDocumentRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Requests.UpdateFlowSourceDocumentRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Responses.FlowSourceDocumentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Responses.FlowSourceDocumentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocuments.Contracts.Responses.FlowSourceDocumentResponse"}}}},"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"}}}}}}}}}
```

## Delete a flow document or folder.

> Permanently deletes a document or folder from a flow reference material.

```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}/flows/{flowObjectIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/{objectIdentifier}":{"delete":{"tags":["Flow Documents"],"summary":"Delete a flow document or folder.","description":"Permanently deletes a document or folder from a flow reference material.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```

## Download a flow document file.

> Streams the file content of a flow document, optionally as a PDF rendition.

```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}/flows/{flowObjectIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/{objectIdentifier}/download":{"get":{"tags":["Flow Documents"],"summary":"Download a flow document file.","description":"Streams the file content of a flow document, optionally as a PDF rendition.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"usePdf","in":"query","schema":{"type":"boolean","default":false}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"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"}}}}}}}}}
```


# Flow Group Assignment Entries

## List entries for a flow group assignment.

> Returns the flow document collection definitions linked to the specified flow group assignment.

```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.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionDefinitionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"useAllDocuments":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionEntryResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionEntryResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"}},"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}/flows/{flowObjectIdentifier}/flow-group-assignment-entries":{"get":{"tags":["Flow Group Assignment Entries"],"summary":"List entries for a flow group assignment.","description":"Returns the flow document collection definitions linked to the specified flow group assignment.","parameters":[{"name":"flowGroupAssignmentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionDefinitionResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionDefinitionResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionDefinitionResponse"}}}}},"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"}}}}}}}}}
```

## Sync flow group assignment entries.

> Adds and removes documents linked to a flow's group assignment so the assignment's document set matches the supplied lists.

```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.Flows.FlowGroupAssignmentEntries.SyncFlowGroupAssignmentEntriesRequest":{"type":"object","properties":{"flowDocumentCollectionDefinitionObjectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifiersToAdd":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"documentObjectIdentifiersToRemove":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionDefinitionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"useAllDocuments":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionEntryResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionEntryResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"}},"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}/flows/{flowObjectIdentifier}/flow-group-assignment-entries":{"put":{"tags":["Flow Group Assignment Entries"],"summary":"Sync flow group assignment entries.","description":"Adds and removes documents linked to a flow's group assignment so the assignment's document set matches the supplied lists.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowGroupAssignmentEntries.SyncFlowGroupAssignmentEntriesRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowGroupAssignmentEntries.SyncFlowGroupAssignmentEntriesRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowGroupAssignmentEntries.SyncFlowGroupAssignmentEntriesRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionDefinitionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionDefinitionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionDefinitionResponse"}}}},"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"}}}},"409":{"description":"Conflict","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"}}}}}}}}}
```


# Flow Group Assignments

## Assign a flow group to a flow.

> Creates a flow group assignment that defines which document collections a flow group runs against within a 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.Flows.FlowGroupAssignments.CreateFlowGroupAssignmentRequest":{"type":"object","properties":{"flowGroupObjectIdentifier":{"type":"string","format":"uuid"},"collections":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowGroupAssignments.CreateFlowDocumentCollectionDefinitionInput"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Models.Flows.FlowGroupAssignments.CreateFlowDocumentCollectionDefinitionInput":{"type":"object","properties":{"name":{"type":"string","nullable":true},"useAllDocuments":{"type":"boolean"},"documentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowGroupAssignmentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"flowGroupObjectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"collections":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionDefinitionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionDefinitionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"useAllDocuments":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionEntryResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionEntryResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"}},"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}/flows/{flowObjectIdentifier}/flow-group-assignments":{"post":{"tags":["Flow Group Assignments"],"summary":"Assign a flow group to a flow.","description":"Creates a flow group assignment that defines which document collections a flow group runs against within a project.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowGroupAssignments.CreateFlowGroupAssignmentRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowGroupAssignments.CreateFlowGroupAssignmentRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowGroupAssignments.CreateFlowGroupAssignmentRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowGroupAssignmentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowGroupAssignmentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowGroupAssignmentResponse"}}}},"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"}}}},"409":{"description":"Conflict","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"}}}}}}}}}
```

## Count active flow group assignments.

> Returns how many flow group assignments are currently active for the specified flow.

```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}/flows/{flowObjectIdentifier}/flow-group-assignments/active-assignments":{"get":{"tags":["Flow Group Assignments"],"summary":"Count active flow group assignments.","description":"Returns how many flow group assignments are currently active for the specified flow.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"integer","format":"int32"}},"application/json":{"schema":{"type":"integer","format":"int32"}},"text/json":{"schema":{"type":"integer","format":"int32"}}}},"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 flow group assignment by id.

> Returns the details of a single flow group assignment, including its configured document collections.

```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.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowGroupAssignmentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"flowGroupObjectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"collections":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionDefinitionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionDefinitionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"useAllDocuments":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionEntryResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowDocumentCollectionEntryResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"}},"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}/flows/{flowObjectIdentifier}/flow-group-assignments/{objectIdentifier}":{"get":{"tags":["Flow Group Assignments"],"summary":"Get a flow group assignment by id.","description":"Returns the details of a single flow group assignment, including its configured document collections.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowGroupAssignmentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowGroupAssignmentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroupAssignments.Contracts.Responses.FlowGroupAssignmentResponse"}}}},"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"}}}}}}}}}
```


# Flow Reference Material Assignment Entries

## Get a flow's reference material assignment.

> Returns a flow's source-document assignment and the reference material documents currently linked to it.

```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.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"flowReferenceMaterialObjectIdentifier":{"type":"string","format":"uuid"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentEntryResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentEntryResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid"}},"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}/flows/{flowObjectIdentifier}/flow-reference-material-assignment-entries":{"get":{"tags":["Flow Reference Material Assignment Entries"],"summary":"Get a flow's reference material assignment.","description":"Returns a flow's source-document assignment and the reference material documents currently linked to it.","parameters":[{"name":"flowSourceDocumentAssignmentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}}}},"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"}}}}}}}}}
```

## Sync flow reference material documents.

> Adds and removes reference material documents on a flow's source-document assignment in a single call, returning the updated assignment.

```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.Flows.FlowSourceDocumentAssignmentEntries.SyncFlowSourceDocumentAssignmentEntriesRequest":{"type":"object","properties":{"flowSourceDocumentAssignmentObjectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifiersToAdd":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"documentObjectIdentifiersToRemove":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"flowReferenceMaterialObjectIdentifier":{"type":"string","format":"uuid"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentEntryResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentEntryResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid"}},"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}/flows/{flowObjectIdentifier}/flow-reference-material-assignment-entries":{"put":{"tags":["Flow Reference Material Assignment Entries"],"summary":"Sync flow reference material documents.","description":"Adds and removes reference material documents on a flow's source-document assignment in a single call, returning the updated assignment.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowSourceDocumentAssignmentEntries.SyncFlowSourceDocumentAssignmentEntriesRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowSourceDocumentAssignmentEntries.SyncFlowSourceDocumentAssignmentEntriesRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowSourceDocumentAssignmentEntries.SyncFlowSourceDocumentAssignmentEntriesRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}}}},"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"}}}}}}}}}
```


# Flow Reference Material Assignments

## List assignments for reference material.

> Returns all source document assignments associated with the specified flow reference material.

```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.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"flowReferenceMaterialObjectIdentifier":{"type":"string","format":"uuid"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentEntryResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentEntryResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid"}},"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}/flows/{flowObjectIdentifier}/flow-reference-material-assignments":{"get":{"tags":["Flow Reference Material Assignments"],"summary":"List assignments for reference material.","description":"Returns all source document assignments associated with the specified flow reference material.","parameters":[{"name":"flowReferenceMaterialObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}}}}},"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"}}}}}}}}}
```

## Assign documents to flow reference material.

> Attaches one or more source documents to a flow's reference material so the flow can use them as reference during execution.

```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.Flows.FlowSourceDocumentAssignments.CreateFlowSourceDocumentAssignmentRequest":{"type":"object","properties":{"flowReferenceMaterialObjectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"flowReferenceMaterialObjectIdentifier":{"type":"string","format":"uuid"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentEntryResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentEntryResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid"}},"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}/flows/{flowObjectIdentifier}/flow-reference-material-assignments":{"post":{"tags":["Flow Reference Material Assignments"],"summary":"Assign documents to flow reference material.","description":"Attaches one or more source documents to a flow's reference material so the flow can use them as reference during execution.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowSourceDocumentAssignments.CreateFlowSourceDocumentAssignmentRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowSourceDocumentAssignments.CreateFlowSourceDocumentAssignmentRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowSourceDocumentAssignments.CreateFlowSourceDocumentAssignmentRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}}}},"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"}}}}}}}}}
```

## Count active flow document assignments.

> Returns how many source document assignments are currently active for the specified flow.

```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}/flows/{flowObjectIdentifier}/flow-reference-material-assignments/active-assignments":{"get":{"tags":["Flow Reference Material Assignments"],"summary":"Count active flow document assignments.","description":"Returns how many source document assignments are currently active for the specified flow.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"integer","format":"int32"}},"application/json":{"schema":{"type":"integer","format":"int32"}},"text/json":{"schema":{"type":"integer","format":"int32"}}}},"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 flow document assignment by id.

> Retrieves a single flow source document assignment by its unique identifier.

```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.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"flowReferenceMaterialObjectIdentifier":{"type":"string","format":"uuid"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentEntryResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentEntryResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid"}},"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}/flows/{flowObjectIdentifier}/flow-reference-material-assignments/{objectIdentifier}":{"get":{"tags":["Flow Reference Material Assignments"],"summary":"Get a flow document assignment by id.","description":"Retrieves a single flow source document assignment by its unique identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}}}},"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"}}}}}}}}}
```

## Update a flow document assignment.

> Replaces the documents attached to an existing flow source document assignment.

```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.Flows.FlowSourceDocumentAssignments.UpdateFlowSourceDocumentAssignmentRequest":{"type":"object","properties":{"documentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"flowReferenceMaterialObjectIdentifier":{"type":"string","format":"uuid"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentEntryResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentEntryResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid"}},"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}/flows/{flowObjectIdentifier}/flow-reference-material-assignments/{objectIdentifier}":{"put":{"tags":["Flow Reference Material Assignments"],"summary":"Update a flow document assignment.","description":"Replaces the documents attached to an existing flow source document assignment.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowSourceDocumentAssignments.UpdateFlowSourceDocumentAssignmentRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowSourceDocumentAssignments.UpdateFlowSourceDocumentAssignmentRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowSourceDocumentAssignments.UpdateFlowSourceDocumentAssignmentRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowSourceDocumentAssignments.Contracts.Responses.FlowSourceDocumentAssignmentResponse"}}}},"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"}}}}}}}}}
```

## Delete a flow document assignment.

> Removes a flow source document assignment, detaching its documents from the flow's reference material.

```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}/flows/{flowObjectIdentifier}/flow-reference-material-assignments/{objectIdentifier}":{"delete":{"tags":["Flow Reference Material Assignments"],"summary":"Delete a flow document assignment.","description":"Removes a flow source document assignment, detaching its documents from the flow's reference material.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```


# Flows

## List category conditions.

> Returns a paginated list of category conditions belonging to a specific assembly reference condition.

```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":{"PaginationList.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{conditionObjectIdentifier}/category-conditions":{"get":{"tags":["Flows"],"summary":"List category conditions.","description":"Returns a paginated list of category conditions belonging to a specific assembly reference condition.","parameters":[{"name":"conditionObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationList.AssemblyReferenceCategoryConditionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationList.AssemblyReferenceCategoryConditionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationList.AssemblyReferenceCategoryConditionResponse"}}}},"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 category condition.

> Creates a new category condition under an assembly reference condition, defining a text value (with optional fuzzy matching) to match against.

```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.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.CreateAssemblyReferenceCategoryConditionRequest":{"required":["text"],"type":"object","properties":{"fuzzyMatch":{"type":"boolean"},"text":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{conditionObjectIdentifier}/category-conditions":{"post":{"tags":["Flows"],"summary":"Create a category condition.","description":"Creates a new category condition under an assembly reference condition, defining a text value (with optional fuzzy matching) to match against.","parameters":[{"name":"conditionObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.CreateAssemblyReferenceCategoryConditionRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.CreateAssemblyReferenceCategoryConditionRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.CreateAssemblyReferenceCategoryConditionRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}}}},"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 category condition.

> Retrieves a single category condition by its unique identifier.

```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.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{conditionObjectIdentifier}/category-conditions/{objectIdentifier}":{"get":{"tags":["Flows"],"summary":"Get a category condition.","description":"Retrieves a single category condition by its unique identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"conditionObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}}}},"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"}}}}}}}}}
```

## Update a category condition.

> Updates the match text and fuzzy matching setting of an existing category condition.

```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.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.UpdateAssemblyReferenceCategoryConditionRequest":{"required":["text"],"type":"object","properties":{"fuzzyMatch":{"type":"boolean"},"text":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{conditionObjectIdentifier}/category-conditions/{objectIdentifier}":{"put":{"tags":["Flows"],"summary":"Update a category condition.","description":"Updates the match text and fuzzy matching setting of an existing category condition.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"conditionObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.UpdateAssemblyReferenceCategoryConditionRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.UpdateAssemblyReferenceCategoryConditionRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.UpdateAssemblyReferenceCategoryConditionRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}}}},"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"}}}}}}}}}
```

## Delete a category condition.

> Permanently deletes a category condition from its parent assembly reference condition.

```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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{conditionObjectIdentifier}/category-conditions/{objectIdentifier}":{"delete":{"tags":["Flows"],"summary":"Delete a category condition.","description":"Permanently deletes a category condition from its parent assembly reference condition.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"conditionObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```

## List conditions for an assembly reference.

> Retrieves a paginated list of the branching conditions configured on an assembly reference within a flow.

```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":{"PaginationList.AssemblyReferenceConditionResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions":{"get":{"tags":["Flows"],"summary":"List conditions for an assembly reference.","description":"Retrieves a paginated list of the branching conditions configured on an assembly reference within a flow.","parameters":[{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationList.AssemblyReferenceConditionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationList.AssemblyReferenceConditionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationList.AssemblyReferenceConditionResponse"}}}},"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 an assembly reference condition.

> Defines a new branching condition on an assembly reference within a flow, such as a yes/no, numeric range, date, text, or category match rule.

```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.Services.Features.AssemblyReferenceConditions.Contracts.Requests.CreateAssemblyReferenceConditionRequest":{"type":"object","properties":{"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.CreateAssemblyReferenceCategoryConditionRequest"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.CreateAssemblyReferenceCategoryConditionRequest":{"required":["text"],"type":"object","properties":{"fuzzyMatch":{"type":"boolean"},"text":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions":{"post":{"tags":["Flows"],"summary":"Create an assembly reference condition.","description":"Defines a new branching condition on an assembly reference within a flow, such as a yes/no, numeric range, date, text, or category match rule.","parameters":[{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Requests.CreateAssemblyReferenceConditionRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Requests.CreateAssemblyReferenceConditionRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Requests.CreateAssemblyReferenceConditionRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}}}},"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 an assembly reference condition.

> Retrieves the details of a single branching condition on an assembly reference by its identifier.

```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.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{objectIdentifier}":{"get":{"tags":["Flows"],"summary":"Get an assembly reference condition.","description":"Retrieves the details of a single branching condition on an assembly reference by its identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}}}},"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"}}}}}}}}}
```

## Update an assembly reference condition.

> Modifies the branching rule of an existing assembly reference condition, such as its operators, expected answers, or target prompt.

```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.Services.Features.AssemblyReferenceConditions.Contracts.Requests.UpdateAssemblyReferenceConditionRequest":{"type":"object","properties":{"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{objectIdentifier}":{"put":{"tags":["Flows"],"summary":"Update an assembly reference condition.","description":"Modifies the branching rule of an existing assembly reference condition, such as its operators, expected answers, or target prompt.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Requests.UpdateAssemblyReferenceConditionRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Requests.UpdateAssemblyReferenceConditionRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Requests.UpdateAssemblyReferenceConditionRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}}}},"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"}}}}}}}}}
```

## Delete an assembly reference condition.

> Permanently removes a branching condition from an assembly reference within a flow.

```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}/flows/{flowObjectIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{objectIdentifier}":{"delete":{"tags":["Flows"],"summary":"Delete an assembly reference condition.","description":"Permanently removes a branching condition from an assembly reference within a flow.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```

## List a flow's columns.

> Returns a paginated list of the columns defined on the specified flow.

```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":{"PaginationList.FlowColumnResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowColumns.Contracts.Responses.FlowColumnResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowColumns.Contracts.Responses.FlowColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"}},"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}/flows/{flowObjectIdentifier}/flow-columns":{"get":{"tags":["Flows"],"summary":"List a flow's columns.","description":"Returns a paginated list of the columns defined on the specified flow.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowColumnResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowColumnResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowColumnResponse"}}}},"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"}}}}}}}}}
```

## Add a column to a flow.

> Creates a flow column by linking an existing prompt to the specified flow, and returns the new column's identifier.

```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.Flows.FlowColumns.CreateFlowColumnRequest":{"type":"object","properties":{"promptObjectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowColumns.Contracts.Responses.FlowColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"}},"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}/flows/{flowObjectIdentifier}/flow-columns":{"post":{"tags":["Flows"],"summary":"Add a column to a flow.","description":"Creates a flow column by linking an existing prompt to the specified flow, and returns the new column's identifier.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowColumns.CreateFlowColumnRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowColumns.CreateFlowColumnRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowColumns.CreateFlowColumnRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowColumns.Contracts.Responses.FlowColumnResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowColumns.Contracts.Responses.FlowColumnResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowColumns.Contracts.Responses.FlowColumnResponse"}}}},"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 flow column by id.

> Returns the details of a single flow column identified by its object identifier.

```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.Services.Features.FlowColumns.Contracts.Responses.FlowColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"}},"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}/flows/{flowObjectIdentifier}/flow-columns/{objectIdentifier}":{"get":{"tags":["Flows"],"summary":"Get a flow column by id.","description":"Returns the details of a single flow column identified by its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowColumns.Contracts.Responses.FlowColumnResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowColumns.Contracts.Responses.FlowColumnResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowColumns.Contracts.Responses.FlowColumnResponse"}}}},"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"}}}}}}}}}
```

## Delete a flow column.

> Removes the specified column from its flow. Returns no content when the deletion succeeds.

```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}/flows/{flowObjectIdentifier}/flow-columns/{objectIdentifier}":{"delete":{"tags":["Flows"],"summary":"Delete a flow column.","description":"Removes the specified column from its flow. Returns no content when the deletion succeeds.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```

## List flows.

> Returns a paged, sortable and filterable list of flows in the project, optionally scoped to a folder.

```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"},"PaginationList.FlowResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"isDirectory":{"type":"boolean"},"isCompleted":{"type":"boolean"},"groupCount":{"type":"integer","format":"int32"},"promptCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"},"playbooks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowPlaybookSummary"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowPlaybookSummary":{"type":"object","properties":{"playbookIdentifier":{"type":"string","format":"uuid"},"name":{"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}/flows":{"get":{"tags":["Flows"],"summary":"List flows.","description":"Returns a paged, sortable and filterable list of flows in the project, optionally scoped to a folder.","parameters":[{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20}},{"name":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"searchText","in":"query","schema":{"type":"string"}},{"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"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowResponse"}}}},"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 flow.

> Creates a new flow in the project from one or more playbooks, with optional reference material and group assignments.

```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.Flows.Flows.CreateFlowRequest":{"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"playbookIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"groupAssignments":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Requests.CreateFlowGroupAssignmentInput"},"nullable":true},"flowReferenceMaterialAssignments":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Requests.CreateFlowReferenceMaterial"},"nullable":true},"start":{"type":"boolean"}},"additionalProperties":false},"Jylo.Projects.Services.Features.Flows.Contracts.Requests.CreateFlowGroupAssignmentInput":{"required":["playbookGroupIdentifier"],"type":"object","properties":{"playbookGroupIdentifier":{"type":"string","format":"uuid"},"collections":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Requests.CreateFlowGroupCollectionInput"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.Flows.Contracts.Requests.CreateFlowGroupCollectionInput":{"type":"object","properties":{"name":{"type":"string","nullable":true},"useAllDocuments":{"type":"boolean"},"documentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.Flows.Contracts.Requests.CreateFlowReferenceMaterial":{"required":["playbookReferenceMaterialIdentifier"],"type":"object","properties":{"playbookReferenceMaterialIdentifier":{"type":"string","format":"uuid"},"booleanValue":{"type":"boolean","nullable":true},"dateTimeValue":{"type":"string","format":"date-time","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"textValue":{"type":"string","nullable":true},"documentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"categoryNames":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"isDirectory":{"type":"boolean"},"isCompleted":{"type":"boolean"},"groupCount":{"type":"integer","format":"int32"},"promptCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"},"playbooks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowPlaybookSummary"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowPlaybookSummary":{"type":"object","properties":{"playbookIdentifier":{"type":"string","format":"uuid"},"name":{"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}/flows":{"post":{"tags":["Flows"],"summary":"Create a flow.","description":"Creates a new flow in the project from one or more playbooks, with optional reference material and group assignments.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Flows.CreateFlowRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Flows.CreateFlowRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Flows.CreateFlowRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowResponse"}}}},"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 flow folder.

> Creates a folder used to organise flows within the project, optionally nested under a parent folder.

```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.Flows.Flows.CreateFlowDirectoryRequest":{"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"isDirectory":{"type":"boolean"},"isCompleted":{"type":"boolean"},"groupCount":{"type":"integer","format":"int32"},"promptCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"},"playbooks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowPlaybookSummary"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowPlaybookSummary":{"type":"object","properties":{"playbookIdentifier":{"type":"string","format":"uuid"},"name":{"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}/flows/directory":{"post":{"tags":["Flows"],"summary":"Create a flow folder.","description":"Creates a folder used to organise flows within the project, optionally nested under a parent folder.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Flows.CreateFlowDirectoryRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Flows.CreateFlowDirectoryRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Flows.CreateFlowDirectoryRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowResponse"}}}},"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 flow.

> Returns the full details of a single flow identified by its GUID.

```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.Services.Features.Flows.Contracts.Responses.FlowResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"isDirectory":{"type":"boolean"},"isCompleted":{"type":"boolean"},"groupCount":{"type":"integer","format":"int32"},"promptCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"},"playbooks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowPlaybookSummary"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowPlaybookSummary":{"type":"object","properties":{"playbookIdentifier":{"type":"string","format":"uuid"},"name":{"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}/flows/{objectIdentifier}":{"get":{"tags":["Flows"],"summary":"Get a flow.","description":"Returns the full details of a single flow identified by its GUID.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowResponse"}}}},"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"}}}}}}}}}
```

## Update a flow.

> Updates an existing flow's name, description or parent folder.

```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.Flows.Flows.UpdateFlowRequest":{"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"isDirectory":{"type":"boolean"},"isCompleted":{"type":"boolean"},"groupCount":{"type":"integer","format":"int32"},"promptCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"},"playbooks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowPlaybookSummary"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowPlaybookSummary":{"type":"object","properties":{"playbookIdentifier":{"type":"string","format":"uuid"},"name":{"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}/flows/{objectIdentifier}":{"put":{"tags":["Flows"],"summary":"Update a flow.","description":"Updates an existing flow's name, description or parent folder.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Flows.UpdateFlowRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Flows.UpdateFlowRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Flows.UpdateFlowRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowResponse"}}}},"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"}}}}}}}}}
```

## Delete a flow.

> Permanently deletes a flow from the 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":{"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}/flows/{objectIdentifier}":{"delete":{"tags":["Flows"],"summary":"Delete a flow.","description":"Permanently deletes a flow from the project.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```

## Stop a flow.

> Stops an in-progress flow run so no further work items are processed.

```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}/flows/{objectIdentifier}/stop":{"post":{"tags":["Flows"],"summary":"Stop a flow.","description":"Stops an in-progress flow run so no further work items are processed.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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 flow verification progress.

> Returns how far along a flow's verification checks are, suitable for displaying progress.

```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.Core.Application.Contracts.Results.Flows.FlowVerificationProgressResult":{"type":"object","properties":{"approvedCount":{"type":"integer","format":"int32"},"rejectedCount":{"type":"integer","format":"int32"},"awaitVerificationCount":{"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}/flows/{objectIdentifier}/verification-progress":{"get":{"tags":["Flows"],"summary":"Get flow verification progress.","description":"Returns how far along a flow's verification checks are, suitable for displaying progress.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Flows.FlowVerificationProgressResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Flows.FlowVerificationProgressResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Flows.FlowVerificationProgressResult"}}}},"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 flow work-item progress.

> Returns how many of a flow's individual work items have completed during a run.

```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.Core.Application.Contracts.Results.Flows.FlowWorkItemProgressResult":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.FlowRunStatus"},"completedWorkItems":{"type":"integer","format":"int32"},"remainingWorkItems":{"type":"integer","format":"int32"},"failureReason":{"type":"string","nullable":true},"throttledWorkItems":{"type":"integer","format":"int32"},"percentage":{"type":"number","format":"double","readOnly":true}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.FlowRunStatus":{"enum":["pending","running","completed","failed","insufficientCredits"],"type":"string"},"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}/flows/{objectIdentifier}/work-item-progress":{"get":{"tags":["Flows"],"summary":"Get flow work-item progress.","description":"Returns how many of a flow's individual work items have completed during a run.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Flows.FlowWorkItemProgressResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Flows.FlowWorkItemProgressResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Flows.FlowWorkItemProgressResult"}}}},"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 flow setup status.

> Returns the flow's playbook-clone setup state, or a null body when setup has nothing outstanding.

```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.Core.Application.Contracts.Results.Flows.FlowSetupStatusResult":{"type":"object","properties":{"label":{"type":"string","nullable":true},"failed":{"type":"boolean"}},"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}/flows/{objectIdentifier}/setup-status":{"get":{"tags":["Flows"],"summary":"Get flow setup status.","description":"Returns the flow's playbook-clone setup state, or a null body when setup has nothing outstanding.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Flows.FlowSetupStatusResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Flows.FlowSetupStatusResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Flows.FlowSetupStatusResult"}}}},"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"}}}}}}}}}
```

## Retry flow setup.

> Resets failed playbook-clone setup stages and re-queues the setup pipeline. Idempotent and safe to call repeatedly.

```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}/flows/{objectIdentifier}/setup/retry":{"post":{"tags":["Flows"],"summary":"Retry flow setup.","description":"Resets failed playbook-clone setup stages and re-queues the setup pipeline. Idempotent and safe to call repeatedly.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```

## Play a flow.

> Starts a new run of the flow, queuing every unplayed prompt for processing.

```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.Services.Features.Flows.Contracts.Responses.FlowRunResponse":{"type":"object","properties":{"flowRunObjectIdentifier":{"type":"string","format":"uuid"},"status":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.FlowRunStatus"}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.FlowRunStatus":{"enum":["pending","running","completed","failed","insufficientCredits"],"type":"string"},"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}/flows/{objectIdentifier}/play":{"post":{"tags":["Flows"],"summary":"Play a flow.","description":"Starts a new run of the flow, queuing every unplayed prompt for processing.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowRunResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowRunResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.FlowRunResponse"}}}},"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"}}}},"409":{"description":"Conflict","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 latest flow run.

> Returns the flow's most recent run with its work-item progress, or a null body when it has never been played.

```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.Core.Application.Contracts.Results.Flows.FlowRunWithProgressResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"status":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.FlowRunStatus"},"dateAdded":{"type":"string","format":"date-time"},"started":{"type":"string","format":"date-time","nullable":true},"completed":{"type":"string","format":"date-time","nullable":true},"totalWorkItems":{"type":"integer","format":"int32"},"completedWorkItems":{"type":"integer","format":"int32"},"failureReason":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.FlowRunStatus":{"enum":["pending","running","completed","failed","insufficientCredits"],"type":"string"},"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}/flows/{objectIdentifier}/runs/latest":{"get":{"tags":["Flows"],"summary":"Get latest flow run.","description":"Returns the flow's most recent run with its work-item progress, or a null body when it has never been played.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Flows.FlowRunWithProgressResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Flows.FlowRunWithProgressResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Flows.FlowRunWithProgressResult"}}}},"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 flow run.

> Returns a specific run of a flow with its work-item progress, identified by the run's GUID.

```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.Core.Application.Contracts.Results.Flows.FlowRunWithProgressResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"status":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.FlowRunStatus"},"dateAdded":{"type":"string","format":"date-time"},"started":{"type":"string","format":"date-time","nullable":true},"completed":{"type":"string","format":"date-time","nullable":true},"totalWorkItems":{"type":"integer","format":"int32"},"completedWorkItems":{"type":"integer","format":"int32"},"failureReason":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.FlowRunStatus":{"enum":["pending","running","completed","failed","insufficientCredits"],"type":"string"},"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}/flows/{objectIdentifier}/runs/{runObjectIdentifier}":{"get":{"tags":["Flows"],"summary":"Get a flow run.","description":"Returns a specific run of a flow with its work-item progress, identified by the run's GUID.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"runObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Flows.FlowRunWithProgressResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Flows.FlowRunWithProgressResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Flows.FlowRunWithProgressResult"}}}},"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"}}}}}}}}}
```

## Check if a flow can be played.

> Returns whether the flow can currently be played, suitable for enabling or disabling a play control.

```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}/flows/{objectIdentifier}/runs/can-play":{"get":{"tags":["Flows"],"summary":"Check if a flow can be played.","description":"Returns whether the flow can currently be played, suitable for enabling or disabling a play control.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"boolean"}},"application/json":{"schema":{"type":"boolean"}},"text/json":{"schema":{"type":"boolean"}}}},"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 flow stop info.

> Returns whether the flow has been stopped and, when known, the time it was stopped.

```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.Services.Features.Flows.Application.Queries.GetFlowStopInfo.FlowStopInfoResponse":{"type":"object","properties":{"stopped":{"type":"boolean"},"stoppedAt":{"type":"string","format":"date-time","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}/flows/{objectIdentifier}/stop-info":{"get":{"tags":["Flows"],"summary":"Get flow stop info.","description":"Returns whether the flow has been stopped and, when known, the time it was stopped.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Application.Queries.GetFlowStopInfo.FlowStopInfoResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Application.Queries.GetFlowStopInfo.FlowStopInfoResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Application.Queries.GetFlowStopInfo.FlowStopInfoResponse"}}}},"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"}}}}}}}}}
```

## Export a flow.

> Exports a flow into a downloadable package, optionally including its documents, and returns the download identifier.

```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.Flows.Flows.ExportFlowRequest":{"type":"object","properties":{"exportDocuments":{"type":"boolean"},"citationEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"flowGroupObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"orderedPromptIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"filters":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterItem"},"nullable":true},"tagFilters":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.TagFilterItem"},"nullable":true},"folderFilters":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.FolderFilterItem"},"nullable":true},"logicOperator":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.FilterLogicOperator"},"sortBy":{"type":"string","nullable":true},"sortAscending":{"type":"boolean","nullable":true},"searchText":{"type":"string","nullable":true},"assignedToResourceOwnerIds":{"type":"array","items":{"type":"string"},"nullable":true},"reviewedByResourceOwnerIds":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterItem":{"type":"object","properties":{"promptObjectIdentifier":{"type":"string","format":"uuid"},"operator":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterOperator"},"value":{"type":"string","nullable":true},"values":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterOperator":{"enum":["is","not","equals","notEquals","contains","doesNotContain","startsWith","endsWith","isAnyOf","isEmpty","isNotEmpty","after","onOrAfter","before","onOrBefore","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.TagFilterItem":{"type":"object","properties":{"key":{"type":"string","nullable":true},"values":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.FolderFilterItem":{"type":"object","properties":{"operator":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.FlowDocuments.PromptFilterOperator"},"value":{"type":"string","nullable":true},"values":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.FlowDocuments.FilterLogicOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Services.Features.Flows.Contracts.Responses.ExportFlowResponse":{"type":"object","properties":{"downloadObjectIdentifier":{"type":"string","format":"uuid"}},"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}/flows/{objectIdentifier}/export":{"post":{"tags":["Flows"],"summary":"Export a flow.","description":"Exports a flow into a downloadable package, optionally including its documents, and returns the download identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Flows.ExportFlowRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Flows.ExportFlowRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Flows.ExportFlowRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.ExportFlowResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.ExportFlowResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.ExportFlowResponse"}}}},"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"}}}}}}}}}
```

## Export a flow to a playbook.

> Queues an asynchronous export of the flow into a marketplace playbook and returns the export and pre-allocated playbook identifiers.

```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.Flows.Flows.ExportFlowToPlaybookRequest":{"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"isPrivate":{"type":"boolean"},"organizationWide":{"type":"boolean"}},"additionalProperties":false},"Jylo.Projects.Services.Features.Flows.Contracts.Responses.ExportFlowToPlaybookResponse":{"type":"object","properties":{"playbookObjectIdentifier":{"type":"string","format":"uuid"}},"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}/flows/{objectIdentifier}/export-to-playbook":{"post":{"tags":["Flows"],"summary":"Export a flow to a playbook.","description":"Queues an asynchronous export of the flow into a marketplace playbook and returns the export and pre-allocated playbook identifiers.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Flows.ExportFlowToPlaybookRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Flows.ExportFlowToPlaybookRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Flows.ExportFlowToPlaybookRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.ExportFlowToPlaybookResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.ExportFlowToPlaybookResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Responses.ExportFlowToPlaybookResponse"}}}},"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"}}}}}}}}}
```

## List a flow's groups.

> Returns a paginated list of the groups (tabs) within a flow, optionally including item counts.

```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":{"PaginationList.FlowGroupSummaryResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroups.Contracts.Responses.FlowGroupSummaryResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowGroups.Contracts.Responses.FlowGroupSummaryResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FlowGroupType"},"dateAdded":{"type":"string","format":"date-time"},"promptCount":{"type":"integer","format":"int32","nullable":true},"flowDocumentCollectionCount":{"type":"integer","format":"int32","nullable":true},"orderNumber":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Constants.FlowGroupType":{"enum":["singleDocumentCollection","multipleDocumentCollections","spreadsheetRowAnalysis"],"type":"string"},"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}/flows/{flowObjectIdentifier}/flow-groups":{"get":{"tags":["Flows"],"summary":"List a flow's groups.","description":"Returns a paginated list of the groups (tabs) within a flow, optionally including item counts.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20}},{"name":"includeCounts","in":"query","schema":{"type":"boolean","default":false}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowGroupSummaryResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowGroupSummaryResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowGroupSummaryResponse"}}}},"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 flow group.

> Creates a new named, typed flow group (tab) within the specified flow.

```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.Flows.FlowGroups.CreateFlowGroupRequest":{"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FlowGroupType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.FlowGroupType":{"enum":["singleDocumentCollection","multipleDocumentCollections","spreadsheetRowAnalysis"],"type":"string"},"Jylo.Projects.Services.Features.FlowGroups.Contracts.Responses.FlowGroupResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FlowGroupType"},"dateAdded":{"type":"string","format":"date-time"},"orderNumber":{"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}/flows/{flowObjectIdentifier}/flow-groups":{"post":{"tags":["Flows"],"summary":"Create a flow group.","description":"Creates a new named, typed flow group (tab) within the specified flow.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowGroups.CreateFlowGroupRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowGroups.CreateFlowGroupRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowGroups.CreateFlowGroupRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroups.Contracts.Responses.FlowGroupResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroups.Contracts.Responses.FlowGroupResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroups.Contracts.Responses.FlowGroupResponse"}}}},"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"}}}}}}}}}
```

## Update a flow group.

> Updates a flow group's name, description and optionally its type. Invalid type changes return 400.

```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.Flows.FlowGroups.UpdateFlowGroupRequest":{"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FlowGroupType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.FlowGroupType":{"enum":["singleDocumentCollection","multipleDocumentCollections","spreadsheetRowAnalysis"],"type":"string"},"Jylo.Projects.Services.Features.FlowGroups.Contracts.Responses.FlowGroupResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FlowGroupType"},"dateAdded":{"type":"string","format":"date-time"},"orderNumber":{"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}/flows/{flowObjectIdentifier}/flow-groups/{objectIdentifier}":{"put":{"tags":["Flows"],"summary":"Update a flow group.","description":"Updates a flow group's name, description and optionally its type. Invalid type changes return 400.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowGroups.UpdateFlowGroupRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowGroups.UpdateFlowGroupRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowGroups.UpdateFlowGroupRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroups.Contracts.Responses.FlowGroupResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroups.Contracts.Responses.FlowGroupResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroups.Contracts.Responses.FlowGroupResponse"}}}},"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"}}}}}}}}}
```

## Delete a flow group.

> Permanently deletes a flow group. Returns 409 if a flow run is currently in progress.

```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}/flows/{flowObjectIdentifier}/flow-groups/{objectIdentifier}":{"delete":{"tags":["Flows"],"summary":"Delete a flow group.","description":"Permanently deletes a flow group. Returns 409 if a flow run is currently in progress.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}},"409":{"description":"Conflict","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 flow group.

> Returns the full details of a single flow group identified by its object identifier.

```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.Services.Features.FlowGroups.Contracts.Responses.FlowGroupDetailResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FlowGroupType"},"dateAdded":{"type":"string","format":"date-time"},"orderNumber":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Constants.FlowGroupType":{"enum":["singleDocumentCollection","multipleDocumentCollections","spreadsheetRowAnalysis"],"type":"string"},"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}/flows/{flowObjectIdentifier}/flow-groups/{groupObjectIdentifier}":{"get":{"tags":["Flows"],"summary":"Get a flow group.","description":"Returns the full details of a single flow group identified by its object identifier.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"groupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroups.Contracts.Responses.FlowGroupDetailResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroups.Contracts.Responses.FlowGroupDetailResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowGroups.Contracts.Responses.FlowGroupDetailResponse"}}}},"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"}}}},"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"}}}}}}}}}
```

## Reorder a flow's groups.

> Persists a new left-to-right display order for the flow's groups (tabs). Backs the drag-and-drop tab strip.

```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.Flows.FlowGroups.ReorderFlowGroupsRequest":{"type":"object","properties":{"orderedGroupObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"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}/flows/{flowObjectIdentifier}/flow-groups/reorder":{"patch":{"tags":["Flows"],"summary":"Reorder a flow's groups.","description":"Persists a new left-to-right display order for the flow's groups (tabs). Backs the drag-and-drop tab strip.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowGroups.ReorderFlowGroupsRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowGroups.ReorderFlowGroupsRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowGroups.ReorderFlowGroupsRequest"}}}},"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```

## List playbooks applied to a flow.

> Returns a paginated list of the playbooks that have been applied to the specified flow.

```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":{"PaginationList.FlowPlaybookResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowPlaybooks.Contracts.Responses.FlowPlaybookResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowPlaybooks.Contracts.Responses.FlowPlaybookResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"playbookIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flows/{flowObjectIdentifier}/flow-playbooks":{"get":{"tags":["Flows"],"summary":"List playbooks applied to a flow.","description":"Returns a paginated list of the playbooks that have been applied to the specified flow.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowPlaybookResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowPlaybookResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowPlaybookResponse"}}}},"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"}}}}}}}}}
```

## Apply a playbook to a flow.

> Clones a playbook's prompts into the specified flow and returns the created flow playbook.

```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.Flows.FlowPlaybooks.CreateFlowPlaybookRequest":{"type":"object","properties":{"playbookIdentifier":{"type":"string","format":"uuid"},"targetFlowGroupObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"flowReferenceMaterialAssignments":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Flows.Contracts.Requests.CreateFlowReferenceMaterial"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.Flows.Contracts.Requests.CreateFlowReferenceMaterial":{"required":["playbookReferenceMaterialIdentifier"],"type":"object","properties":{"playbookReferenceMaterialIdentifier":{"type":"string","format":"uuid"},"booleanValue":{"type":"boolean","nullable":true},"dateTimeValue":{"type":"string","format":"date-time","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"textValue":{"type":"string","nullable":true},"documentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"categoryNames":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowPlaybooks.Contracts.Responses.FlowPlaybookResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"playbookIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flows/{flowObjectIdentifier}/flow-playbooks":{"post":{"tags":["Flows"],"summary":"Apply a playbook to a flow.","description":"Clones a playbook's prompts into the specified flow and returns the created flow playbook.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowPlaybooks.CreateFlowPlaybookRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowPlaybooks.CreateFlowPlaybookRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.FlowPlaybooks.CreateFlowPlaybookRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowPlaybooks.Contracts.Responses.FlowPlaybookResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowPlaybooks.Contracts.Responses.FlowPlaybookResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowPlaybooks.Contracts.Responses.FlowPlaybookResponse"}}}},"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"}}}}}}}}}
```

## List a flow's reference materials.

> Returns all reference materials defined for the specified flow.

```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.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.ReferenceMaterialType"},"booleanValue":{"type":"boolean","nullable":true},"dateTimeValue":{"type":"string","format":"date-time","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"textValue":{"type":"string","nullable":true},"playbookReferenceMaterialIdentifier":{"type":"string","format":"uuid","nullable":true},"tokenCount":{"type":"integer","format":"int32"},"isLocked":{"type":"boolean"},"isRequired":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialCategoryResponse"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.ReferenceMaterialType":{"enum":["boolean","categories","decimal","dateTime","text","documents"],"type":"string"},"Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialCategoryResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flows/{flowObjectIdentifier}/reference-materials":{"get":{"tags":["Flows"],"summary":"List a flow's reference materials.","description":"Returns all reference materials defined for the specified flow.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}}}}},"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 flow reference material.

> Creates a new reference material for the specified flow and returns the created record.

```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.Services.Features.FlowReferenceMaterials.Contracts.Requests.CreateFlowReferenceMaterialRequest":{"required":["name","type"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.ReferenceMaterialType"},"booleanValue":{"type":"boolean","nullable":true},"dateTimeValue":{"type":"string","format":"date-time","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"textValue":{"type":"string","nullable":true},"isLocked":{"type":"boolean"},"isRequired":{"type":"boolean"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Requests.CreateFlowReferenceMaterialCategoryRequest"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.ReferenceMaterialType":{"enum":["boolean","categories","decimal","dateTime","text","documents"],"type":"string"},"Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Requests.CreateFlowReferenceMaterialCategoryRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.ReferenceMaterialType"},"booleanValue":{"type":"boolean","nullable":true},"dateTimeValue":{"type":"string","format":"date-time","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"textValue":{"type":"string","nullable":true},"playbookReferenceMaterialIdentifier":{"type":"string","format":"uuid","nullable":true},"tokenCount":{"type":"integer","format":"int32"},"isLocked":{"type":"boolean"},"isRequired":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialCategoryResponse"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialCategoryResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flows/{flowObjectIdentifier}/reference-materials":{"post":{"tags":["Flows"],"summary":"Create a flow reference material.","description":"Creates a new reference material for the specified flow and returns the created record.","parameters":[{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Requests.CreateFlowReferenceMaterialRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Requests.CreateFlowReferenceMaterialRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Requests.CreateFlowReferenceMaterialRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}}}},"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 flow reference material.

> Returns a single reference material identified by its GUID.

```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.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.ReferenceMaterialType"},"booleanValue":{"type":"boolean","nullable":true},"dateTimeValue":{"type":"string","format":"date-time","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"textValue":{"type":"string","nullable":true},"playbookReferenceMaterialIdentifier":{"type":"string","format":"uuid","nullable":true},"tokenCount":{"type":"integer","format":"int32"},"isLocked":{"type":"boolean"},"isRequired":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialCategoryResponse"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.ReferenceMaterialType":{"enum":["boolean","categories","decimal","dateTime","text","documents"],"type":"string"},"Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialCategoryResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flows/{flowObjectIdentifier}/reference-materials/{objectIdentifier}":{"get":{"tags":["Flows"],"summary":"Get a flow reference material.","description":"Returns a single reference material identified by its GUID.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}}}},"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"}}}}}}}}}
```

## Update a flow reference material.

> Updates the specified reference material and returns the updated record.

```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.Services.Features.FlowReferenceMaterials.Contracts.Requests.UpdateFlowReferenceMaterialRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"booleanValue":{"type":"boolean","nullable":true},"dateTimeValue":{"type":"string","format":"date-time","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"textValue":{"type":"string","nullable":true},"isLocked":{"type":"boolean"},"isRequired":{"type":"boolean"}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.ReferenceMaterialType"},"booleanValue":{"type":"boolean","nullable":true},"dateTimeValue":{"type":"string","format":"date-time","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"textValue":{"type":"string","nullable":true},"playbookReferenceMaterialIdentifier":{"type":"string","format":"uuid","nullable":true},"tokenCount":{"type":"integer","format":"int32"},"isLocked":{"type":"boolean"},"isRequired":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialCategoryResponse"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.ReferenceMaterialType":{"enum":["boolean","categories","decimal","dateTime","text","documents"],"type":"string"},"Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialCategoryResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flows/{flowObjectIdentifier}/reference-materials/{objectIdentifier}":{"put":{"tags":["Flows"],"summary":"Update a flow reference material.","description":"Updates the specified reference material and returns the updated record.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Requests.UpdateFlowReferenceMaterialRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Requests.UpdateFlowReferenceMaterialRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Requests.UpdateFlowReferenceMaterialRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}}}},"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"}}}}}}}}}
```

## Delete a flow reference material.

> Deletes the specified reference material. Returns 409 Conflict if it is still in use by prompts or assemblies.

```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}/flows/{flowObjectIdentifier}/reference-materials/{objectIdentifier}":{"delete":{"tags":["Flows"],"summary":"Delete a flow reference material.","description":"Deletes the specified reference material. Returns 409 Conflict if it is still in use by prompts or assemblies.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}},"409":{"description":"Conflict","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"}}}}}}}}}
```

## Add a category to a flow reference material.

> Appends one named category to a categories reference material and returns the updated record.

```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.Services.Features.FlowReferenceMaterials.Contracts.Requests.AddFlowReferenceMaterialCategoryRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.ReferenceMaterialType"},"booleanValue":{"type":"boolean","nullable":true},"dateTimeValue":{"type":"string","format":"date-time","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"textValue":{"type":"string","nullable":true},"playbookReferenceMaterialIdentifier":{"type":"string","format":"uuid","nullable":true},"tokenCount":{"type":"integer","format":"int32"},"isLocked":{"type":"boolean"},"isRequired":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialCategoryResponse"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.ReferenceMaterialType":{"enum":["boolean","categories","decimal","dateTime","text","documents"],"type":"string"},"Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialCategoryResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flows/{flowObjectIdentifier}/reference-materials/{objectIdentifier}/categories":{"post":{"tags":["Flows"],"summary":"Add a category to a flow reference material.","description":"Appends one named category to a categories reference material and returns the updated record.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Requests.AddFlowReferenceMaterialCategoryRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Requests.AddFlowReferenceMaterialCategoryRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Requests.AddFlowReferenceMaterialCategoryRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}}}},"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"}}}}}}}}}
```

## Remove a category from a flow reference material.

> Removes one named category from a categories reference material and returns the updated record.

```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.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.ReferenceMaterialType"},"booleanValue":{"type":"boolean","nullable":true},"dateTimeValue":{"type":"string","format":"date-time","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"textValue":{"type":"string","nullable":true},"playbookReferenceMaterialIdentifier":{"type":"string","format":"uuid","nullable":true},"tokenCount":{"type":"integer","format":"int32"},"isLocked":{"type":"boolean"},"isRequired":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialCategoryResponse"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.ReferenceMaterialType":{"enum":["boolean","categories","decimal","dateTime","text","documents"],"type":"string"},"Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialCategoryResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flows/{flowObjectIdentifier}/reference-materials/{objectIdentifier}/categories/{categoryObjectIdentifier}":{"delete":{"tags":["Flows"],"summary":"Remove a category from a flow reference material.","description":"Removes one named category from a categories reference material and returns the updated record.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"categoryObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse"}}}},"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"}}}}}}}}}
```


# Messages

## Get all messages for an assistant.

> Returns a paged, optionally searched and sorted, list of messages for the specified assistant conversation.

```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.Projects.Models.Chat.MessageReadModel":{"required":["assistant","isAssistant","modelIdentifier","text"],"type":"object","properties":{"text":{"type":"string","nullable":true},"messageDocumentIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"flowObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"modelIdentifier":{"type":"string","format":"uuid"},"stream":{"type":"boolean","nullable":true},"messageType":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Data.Enums.EMessageType"},"thinkingEffort":{"type":"string","nullable":true},"compactionEnabled":{"type":"boolean","nullable":true},"compactionAcknowledged":{"type":"boolean","nullable":true},"tools":{"type":"array","items":{"type":"string"},"nullable":true},"agentMode":{"type":"boolean","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"messageResponseTypeId":{"type":"integer","format":"int32","nullable":true},"assistant":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"},"isAssistant":{"type":"boolean"},"messageCitations":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageCitationResponse"},"nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"resourceOwnerId":{"type":"string","nullable":true},"isStreaming":{"type":"boolean"},"contentBlocks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.JyloContentBlock"},"nullable":true},"sessionFiles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageSessionFileResponse"},"nullable":true},"webSearchEnabled":{"type":"boolean","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Projects.Data.Enums.EMessageType":{"enum":["standard","documentComparison"],"type":"string"},"Jylo.Projects.Models.Chat.AssistantReadModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"},"documentMetadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties"},"nullable":true},"estimatedTokenCount":{"type":"integer","format":"int32"},"lastContextTokens":{"type":"integer","format":"int64","nullable":true},"lastContextModelIdentifier":{"type":"string","format":"uuid","nullable":true},"compactionEnabled":{"type":"boolean"},"assistantMessageCount":{"type":"integer","format":"int32"},"userMessageCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties":{"type":"object","properties":{"paragraphs":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Paragraph"},"nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid"},"documentType":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.EDocumentType"},"comparedDocumentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Paragraph":{"required":["boundingRegions","content","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"content":{"type":"string","nullable":true},"boundingRegions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Bounding"},"nullable":true},"role":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Role"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Bounding":{"required":["points"],"type":"object","properties":{"points":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"page":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Role":{"enum":["title","sectionHeading","pageHeader","pageFooter","pageNumber"],"type":"string"},"Jylo.Toolkit.Entities.DocumentEntities.EDocumentType":{"enum":["standard","comparison"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageCitationResponse":{"required":["quote"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"quote":{"type":"string","nullable":true},"messageObjectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"flowObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"promptAnswerObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"cellObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"paragraphPageNumber":{"type":"integer","format":"int32","nullable":true},"paragraphBoundingRegions":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"sheetIndex":{"type":"integer","format":"int32","nullable":true},"cellRowIndex":{"type":"integer","format":"int32","nullable":true},"cellColumnIndex":{"type":"integer","format":"int32","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.MessageCitationType"},"endIndex":{"type":"integer","format":"int32","nullable":true},"startIndex":{"type":"integer","format":"int32","nullable":true},"title":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"prompt":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageCitationPromptResponse"}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.MessageCitationType":{"enum":["cell","paragraph","promptAnswer","url"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageCitationPromptResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.JyloContentBlock":{"type":"object","properties":{"id":{"type":"string","nullable":true},"origin":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.ContentBlockOrigin"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.ContentBlockOrigin":{"enum":["openAI","anthropic","agnostic"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageSessionFileResponse":{"required":["name"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"toolCallId":{"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}/assistants/{assistantIdentifier}/messages":{"get":{"tags":["Messages"],"summary":"Get all messages for an assistant.","description":"Returns a paged, optionally searched and sorted, list of messages for the specified assistant conversation.","parameters":[{"name":"assistantIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"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":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}}}}},"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 message in an assistant.

> Sends a user message to an assistant and returns the assistant's reply, either as a single JSON payload or as a text/event-stream when streaming is requested.

```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.Chat.MessageWriteModel":{"required":["modelIdentifier","text"],"type":"object","properties":{"text":{"type":"string","nullable":true},"messageDocumentIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"flowObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"modelIdentifier":{"type":"string","format":"uuid"},"stream":{"type":"boolean","nullable":true},"messageType":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Data.Enums.EMessageType"},"thinkingEffort":{"type":"string","nullable":true},"compactionEnabled":{"type":"boolean","nullable":true},"compactionAcknowledged":{"type":"boolean","nullable":true},"tools":{"type":"array","items":{"type":"string"},"nullable":true},"agentMode":{"type":"boolean","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Projects.Data.Enums.EMessageType":{"enum":["standard","documentComparison"],"type":"string"},"Jylo.Projects.Models.Chat.MessageReadModel":{"required":["assistant","isAssistant","modelIdentifier","text"],"type":"object","properties":{"text":{"type":"string","nullable":true},"messageDocumentIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"flowObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"modelIdentifier":{"type":"string","format":"uuid"},"stream":{"type":"boolean","nullable":true},"messageType":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Data.Enums.EMessageType"},"thinkingEffort":{"type":"string","nullable":true},"compactionEnabled":{"type":"boolean","nullable":true},"compactionAcknowledged":{"type":"boolean","nullable":true},"tools":{"type":"array","items":{"type":"string"},"nullable":true},"agentMode":{"type":"boolean","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"messageResponseTypeId":{"type":"integer","format":"int32","nullable":true},"assistant":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"},"isAssistant":{"type":"boolean"},"messageCitations":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageCitationResponse"},"nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"resourceOwnerId":{"type":"string","nullable":true},"isStreaming":{"type":"boolean"},"contentBlocks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.JyloContentBlock"},"nullable":true},"sessionFiles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageSessionFileResponse"},"nullable":true},"webSearchEnabled":{"type":"boolean","nullable":true}},"additionalProperties":false},"Jylo.Projects.Models.Chat.AssistantReadModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"},"documentMetadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties"},"nullable":true},"estimatedTokenCount":{"type":"integer","format":"int32"},"lastContextTokens":{"type":"integer","format":"int64","nullable":true},"lastContextModelIdentifier":{"type":"string","format":"uuid","nullable":true},"compactionEnabled":{"type":"boolean"},"assistantMessageCount":{"type":"integer","format":"int32"},"userMessageCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties":{"type":"object","properties":{"paragraphs":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Paragraph"},"nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid"},"documentType":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.EDocumentType"},"comparedDocumentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Paragraph":{"required":["boundingRegions","content","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"content":{"type":"string","nullable":true},"boundingRegions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Bounding"},"nullable":true},"role":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Role"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Bounding":{"required":["points"],"type":"object","properties":{"points":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"page":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Role":{"enum":["title","sectionHeading","pageHeader","pageFooter","pageNumber"],"type":"string"},"Jylo.Toolkit.Entities.DocumentEntities.EDocumentType":{"enum":["standard","comparison"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageCitationResponse":{"required":["quote"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"quote":{"type":"string","nullable":true},"messageObjectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"flowObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"promptAnswerObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"cellObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"paragraphPageNumber":{"type":"integer","format":"int32","nullable":true},"paragraphBoundingRegions":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"sheetIndex":{"type":"integer","format":"int32","nullable":true},"cellRowIndex":{"type":"integer","format":"int32","nullable":true},"cellColumnIndex":{"type":"integer","format":"int32","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.MessageCitationType"},"endIndex":{"type":"integer","format":"int32","nullable":true},"startIndex":{"type":"integer","format":"int32","nullable":true},"title":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"prompt":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageCitationPromptResponse"}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.MessageCitationType":{"enum":["cell","paragraph","promptAnswer","url"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageCitationPromptResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.JyloContentBlock":{"type":"object","properties":{"id":{"type":"string","nullable":true},"origin":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.ContentBlockOrigin"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.ContentBlockOrigin":{"enum":["openAI","anthropic","agnostic"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageSessionFileResponse":{"required":["name"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"toolCallId":{"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}/assistants/{assistantIdentifier}/messages":{"post":{"tags":["Messages"],"summary":"Create a new message in an assistant.","description":"Sends a user message to an assistant and returns the assistant's reply, either as a single JSON payload or as a text/event-stream when streaming is requested.","parameters":[{"name":"assistantIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}}}},"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"}}}},"500":{"description":"Internal Server Error"}}}}}}
```

## Continue an assistant conversation in a new chat.

> Summarizes the current conversation and creates a new chat seeded with that summary, carrying document references and linking back to the original.

```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.Chat.CompactChatRequestModel":{"type":"object","properties":{"modelIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Projects.Services.Features.Messages.Application.Commands.HandoffChat.HandoffChatResult":{"type":"object","properties":{"newChatObjectIdentifier":{"type":"string","format":"uuid"},"summary":{"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}/assistants/{assistantIdentifier}/messages/handoff":{"post":{"tags":["Messages"],"summary":"Continue an assistant conversation in a new chat.","description":"Summarizes the current conversation and creates a new chat seeded with that summary, carrying document references and linking back to the original.","parameters":[{"name":"assistantIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.CompactChatRequestModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.CompactChatRequestModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.CompactChatRequestModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Messages.Application.Commands.HandoffChat.HandoffChatResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Messages.Application.Commands.HandoffChat.HandoffChatResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Messages.Application.Commands.HandoffChat.HandoffChatResult"}}}},"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"}}}},"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"}}}},"500":{"description":"Internal Server Error"}}}}}}
```

## Get a message by object identifier.

> Returns the details of a single message identified by its object identifier.

```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.Chat.MessageReadModel":{"required":["assistant","isAssistant","modelIdentifier","text"],"type":"object","properties":{"text":{"type":"string","nullable":true},"messageDocumentIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"flowObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"modelIdentifier":{"type":"string","format":"uuid"},"stream":{"type":"boolean","nullable":true},"messageType":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Data.Enums.EMessageType"},"thinkingEffort":{"type":"string","nullable":true},"compactionEnabled":{"type":"boolean","nullable":true},"compactionAcknowledged":{"type":"boolean","nullable":true},"tools":{"type":"array","items":{"type":"string"},"nullable":true},"agentMode":{"type":"boolean","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"messageResponseTypeId":{"type":"integer","format":"int32","nullable":true},"assistant":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"},"isAssistant":{"type":"boolean"},"messageCitations":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageCitationResponse"},"nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"resourceOwnerId":{"type":"string","nullable":true},"isStreaming":{"type":"boolean"},"contentBlocks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.JyloContentBlock"},"nullable":true},"sessionFiles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageSessionFileResponse"},"nullable":true},"webSearchEnabled":{"type":"boolean","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Projects.Data.Enums.EMessageType":{"enum":["standard","documentComparison"],"type":"string"},"Jylo.Projects.Models.Chat.AssistantReadModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"},"documentMetadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties"},"nullable":true},"estimatedTokenCount":{"type":"integer","format":"int32"},"lastContextTokens":{"type":"integer","format":"int64","nullable":true},"lastContextModelIdentifier":{"type":"string","format":"uuid","nullable":true},"compactionEnabled":{"type":"boolean"},"assistantMessageCount":{"type":"integer","format":"int32"},"userMessageCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties":{"type":"object","properties":{"paragraphs":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Paragraph"},"nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid"},"documentType":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.EDocumentType"},"comparedDocumentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Paragraph":{"required":["boundingRegions","content","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"content":{"type":"string","nullable":true},"boundingRegions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Bounding"},"nullable":true},"role":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Role"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Bounding":{"required":["points"],"type":"object","properties":{"points":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"page":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Role":{"enum":["title","sectionHeading","pageHeader","pageFooter","pageNumber"],"type":"string"},"Jylo.Toolkit.Entities.DocumentEntities.EDocumentType":{"enum":["standard","comparison"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageCitationResponse":{"required":["quote"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"quote":{"type":"string","nullable":true},"messageObjectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"flowObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"promptAnswerObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"cellObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"paragraphPageNumber":{"type":"integer","format":"int32","nullable":true},"paragraphBoundingRegions":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"sheetIndex":{"type":"integer","format":"int32","nullable":true},"cellRowIndex":{"type":"integer","format":"int32","nullable":true},"cellColumnIndex":{"type":"integer","format":"int32","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.MessageCitationType"},"endIndex":{"type":"integer","format":"int32","nullable":true},"startIndex":{"type":"integer","format":"int32","nullable":true},"title":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"prompt":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageCitationPromptResponse"}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.MessageCitationType":{"enum":["cell","paragraph","promptAnswer","url"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageCitationPromptResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.JyloContentBlock":{"type":"object","properties":{"id":{"type":"string","nullable":true},"origin":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.ContentBlockOrigin"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.ContentBlockOrigin":{"enum":["openAI","anthropic","agnostic"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageSessionFileResponse":{"required":["name"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"toolCallId":{"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}/assistants/{assistantIdentifier}/messages/{objectIdentifier}":{"get":{"tags":["Messages"],"summary":"Get a message by object identifier.","description":"Returns the details of a single message identified by its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assistantIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}}}},"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"}}}},"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 message by object identifier.

> Updates the text of an existing message and returns the updated message.

```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.Chat.MessageWriteModel":{"required":["modelIdentifier","text"],"type":"object","properties":{"text":{"type":"string","nullable":true},"messageDocumentIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"flowObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"modelIdentifier":{"type":"string","format":"uuid"},"stream":{"type":"boolean","nullable":true},"messageType":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Data.Enums.EMessageType"},"thinkingEffort":{"type":"string","nullable":true},"compactionEnabled":{"type":"boolean","nullable":true},"compactionAcknowledged":{"type":"boolean","nullable":true},"tools":{"type":"array","items":{"type":"string"},"nullable":true},"agentMode":{"type":"boolean","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Projects.Data.Enums.EMessageType":{"enum":["standard","documentComparison"],"type":"string"},"Jylo.Projects.Models.Chat.MessageReadModel":{"required":["assistant","isAssistant","modelIdentifier","text"],"type":"object","properties":{"text":{"type":"string","nullable":true},"messageDocumentIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"flowObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"modelIdentifier":{"type":"string","format":"uuid"},"stream":{"type":"boolean","nullable":true},"messageType":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Data.Enums.EMessageType"},"thinkingEffort":{"type":"string","nullable":true},"compactionEnabled":{"type":"boolean","nullable":true},"compactionAcknowledged":{"type":"boolean","nullable":true},"tools":{"type":"array","items":{"type":"string"},"nullable":true},"agentMode":{"type":"boolean","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"messageResponseTypeId":{"type":"integer","format":"int32","nullable":true},"assistant":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.AssistantReadModel"},"isAssistant":{"type":"boolean"},"messageCitations":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageCitationResponse"},"nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"resourceOwnerId":{"type":"string","nullable":true},"isStreaming":{"type":"boolean"},"contentBlocks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.JyloContentBlock"},"nullable":true},"sessionFiles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageSessionFileResponse"},"nullable":true},"webSearchEnabled":{"type":"boolean","nullable":true}},"additionalProperties":false},"Jylo.Projects.Models.Chat.AssistantReadModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"documents":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentReadModel"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"},"documentMetadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties"},"nullable":true},"estimatedTokenCount":{"type":"integer","format":"int32"},"lastContextTokens":{"type":"integer","format":"int64","nullable":true},"lastContextModelIdentifier":{"type":"string","format":"uuid","nullable":true},"compactionEnabled":{"type":"boolean"},"assistantMessageCount":{"type":"integer","format":"int32"},"userMessageCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.DocumentReadModel":{"required":["documentUploadObjectIdentifier","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"isDirectory":{"type":"boolean"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"metadataTokenCount":{"type":"integer","format":"int64","nullable":true},"indexingNotPossible":{"type":"boolean","nullable":true},"unsupportedFileType":{"type":"boolean","nullable":true},"unPackingComplete":{"type":"boolean","nullable":true},"unPackingFailed":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"url":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"isSystemFolder":{"type":"boolean","nullable":true},"extension":{"type":"string","nullable":true},"convertedToPdf":{"type":"boolean"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"progress":{"type":"number","format":"double","nullable":true},"path":{"type":"string","nullable":true},"parent":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.BreadcrumbModel"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"pageCount":{"type":"integer","format":"int32","nullable":true},"ocrCreditsCost":{"type":"number","format":"double","nullable":true},"layoutCreditsCost":{"type":"number","format":"double","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"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},"Jylo.Toolkit.API.Models.BreadcrumbModel":{"required":["name"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"Jylo.Toolkit.API.Models.Documents.DocumentMetadataReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"key":{"type":"string","nullable":true},"value":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.DocumentMetadataProperties":{"type":"object","properties":{"paragraphs":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Paragraph"},"nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid"},"documentType":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.EDocumentType"},"comparedDocumentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Paragraph":{"required":["boundingRegions","content","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"content":{"type":"string","nullable":true},"boundingRegions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Bounding"},"nullable":true},"role":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.DocumentEntities.Role"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Bounding":{"required":["points"],"type":"object","properties":{"points":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"page":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.DocumentEntities.Role":{"enum":["title","sectionHeading","pageHeader","pageFooter","pageNumber"],"type":"string"},"Jylo.Toolkit.Entities.DocumentEntities.EDocumentType":{"enum":["standard","comparison"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageCitationResponse":{"required":["quote"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"quote":{"type":"string","nullable":true},"messageObjectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"flowObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"promptAnswerObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"cellObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"paragraphPageNumber":{"type":"integer","format":"int32","nullable":true},"paragraphBoundingRegions":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"sheetIndex":{"type":"integer","format":"int32","nullable":true},"cellRowIndex":{"type":"integer","format":"int32","nullable":true},"cellColumnIndex":{"type":"integer","format":"int32","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.MessageCitationType"},"endIndex":{"type":"integer","format":"int32","nullable":true},"startIndex":{"type":"integer","format":"int32","nullable":true},"title":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"prompt":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.Chat.MessageCitationPromptResponse"}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.MessageCitationType":{"enum":["cell","paragraph","promptAnswer","url"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageCitationPromptResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.JyloContentBlock":{"type":"object","properties":{"id":{"type":"string","nullable":true},"origin":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.ContentBlockOrigin"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.ContentBlocks.ContentBlockOrigin":{"enum":["openAI","anthropic","agnostic"],"type":"string"},"Jylo.Projects.Core.Models.Chat.MessageSessionFileResponse":{"required":["name"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"toolCallId":{"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}/assistants/{assistantIdentifier}/messages/{objectIdentifier}":{"put":{"tags":["Messages"],"summary":"Update a message by object identifier.","description":"Updates the text of an existing message and returns the updated message.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assistantIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.MessageReadModel"}}}},"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"}}}},"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 message by object identifier.

> Permanently deletes the specified message. Requires container administrator rights.

```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}/assistants/{assistantIdentifier}/messages/{objectIdentifier}":{"delete":{"tags":["Messages"],"summary":"Delete a message by object identifier.","description":"Permanently deletes the specified message. Requires container administrator rights.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assistantIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}},"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"}}}}}}}}}
```

## Export a message in the specified format.

> Exports the specified message as a downloadable file in PDF, Word, Excel, or Outlook email format.

```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}/assistants/{assistantIdentifier}/messages/{messageObjectIdentifier}/export":{"post":{"tags":["Messages"],"summary":"Export a message in the specified format.","description":"Exports the specified message as a downloadable file in PDF, Word, Excel, or Outlook email format.","parameters":[{"name":"assistantIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"messageObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"format","in":"query","schema":{"type":"string","default":"pdf"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"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"}}}},"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"}}}}}}}}}
```


# Metadata

## Assign a metadata category option.

> Assigns a predefined category option to a metadata entry on the project so it can be tagged and filtered. Requires project read-write access.

```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.API.Models.Container.ContainerMetadata.AddContainerMetadataCategoryModel":{"required":["optionIdentifier"],"type":"object","properties":{"optionIdentifier":{"type":"string","format":"uuid"}},"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}/metadata/{objectIdentifier}/categories":{"post":{"tags":["Metadata"],"summary":"Assign a metadata category option.","description":"Assigns a predefined category option to a metadata entry on the project so it can be tagged and filtered. Requires project read-write access.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.AddContainerMetadataCategoryModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.AddContainerMetadataCategoryModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.AddContainerMetadataCategoryModel"}}}},"responses":{"200":{"description":"OK"},"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"}}}}}}}}}
```

## List project metadata entries.

> Returns a paginated, optionally searched and sorted list of metadata entries on the project. Requires project read access.

```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.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},"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}/metadata":{"get":{"tags":["Metadata"],"summary":"List project metadata entries.","description":"Returns a paginated, optionally searched and sorted list of metadata entries on the project. Requires project read access.","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":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}}}}},"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 project metadata entry.

> Creates a new typed metadata entry on the project and returns the created entry. Requires project read-write access.

```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.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.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},"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}/metadata":{"post":{"tags":["Metadata"],"summary":"Create a project metadata entry.","description":"Creates a new typed metadata entry on the project and returns the created entry. Requires project read-write access.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.MultiTypeInputWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.MultiTypeInputWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.MultiTypeInputWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}}}},"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"}}}}}}}}}
```

## Get a project metadata entry.

> Returns a single project metadata entry identified by its GUID. Requires project read access.

```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.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},"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}/metadata/{objectIdentifier}":{"get":{"tags":["Metadata"],"summary":"Get a project metadata entry.","description":"Returns a single project metadata entry identified by its GUID. Requires project read access.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}}}},"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 metadata entry.

> Updates an existing project metadata entry and returns the updated entry. Requires project read-write access.

```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.API.Models.MultiTypeInputUpdateModel":{"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},"organizationMetadataIdentifier":{"type":"string","format":"uuid"},"singleCategoryIdentifier":{"type":"string","format":"uuid","nullable":true}},"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},"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}/metadata/{objectIdentifier}":{"put":{"tags":["Metadata"],"summary":"Update a project metadata entry.","description":"Updates an existing project metadata entry and returns the updated entry. Requires project read-write access.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.MultiTypeInputUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.MultiTypeInputUpdateModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.MultiTypeInputUpdateModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}}}},"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 metadata entry.

> Permanently deletes a project metadata entry by its GUID. Requires project read-write access and container administrator rights.

```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}/metadata/{objectIdentifier}":{"delete":{"tags":["Metadata"],"summary":"Delete a project metadata entry.","description":"Permanently deletes a project metadata entry by its GUID. Requires project read-write access and container administrator rights.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```

## Remove a metadata category option.

> Unassigns a category option from a project metadata entry, leaving the entry in place. Requires project read-write access.

```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}/metadata/{objectIdentifier}/categories/{optionIdentifier}":{"delete":{"tags":["Metadata"],"summary":"Remove a metadata category option.","description":"Unassigns a category option from a project metadata entry, leaving the entry in place. Requires project read-write access.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"optionIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"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"}}}}}}}}}
```


# Organization Metadata

## Get all organization metadata for projects.

> Returns a paginated list of organization-level custom metadata fields for projects, with optional filtering and sorting.

```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.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},"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/organization-metadata":{"get":{"tags":["Organization Metadata"],"summary":"Get all organization metadata for projects.","description":"Returns a paginated list of organization-level custom metadata fields for projects, with optional filtering and sorting.","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":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}}}}},"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 organization metadata for projects.

> Defines a new organization-level custom metadata field for projects.

```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.API.Models.OrganizationMetadata.OrganizationMetadataWriteModel":{"required":["dataType","description","isRequired","name"],"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":{"type":"string"},"nullable":true}},"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},"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/organization-metadata":{"post":{"tags":["Organization Metadata"],"summary":"Create organization metadata for projects.","description":"Defines a new organization-level custom metadata field for projects.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}}}},"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 organization metadata for projects by id.

> Returns a single organization-level custom metadata field for projects by its identifier.

```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.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},"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/organization-metadata/{objectIdentifier}":{"get":{"tags":["Organization Metadata"],"summary":"Get organization metadata for projects by id.","description":"Returns a single organization-level custom metadata field for projects by its identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}}}},"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"}}}},"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 organization metadata for projects.

> Updates the definition of an organization-level custom metadata field for projects.

```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.API.Models.OrganizationMetadata.OrganizationMetadataUpdateModel":{"required":["description","isRequired","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"isRequired":{"type":"boolean"}},"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},"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/organization-metadata/{objectIdentifier}":{"put":{"tags":["Organization Metadata"],"summary":"Update organization metadata for projects.","description":"Updates the definition of an organization-level custom metadata field for projects.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataUpdateModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataUpdateModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}}}},"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"}}}},"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 organization metadata for projects.

> Deletes an organization-level custom metadata field for projects by its identifier.

```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/organization-metadata/{objectIdentifier}":{"delete":{"tags":["Organization Metadata"],"summary":"Delete organization metadata for projects.","description":"Deletes an organization-level custom metadata field for projects by its identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"},"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"}}}},"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"}}}}}}}}}
```


# Organization Metadata Options

## List organization metadata options.

> Returns a paged, optionally filtered and sorted list of the options defined on an organization metadata field.

```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.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel":{"required":["name","objectIdentifier"],"type":"object","properties":{"name":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"}},"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/organization-metadata/{organizationMetadataIdentifier}/options":{"get":{"tags":["Organization Metadata Options"],"summary":"List organization metadata options.","description":"Returns a paged, optionally filtered and sorted list of the options defined on an organization metadata field.","parameters":[{"name":"organizationMetadataIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"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":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}}}}},"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 organization metadata option.

> Adds a new selectable option to an existing organization metadata definition. For external developers managing the set of choices available on a metadata field.

```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.API.Models.OrganizationMetadata.OrganizationMetadataOptionWriteModel":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true}},"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},"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/organization-metadata/{organizationMetadataIdentifier}/options":{"post":{"tags":["Organization Metadata Options"],"summary":"Create organization metadata option.","description":"Adds a new selectable option to an existing organization metadata definition. For external developers managing the set of choices available on a metadata field.","parameters":[{"name":"organizationMetadataIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}}}},"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"}}}},"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 organization metadata option by id.

> Returns the details of a single organization metadata option identified by its GUID.

```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.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel":{"required":["name","objectIdentifier"],"type":"object","properties":{"name":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"}},"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/organization-metadata/{organizationMetadataIdentifier}/options/{objectIdentifier}":{"get":{"tags":["Organization Metadata Options"],"summary":"Get organization metadata option by id.","description":"Returns the details of a single organization metadata option identified by its GUID.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"organizationMetadataIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}}}},"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"}}}}}}}}}
```

## Update organization metadata option.

> Replaces the value and settings of an existing organization metadata option identified by its GUID.

```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.API.Models.OrganizationMetadata.OrganizationMetadataOptionWriteModel":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true}},"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},"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/organization-metadata/{organizationMetadataIdentifier}/options/{objectIdentifier}":{"put":{"tags":["Organization Metadata Options"],"summary":"Update organization metadata option.","description":"Replaces the value and settings of an existing organization metadata option identified by its GUID.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"organizationMetadataIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}}}},"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"}}}}}}}}}
```

## Delete organization metadata option.

> Permanently removes an organization metadata option identified by its GUID.

```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/organization-metadata/{organizationMetadataIdentifier}/options/{objectIdentifier}":{"delete":{"tags":["Organization Metadata Options"],"summary":"Delete organization metadata option.","description":"Permanently removes an organization metadata option identified by its GUID.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"organizationMetadataIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```


# Project Admin ACL

## List an application's project ACLs.

> Returns the project object identifiers that the specified application (resource owner) has access to.

```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/admin/applications/{resourceOwnerId}":{"get":{"tags":["Project Admin ACL"],"summary":"List an application's project ACLs.","description":"Returns the project object identifiers that the specified application (resource owner) has access to.","parameters":[{"name":"resourceOwnerId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},"text/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"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"}}}}}}}}}
```

## Grant an application access to a project.

> Creates a project ACL granting the specified application (resource owner) access to a 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.Toolkit.API.Models.Admin.ResourceOwnerACLWriteModel":{"required":["containerObjectIdentifier","isAdmin"],"type":"object","properties":{"containerObjectIdentifier":{"type":"string","format":"uuid"},"isAdmin":{"type":"boolean"}},"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/admin/applications/{resourceOwnerId}":{"post":{"tags":["Project Admin ACL"],"summary":"Grant an application access to a project.","description":"Creates a project ACL granting the specified application (resource owner) access to a project.","parameters":[{"name":"resourceOwnerId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Admin.ResourceOwnerACLWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Admin.ResourceOwnerACLWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Admin.ResourceOwnerACLWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"uuid"}},"application/json":{"schema":{"type":"string","format":"uuid"}},"text/json":{"schema":{"type":"string","format":"uuid"}}}},"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"}}}}}}}}}
```

## Revoke an application's project access.

> Deletes the project ACL that grants the specified application (resource owner) access to a 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":{"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/admin/applications/{resourceOwnerId}/{containerId}":{"delete":{"tags":["Project Admin ACL"],"summary":"Revoke an application's project access.","description":"Deletes the project ACL that grants the specified application (resource owner) access to a project.","parameters":[{"name":"resourceOwnerId","in":"path","required":true,"schema":{"type":"string"}},{"name":"containerId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"},"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"}}}}}}}}}
```


# Project Analytics

## Get credit breakdown for a project.

> Retrieves a breakdown of credits for a specific 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.Analytics.FullResourceAnalysisModel":{"type":"object","properties":{"projectName":{"type":"string","nullable":true},"allAssistants":{"$ref":"#/components/schemas/Jylo.Projects.Models.Analytics.AssistantCreditAnalysisModel"},"flowCredits":{"type":"number","format":"double"},"flowJobs":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double"},"publicProjectIdentifier":{"type":"string","format":"uuid"},"totalCredits":{"type":"number","format":"double"},"totalJobs":{"type":"integer","format":"int32"},"deleted":{"type":"string","format":"date-time","nullable":true},"ocrPageCount":{"type":"integer","format":"int32"},"layoutPageCount":{"type":"integer","format":"int32"},"pageCount":{"type":"integer","format":"int32"},"ocrCreditsCost":{"type":"number","format":"double"},"layoutCreditsCost":{"type":"number","format":"double"},"fileCreditsCost":{"type":"number","format":"double"}},"additionalProperties":false},"Jylo.Projects.Models.Analytics.AssistantCreditAnalysisModel":{"type":"object","properties":{"credits":{"type":"number","format":"double"},"jobs":{"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/credit-breakdown":{"get":{"tags":["Project Analytics"],"summary":"Get credit breakdown for a project.","description":"Retrieves a breakdown of credits for a specific project.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Analytics.FullResourceAnalysisModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Analytics.FullResourceAnalysisModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Analytics.FullResourceAnalysisModel"}}}},"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 latest balance.

> Retrieves the latest balance for the 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.Integrations.Billing.Models.BillingBalanceReadModel":{"required":["availableCredits","credits"],"type":"object","properties":{"availableCredits":{"type":"number","format":"double"},"credits":{"type":"number","format":"double"}},"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/balance/latest":{"get":{"tags":["Project Analytics"],"summary":"Get latest balance.","description":"Retrieves the latest balance for the organization.","responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Billing.Models.BillingBalanceReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Billing.Models.BillingBalanceReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Billing.Models.BillingBalanceReadModel"}}}},"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 project analytics.

> Retrieves project analytics for the 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"},"PaginationList.ProjectAnalyticsModel":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.ProjectAnalyticsModel"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Core.Models.ProjectAnalyticsModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"},"chatCount":{"type":"integer","format":"int32"},"chatCredits":{"type":"number","format":"double"},"flowCount":{"type":"integer","format":"int32"},"flowCredits":{"type":"number","format":"double"},"jobCount":{"type":"integer","format":"int32"},"totalCredits":{"type":"number","format":"double"},"deleted":{"type":"boolean"},"id":{"type":"integer","format":"int32"},"ocrPageCount":{"type":"integer","format":"int32"},"layoutPageCount":{"type":"integer","format":"int32"},"pageCount":{"type":"integer","format":"int32"},"ocrCreditsCost":{"type":"number","format":"double"},"layoutCreditsCost":{"type":"number","format":"double"},"fileCreditsCost":{"type":"number","format":"double"},"metadata":{"type":"object","additionalProperties":{"type":"string","nullable":true},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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/analytics":{"get":{"tags":["Project Analytics"],"summary":"Get project analytics.","description":"Retrieves project analytics for the organization.","parameters":[{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"searchText","in":"query","schema":{"type":"string"}},{"name":"sorting","in":"query","schema":{"type":"string"}},{"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/PaginationList.ProjectAnalyticsModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationList.ProjectAnalyticsModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationList.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"}}}}}}}}}
```

## Export project analytics as Excel.

> Exports all project analytics for the organization as an Excel file.

```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/analytics/export":{"get":{"tags":["Project Analytics"],"summary":"Export project analytics as Excel.","description":"Exports all project analytics for the organization as an Excel file.","responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"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 assistant analytics.

> Retrieves assistant analytics for the 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"},"PaginationList.AssistantAnalyticsModel":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.AssistantAnalyticsModel"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Core.Models.AssistantAnalyticsModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"dateModified":{"type":"string","format":"date-time","nullable":true},"name":{"type":"string","nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"userIds":{"type":"array","items":{"type":"string"},"nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"},"users":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"},"nullable":true},"documentCount":{"type":"integer","format":"int32"},"totalFileSizeBytes":{"type":"integer","format":"int64"},"assistantMessageCount":{"type":"integer","format":"int32"},"userMessageCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double"},"deleted":{"type":"boolean"},"projectName":{"type":"string","nullable":true},"projectObjectIdentifier":{"type":"string","format":"uuid"},"estimatedTokenCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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/assistants/analytics":{"get":{"tags":["Project Analytics"],"summary":"Get assistant analytics.","description":"Retrieves assistant analytics for the organization.","parameters":[{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"searchText","in":"query","schema":{"type":"string"}},{"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"}},{"name":"sorting","in":"query","schema":{"type":"string"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationList.AssistantAnalyticsModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationList.AssistantAnalyticsModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationList.AssistantAnalyticsModel"}}}},"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"}}}}}}}}}
```

## Export assistant analytics as Excel.

> Exports all assistant analytics for the organization as an Excel file.

```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/assistants/analytics/export":{"get":{"tags":["Project Analytics"],"summary":"Export assistant analytics as Excel.","description":"Exports all assistant analytics for the organization as an Excel file.","responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"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 flow analytics.

> Retrieves flow analytics for the 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"},"PaginationList.FlowAnalyticsModel":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.FlowAnalyticsModel"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Core.Models.FlowAnalyticsModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"dateModified":{"type":"string","format":"date-time","nullable":true},"name":{"type":"string","nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"},"groupCount":{"type":"integer","format":"int32"},"promptCount":{"type":"integer","format":"int32"},"runCount":{"type":"integer","format":"int32"},"credits":{"type":"number","format":"double"},"playbooks":{"type":"array","items":{"type":"string"},"nullable":true},"deleted":{"type":"boolean"},"projectName":{"type":"string","nullable":true},"projectObjectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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/flows/analytics":{"get":{"tags":["Project Analytics"],"summary":"Get flow analytics.","description":"Retrieves flow analytics for the organization.","parameters":[{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"searchText","in":"query","schema":{"type":"string"}},{"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"}},{"name":"sorting","in":"query","schema":{"type":"string"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowAnalyticsModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowAnalyticsModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationList.FlowAnalyticsModel"}}}},"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"}}}}}}}}}
```

## Export flow analytics as Excel.

> Exports all flow analytics for the organization as an Excel file.

```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/flows/analytics/export":{"get":{"tags":["Project Analytics"],"summary":"Export flow analytics as Excel.","description":"Exports all flow analytics for the organization as an Excel file.","responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"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 Word Add-In analytics.

> Retrieves per-user Word Add-In credit usage analytics for the 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":{"PaginationList.WordAddInAnalyticsModel":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.WordAddInAnalyticsModel"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Core.Models.WordAddInAnalyticsModel":{"type":"object","properties":{"userIdentifier":{"type":"string","nullable":true},"userName":{"type":"string","nullable":true},"credits":{"type":"number","format":"double"},"requestCount":{"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/word-addin/analytics":{"get":{"tags":["Project Analytics"],"summary":"Get Word Add-In analytics.","description":"Retrieves per-user Word Add-In credit usage analytics for the organization.","parameters":[{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"sorting","in":"query","schema":{"type":"string"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationList.WordAddInAnalyticsModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationList.WordAddInAnalyticsModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationList.WordAddInAnalyticsModel"}}}},"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"}}}}}}}}}
```

## Export Word Add-In analytics as Excel.

> Exports all per-user Word Add-In credit usage analytics for the organization as an Excel file.

```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/word-addin/analytics/export":{"get":{"tags":["Project Analytics"],"summary":"Export Word Add-In analytics as Excel.","description":"Exports all per-user Word Add-In credit usage analytics for the organization as an Excel file.","responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"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 the current user.

> Returns the credit and resource usage summary for the currently authenticated user.

```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.Core.Entities.Analytics.ResourceSummary":{"type":"object","properties":{"reviewJobs":{"type":"integer","format":"int32"},"reviewCredits":{"type":"number","format":"double"},"chat":{"$ref":"#/components/schemas/Jylo.Projects.Core.Entities.BillingService.ChatCreditAnalysis"},"conversation":{"$ref":"#/components/schemas/Jylo.Projects.Core.Entities.BillingService.ChatCreditAnalysis"},"chatDocuments":{"$ref":"#/components/schemas/Jylo.Projects.Core.Entities.BillingService.ChatCreditAnalysis"},"chatTextAnalysis":{"$ref":"#/components/schemas/Jylo.Projects.Core.Entities.BillingService.ChatCreditAnalysis"},"totalCredits":{"type":"number","format":"double"},"totalJobs":{"type":"integer","format":"int32"},"ocrPageCount":{"type":"integer","format":"int32"},"layoutPageCount":{"type":"integer","format":"int32"},"pageCount":{"type":"integer","format":"int32"},"ocrCreditsCost":{"type":"number","format":"double"},"layoutCreditsCost":{"type":"number","format":"double"},"fileCreditsCost":{"type":"number","format":"double"}},"additionalProperties":false},"Jylo.Projects.Core.Entities.BillingService.ChatCreditAnalysis":{"type":"object","properties":{"credits":{"type":"number","format":"double"},"jobs":{"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/admin/current-user":{"get":{"tags":["Project Analytics"],"summary":"Get analytics for the current user.","description":"Returns the credit and resource usage summary for the currently authenticated user.","responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Entities.Analytics.ResourceSummary"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Entities.Analytics.ResourceSummary"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Entities.Analytics.ResourceSummary"}}}},"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 all organization members with analytics.

> Returns a paginated, optionally filtered list of organization members and their analytics. Requires Owner role.

```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.ItemFiltering":{"enum":["equals","contains","doesNotContain","doesNotEqual","greaterThanOrEqualTo","lessThanOrEqualTo","greaterThan","lessThan"],"type":"string"},"PaginationListModel.UserAnalyticsModel":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Models.UserAnalyticsModel"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Core.Models.UserAnalyticsModel":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true},"lastLogin":{"type":"string","format":"date-time","nullable":true},"loginsCount":{"type":"integer","format":"int32"},"createdAt":{"type":"string","format":"date-time","nullable":true},"flows":{"type":"integer","format":"int32"},"assistants":{"type":"integer","format":"int32"},"totalCredits":{"type":"number","format":"double"},"flowCredits":{"type":"number","format":"double"},"assistantCredits":{"type":"number","format":"double"},"ocrPageCount":{"type":"integer","format":"int32"},"layoutPageCount":{"type":"integer","format":"int32"},"pageCount":{"type":"integer","format":"int32"},"ocrCreditsCost":{"type":"number","format":"double"},"layoutCreditsCost":{"type":"number","format":"double"},"fileCreditsCost":{"type":"number","format":"double"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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/admin/users":{"get":{"tags":["Project Analytics"],"summary":"Get all organization members with analytics.","description":"Returns a paginated, optionally filtered list of organization members and their analytics. Requires Owner role.","parameters":[{"name":"searchText","in":"query","schema":{"type":"string"}},{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":100}},{"name":"sorting","in":"query","schema":{"type":"string"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"filterColumn","in":"query","schema":{"type":"string"}},{"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.UserAnalyticsModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationListModel.UserAnalyticsModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationListModel.UserAnalyticsModel"}}}},"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"}}}}}}}}}
```

## Export user analytics data for the organization.

> Exports the organization's user analytics as a downloadable Excel (.xlsx) file. Requires Owner role.

```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/admin/users/export":{"get":{"tags":["Project Analytics"],"summary":"Export user analytics data for the organization.","description":"Exports the organization's user analytics as a downloadable Excel (.xlsx) file. Requires Owner role.","responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"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"}}}}}}}}}
```


# Project Team

## List the project's team members.

> Returns a paged, optionally filtered and sorted list of the users who have access to the 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.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.TeamMemberReadModel":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel":{"required":["dateAdded","email","isAdmin","name","objectIdentifier","resourceOwner"],"type":"object","properties":{"resourceOwner":{"type":"string","nullable":true},"isAdmin":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"email":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","nullable":true},"name":{"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}/team":{"get":{"tags":["Project Team"],"summary":"List the project's team members.","description":"Returns a paged, optionally filtered and sorted list of the users who have access to the project.","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":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"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"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationListModel.TeamMemberReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationListModel.TeamMemberReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationListModel.TeamMemberReadModel"}}}},"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"}}}}}}}}}
```

## Add a team member to the project.

> Grants a user access to the project as a team member. Requires project administrator rights; fails if the user already belongs to the 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.Toolkit.API.Models.Container.ContainerACL.ContainerACLWriteModel":{"required":["isAdmin","resourceOwner"],"type":"object","properties":{"resourceOwner":{"type":"string","nullable":true},"isAdmin":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel":{"required":["dateAdded","email","isAdmin","name","objectIdentifier","resourceOwner"],"type":"object","properties":{"resourceOwner":{"type":"string","nullable":true},"isAdmin":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"email":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","nullable":true},"name":{"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}/team":{"post":{"tags":["Project Team"],"summary":"Add a team member to the project.","description":"Grants a user access to the project as a team member. Requires project administrator rights; fails if the user already belongs to the project.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}}}},"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"}}}}}}}}}
```

## Add multiple team members to the project.

> Grants several users access to the project as team members in one request. Requires project administrator rights; fails if any user already belongs to the 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.Toolkit.API.Models.Container.ContainerACL.ContainerACLWriteModel":{"required":["isAdmin","resourceOwner"],"type":"object","properties":{"resourceOwner":{"type":"string","nullable":true},"isAdmin":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel":{"required":["dateAdded","email","isAdmin","name","objectIdentifier","resourceOwner"],"type":"object","properties":{"resourceOwner":{"type":"string","nullable":true},"isAdmin":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"email":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","nullable":true},"name":{"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}/team/bulk":{"post":{"tags":["Project Team"],"summary":"Add multiple team members to the project.","description":"Grants several users access to the project as team members in one request. Requires project administrator rights; fails if any user already belongs to the project.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLWriteModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLWriteModel"}}},"application/*+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLWriteModel"}}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}}}}},"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"}}}}}}}}}
```

## List users available to add to the team.

> Returns a paged, optionally filtered list of organisation members who are not yet part of the project and can be added to its team.

```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":{"PaginationListModel.AvailableOrganizationMember":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ContainerEntities.AvailableOrganizationMember"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ContainerEntities.AvailableOrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true},"isAvailable":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/team/available":{"get":{"tags":["Project Team"],"summary":"List users available to add to the team.","description":"Returns a paged, optionally filtered list of organisation members who are not yet part of the project and can be added to its team.","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":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationListModel.AvailableOrganizationMember"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationListModel.AvailableOrganizationMember"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationListModel.AvailableOrganizationMember"}}}},"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 single project team member.

> Retrieves the details of one team member on the project by their membership identifier.

```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.API.Models.Container.ContainerACL.TeamMemberReadModel":{"required":["dateAdded","email","isAdmin","name","objectIdentifier","resourceOwner"],"type":"object","properties":{"resourceOwner":{"type":"string","nullable":true},"isAdmin":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"email":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","nullable":true},"name":{"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}/team/{objectIdentifier}":{"get":{"tags":["Project Team"],"summary":"Get a single project team member.","description":"Retrieves the details of one team member on the project by their membership identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}}}},"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"}}}}}}}}}
```

## Update a team member's project access.

> Changes a team member's role on the project, such as granting or revoking administrator rights. Requires project administrator rights and will not remove the last remaining administrator.

```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.API.Models.Container.ContainerACL.ContainerACLUpdateModel":{"required":["isAdmin"],"type":"object","properties":{"isAdmin":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel":{"required":["dateAdded","email","isAdmin","name","objectIdentifier","resourceOwner"],"type":"object","properties":{"resourceOwner":{"type":"string","nullable":true},"isAdmin":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"email":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","nullable":true},"name":{"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}/team/{objectIdentifier}":{"put":{"tags":["Project Team"],"summary":"Update a team member's project access.","description":"Changes a team member's role on the project, such as granting or revoking administrator rights. Requires project administrator rights and will not remove the last remaining administrator.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLUpdateModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLUpdateModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}}}},"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"}}}}}}}}}
```

## Remove a team member from the project.

> Revokes a user's access to the project by removing their team membership. Requires project administrator rights and will not remove the last remaining administrator.

```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}/team/{objectIdentifier}":{"delete":{"tags":["Project Team"],"summary":"Remove a team member from the project.","description":"Revokes a user's access to the project by removing their team membership. Requires project administrator rights and will not remove the last remaining administrator.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"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"}}}}}}}}}
```

## Check the caller's project team admin access.

> Returns whether the current user is an administrator of the project team, so clients can show or hide team-management features.

```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}/team/admin-access":{"get":{"tags":["Project Team"],"summary":"Check the caller's project team admin access.","description":"Returns whether the current user is an administrator of the project team, so clients can show or hide team-management features.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"boolean"}},"application/json":{"schema":{"type":"boolean"}},"text/json":{"schema":{"type":"boolean"}}}},"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"}}}}}}}}}
```


# 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"}}}}}}}}}
```


# Prompt Answers

## Add evidence to a prompt answer category.

> Creates a manual quote evidence entry against a prompt answer category and returns the created record.

```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.Flows.PromptAnswers.CreatePromptAnswerEvidenceRequest":{"type":"object","properties":{"text":{"type":"string","nullable":true},"quoteOnly":{"type":"boolean"}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"text":{"type":"string","nullable":true},"polygonPoints":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"pageNumber":{"type":"integer","format":"int32","nullable":true},"quoteOnly":{"type":"boolean"},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid","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}/prompt-answer-categories/{promptAnswerCategoryObjectIdentifier}/evidence":{"post":{"tags":["Prompt Answers"],"summary":"Add evidence to a prompt answer category.","description":"Creates a manual quote evidence entry against a prompt answer category and returns the created record.","parameters":[{"name":"promptAnswerCategoryObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.CreatePromptAnswerEvidenceRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.CreatePromptAnswerEvidenceRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.CreatePromptAnswerEvidenceRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult"}}}},"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"}}}},"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 prompt answer category's evidence entry.

> Edits the quote text of an existing category evidence entry and returns the updated record.

```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.Flows.PromptAnswers.UpdatePromptAnswerEvidenceRequest":{"type":"object","properties":{"text":{"type":"string","nullable":true},"quoteOnly":{"type":"boolean"}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"text":{"type":"string","nullable":true},"polygonPoints":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"pageNumber":{"type":"integer","format":"int32","nullable":true},"quoteOnly":{"type":"boolean"},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid","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}/prompt-answer-categories/{promptAnswerCategoryObjectIdentifier}/evidence/{objectIdentifier}":{"put":{"tags":["Prompt Answers"],"summary":"Update a prompt answer category's evidence entry.","description":"Edits the quote text of an existing category evidence entry and returns the updated record.","parameters":[{"name":"promptAnswerCategoryObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.UpdatePromptAnswerEvidenceRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.UpdatePromptAnswerEvidenceRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.UpdatePromptAnswerEvidenceRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult"}}}},"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"}}}},"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 prompt answer category's evidence entry.

> Permanently removes an evidence entry from a prompt answer category. This cannot be undone.

```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}/prompt-answer-categories/{promptAnswerCategoryObjectIdentifier}/evidence/{objectIdentifier}":{"delete":{"tags":["Prompt Answers"],"summary":"Delete a prompt answer category's evidence entry.","description":"Permanently removes an evidence entry from a prompt answer category. This cannot be undone.","parameters":[{"name":"promptAnswerCategoryObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}},"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 a prompt answer.

> Returns a single prompt answer in the project, identified by its GUID, including its value, status, and assignment.

```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.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"booleanAnswer":{"type":"boolean","nullable":true},"textAnswer":{"type":"string","nullable":true},"decimalAnswer":{"type":"number","format":"double","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"assignedTo":{"type":"string","nullable":true},"reviewedBy":{"type":"string","nullable":true},"approved":{"type":"boolean","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"assignedToMember":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult"},"reviewedByMember":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult"},"hasChildren":{"type":"boolean"},"approvedPromptCount":{"type":"integer","format":"int32"},"rejectedPromptCount":{"type":"integer","format":"int32"},"awaitingVerificationCount":{"type":"integer","format":"int32"},"prompt":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"},"promptAnswerCategories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryResult"},"nullable":true},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"email":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult":{"type":"object","properties":{"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary"},"nullable":true},"minimumValue":{"type":"number","format":"double","nullable":true},"maximumValue":{"type":"number","format":"double","nullable":true},"found":{"type":"boolean","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"runStatus":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus"},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus":{"enum":["pending","inProgress","succeeded","failed"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"category":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptCategoryResult"},"name":{"type":"string","nullable":true},"colour":{"type":"integer","format":"int32","nullable":true},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptCategoryResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"text":{"type":"string","nullable":true},"polygonPoints":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"pageNumber":{"type":"integer","format":"int32","nullable":true},"quoteOnly":{"type":"boolean"},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"text":{"type":"string","nullable":true},"polygonPoints":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"pageNumber":{"type":"integer","format":"int32","nullable":true},"quoteOnly":{"type":"boolean"},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid","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}/prompt-answers/{objectIdentifier}":{"get":{"tags":["Prompt Answers"],"summary":"Get a prompt answer.","description":"Returns a single prompt answer in the project, identified by its GUID, including its value, status, and assignment.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult"}}}},"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"}}}},"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 prompt answer.

> Updates the stored value, assignment, and approval state of an existing prompt answer and returns the updated record.

```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.Flows.PromptAnswers.UpdatePromptAnswerRequest":{"type":"object","properties":{"booleanAnswer":{"type":"boolean","nullable":true},"textAnswer":{"type":"string","nullable":true},"decimalAnswer":{"type":"number","format":"double","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"assignedTo":{"type":"string","nullable":true},"approved":{"type":"boolean","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"booleanAnswer":{"type":"boolean","nullable":true},"textAnswer":{"type":"string","nullable":true},"decimalAnswer":{"type":"number","format":"double","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"assignedTo":{"type":"string","nullable":true},"reviewedBy":{"type":"string","nullable":true},"approved":{"type":"boolean","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"assignedToMember":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult"},"reviewedByMember":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult"},"hasChildren":{"type":"boolean"},"approvedPromptCount":{"type":"integer","format":"int32"},"rejectedPromptCount":{"type":"integer","format":"int32"},"awaitingVerificationCount":{"type":"integer","format":"int32"},"prompt":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"},"promptAnswerCategories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryResult"},"nullable":true},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"email":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult":{"type":"object","properties":{"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary"},"nullable":true},"minimumValue":{"type":"number","format":"double","nullable":true},"maximumValue":{"type":"number","format":"double","nullable":true},"found":{"type":"boolean","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"runStatus":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus"},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus":{"enum":["pending","inProgress","succeeded","failed"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"category":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptCategoryResult"},"name":{"type":"string","nullable":true},"colour":{"type":"integer","format":"int32","nullable":true},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptCategoryResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"text":{"type":"string","nullable":true},"polygonPoints":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"pageNumber":{"type":"integer","format":"int32","nullable":true},"quoteOnly":{"type":"boolean"},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"text":{"type":"string","nullable":true},"polygonPoints":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"pageNumber":{"type":"integer","format":"int32","nullable":true},"quoteOnly":{"type":"boolean"},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid","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}/prompt-answers/{objectIdentifier}":{"put":{"tags":["Prompt Answers"],"summary":"Update a prompt answer.","description":"Updates the stored value, assignment, and approval state of an existing prompt answer and returns the updated record.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.UpdatePromptAnswerRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.UpdatePromptAnswerRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.UpdatePromptAnswerRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult"}}}},"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"}}}},"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 prompt answer.

> Permanently removes a prompt answer from the project. This cannot be undone.

```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}/prompt-answers/{objectIdentifier}":{"delete":{"tags":["Prompt Answers"],"summary":"Delete a prompt answer.","description":"Permanently removes a prompt answer from the project. This cannot be undone.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}},"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"}}}}}}}}}
```

## List prompt answers for a document collection.

> Returns the prompt answers generated for a flow document collection, with optional filtering by prompt or parent prompt and an option to flatten the result.

```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.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"booleanAnswer":{"type":"boolean","nullable":true},"textAnswer":{"type":"string","nullable":true},"decimalAnswer":{"type":"number","format":"double","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"assignedTo":{"type":"string","nullable":true},"reviewedBy":{"type":"string","nullable":true},"approved":{"type":"boolean","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"assignedToMember":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult"},"reviewedByMember":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult"},"hasChildren":{"type":"boolean"},"approvedPromptCount":{"type":"integer","format":"int32"},"rejectedPromptCount":{"type":"integer","format":"int32"},"awaitingVerificationCount":{"type":"integer","format":"int32"},"prompt":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"},"promptAnswerCategories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryResult"},"nullable":true},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"email":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult":{"type":"object","properties":{"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary"},"nullable":true},"minimumValue":{"type":"number","format":"double","nullable":true},"maximumValue":{"type":"number","format":"double","nullable":true},"found":{"type":"boolean","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"runStatus":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus"},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus":{"enum":["pending","inProgress","succeeded","failed"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"category":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptCategoryResult"},"name":{"type":"string","nullable":true},"colour":{"type":"integer","format":"int32","nullable":true},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptCategoryResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"text":{"type":"string","nullable":true},"polygonPoints":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"pageNumber":{"type":"integer","format":"int32","nullable":true},"quoteOnly":{"type":"boolean"},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"text":{"type":"string","nullable":true},"polygonPoints":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"pageNumber":{"type":"integer","format":"int32","nullable":true},"quoteOnly":{"type":"boolean"},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid","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}/flow-document-collections/{flowDocumentCollectionObjectIdentifier}/prompt-answers":{"get":{"tags":["Prompt Answers"],"summary":"List prompt answers for a document collection.","description":"Returns the prompt answers generated for a flow document collection, with optional filtering by prompt or parent prompt and an option to flatten the result.","parameters":[{"name":"flowDocumentCollectionObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"promptObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"flatten","in":"query","schema":{"type":"boolean"}},{"name":"parentPromptObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"includePrompt","in":"query","schema":{"type":"boolean","default":false}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult"}}}}},"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"}}}}}}}}}
```

## Update a prompt answer's status.

> Changes the workflow status of a prompt answer without altering its value, and returns the updated record.

```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.Flows.PromptAnswers.UpdatePromptAnswerStatusRequest":{"type":"object","properties":{"status":{"type":"boolean","nullable":true},"resourceOwner":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"booleanAnswer":{"type":"boolean","nullable":true},"textAnswer":{"type":"string","nullable":true},"decimalAnswer":{"type":"number","format":"double","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"assignedTo":{"type":"string","nullable":true},"reviewedBy":{"type":"string","nullable":true},"approved":{"type":"boolean","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"assignedToMember":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult"},"reviewedByMember":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult"},"hasChildren":{"type":"boolean"},"approvedPromptCount":{"type":"integer","format":"int32"},"rejectedPromptCount":{"type":"integer","format":"int32"},"awaitingVerificationCount":{"type":"integer","format":"int32"},"prompt":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"},"promptAnswerCategories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryResult"},"nullable":true},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"email":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult":{"type":"object","properties":{"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary"},"nullable":true},"minimumValue":{"type":"number","format":"double","nullable":true},"maximumValue":{"type":"number","format":"double","nullable":true},"found":{"type":"boolean","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"runStatus":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus"},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus":{"enum":["pending","inProgress","succeeded","failed"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"category":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptCategoryResult"},"name":{"type":"string","nullable":true},"colour":{"type":"integer","format":"int32","nullable":true},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptCategoryResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"text":{"type":"string","nullable":true},"polygonPoints":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"pageNumber":{"type":"integer","format":"int32","nullable":true},"quoteOnly":{"type":"boolean"},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"text":{"type":"string","nullable":true},"polygonPoints":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"pageNumber":{"type":"integer","format":"int32","nullable":true},"quoteOnly":{"type":"boolean"},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid","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}/prompt-answers/{objectIdentifier}/status":{"patch":{"tags":["Prompt Answers"],"summary":"Update a prompt answer's status.","description":"Changes the workflow status of a prompt answer without altering its value, and returns the updated record.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.UpdatePromptAnswerStatusRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.UpdatePromptAnswerStatusRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.UpdatePromptAnswerStatusRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult"}}}},"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"}}}},"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"}}}}}}}}}
```

## Add evidence to a prompt answer.

> Creates a manual quote evidence entry against a prompt answer and returns the created record.

```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.Flows.PromptAnswers.CreatePromptAnswerEvidenceRequest":{"type":"object","properties":{"text":{"type":"string","nullable":true},"quoteOnly":{"type":"boolean"}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"text":{"type":"string","nullable":true},"polygonPoints":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"pageNumber":{"type":"integer","format":"int32","nullable":true},"quoteOnly":{"type":"boolean"},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid","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}/prompt-answers/{objectIdentifier}/evidence":{"post":{"tags":["Prompt Answers"],"summary":"Add evidence to a prompt answer.","description":"Creates a manual quote evidence entry against a prompt answer and returns the created record.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.CreatePromptAnswerEvidenceRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.CreatePromptAnswerEvidenceRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.CreatePromptAnswerEvidenceRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult"}}}},"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"}}}},"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 prompt answer's evidence entry.

> Edits the quote text of an existing evidence entry and returns the updated record.

```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.Flows.PromptAnswers.UpdatePromptAnswerEvidenceRequest":{"type":"object","properties":{"text":{"type":"string","nullable":true},"quoteOnly":{"type":"boolean"}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"text":{"type":"string","nullable":true},"polygonPoints":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"pageNumber":{"type":"integer","format":"int32","nullable":true},"quoteOnly":{"type":"boolean"},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid","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}/prompt-answers/{objectIdentifier}/evidence/{evidenceObjectIdentifier}":{"put":{"tags":["Prompt Answers"],"summary":"Update a prompt answer's evidence entry.","description":"Edits the quote text of an existing evidence entry and returns the updated record.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"evidenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.UpdatePromptAnswerEvidenceRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.UpdatePromptAnswerEvidenceRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.UpdatePromptAnswerEvidenceRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult"}}}},"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"}}}},"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 prompt answer's evidence entry.

> Permanently removes an evidence entry from a prompt answer. This cannot be undone.

```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}/prompt-answers/{objectIdentifier}/evidence/{evidenceObjectIdentifier}":{"delete":{"tags":["Prompt Answers"],"summary":"Delete a prompt answer's evidence entry.","description":"Permanently removes an evidence entry from a prompt answer. This cannot be undone.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"evidenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}},"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"}}}}}}}}}
```

## Assign a prompt answer to a user.

> Assigns a prompt answer to the specified user and returns the updated record.

```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.Flows.PromptAnswers.AssignPromptAnswerRequest":{"type":"object","properties":{"assignedTo":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"booleanAnswer":{"type":"boolean","nullable":true},"textAnswer":{"type":"string","nullable":true},"decimalAnswer":{"type":"number","format":"double","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"assignedTo":{"type":"string","nullable":true},"reviewedBy":{"type":"string","nullable":true},"approved":{"type":"boolean","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"assignedToMember":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult"},"reviewedByMember":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult"},"hasChildren":{"type":"boolean"},"approvedPromptCount":{"type":"integer","format":"int32"},"rejectedPromptCount":{"type":"integer","format":"int32"},"awaitingVerificationCount":{"type":"integer","format":"int32"},"prompt":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"},"promptAnswerCategories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryResult"},"nullable":true},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"email":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult":{"type":"object","properties":{"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary"},"nullable":true},"minimumValue":{"type":"number","format":"double","nullable":true},"maximumValue":{"type":"number","format":"double","nullable":true},"found":{"type":"boolean","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"runStatus":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus"},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus":{"enum":["pending","inProgress","succeeded","failed"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"category":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptCategoryResult"},"name":{"type":"string","nullable":true},"colour":{"type":"integer","format":"int32","nullable":true},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptCategoryResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"text":{"type":"string","nullable":true},"polygonPoints":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"pageNumber":{"type":"integer","format":"int32","nullable":true},"quoteOnly":{"type":"boolean"},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"text":{"type":"string","nullable":true},"polygonPoints":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"pageNumber":{"type":"integer","format":"int32","nullable":true},"quoteOnly":{"type":"boolean"},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid","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}/prompt-answers/{objectIdentifier}/assigned-to":{"patch":{"tags":["Prompt Answers"],"summary":"Assign a prompt answer to a user.","description":"Assigns a prompt answer to the specified user and returns the updated record.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.AssignPromptAnswerRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.AssignPromptAnswerRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptAnswers.AssignPromptAnswerRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult"}}}},"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"}}}},"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"}}}}}}}}}
```

## Attach categories to a prompt answer.

> Attaches one or more existing prompt categories to a Categories-type prompt answer and returns the created links.

```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.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"category":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptCategoryResult"},"name":{"type":"string","nullable":true},"colour":{"type":"integer","format":"int32","nullable":true},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptCategoryResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"text":{"type":"string","nullable":true},"polygonPoints":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"pageNumber":{"type":"integer","format":"int32","nullable":true},"quoteOnly":{"type":"boolean"},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid","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}/prompt-answers/{objectIdentifier}/categories":{"post":{"tags":["Prompt Answers"],"summary":"Attach categories to a prompt answer.","description":"Attaches one or more existing prompt categories to a Categories-type prompt answer and returns the created links.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},"text/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},"application/*+json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryResult"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryResult"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryResult"}}}}},"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"}}}},"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"}}}}}}}}}
```

## Detach a category from a prompt answer.

> Removes a single category link from a prompt answer. This cannot be undone.

```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}/prompt-answers/{objectIdentifier}/categories/{promptAnswerCategoryObjectIdentifier}":{"delete":{"tags":["Prompt Answers"],"summary":"Detach a category from a prompt answer.","description":"Removes a single category link from a prompt answer. This cannot be undone.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"promptAnswerCategoryObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}},"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"}}}}}}}}}
```


# Prompt Categories

## Query prompt categories.

> Supports non-CRUD reads, such as finding an unused category colour for a prompt.

```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.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"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}/prompt-categories":{"get":{"tags":["Prompt Categories"],"summary":"Query prompt categories.","description":"Supports non-CRUD reads, such as finding an unused category colour for a prompt.","parameters":[{"name":"promptObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"unusedColour","in":"query","schema":{"type":"boolean","default":false}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}}}},"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 prompt category.

> Creates a new named, coloured prompt category within the specified 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.Flows.PromptCategories.CreatePromptCategoryRequest":{"type":"object","properties":{"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"},"promptObjectIdentifier":{"type":"string","format":"uuid"},"resourceOwnerId":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.PromptCategories.PromptCategoryResult":{"required":["colour","name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"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}/prompt-categories":{"post":{"tags":["Prompt Categories"],"summary":"Create a prompt category.","description":"Creates a new named, coloured prompt category within the specified project.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptCategories.CreatePromptCategoryRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptCategories.CreatePromptCategoryRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptCategories.CreatePromptCategoryRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptCategories.PromptCategoryResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptCategories.PromptCategoryResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptCategories.PromptCategoryResult"}}}},"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 prompt category by id.

> Returns the prompt category identified by its GUID within the specified 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.Core.Application.Contracts.Results.PromptCategories.PromptCategoryResult":{"required":["colour","name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"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}/prompt-categories/{objectIdentifier}":{"get":{"tags":["Prompt Categories"],"summary":"Get a prompt category by id.","description":"Returns the prompt category identified by its GUID within the specified project.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptCategories.PromptCategoryResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptCategories.PromptCategoryResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptCategories.PromptCategoryResult"}}}},"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"}}}}}}}}}
```

## Update a prompt category.

> Updates the name and colour of an existing prompt category in the 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.Flows.PromptCategories.UpdatePromptCategoryRequest":{"type":"object","properties":{"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.PromptCategories.PromptCategoryResult":{"required":["colour","name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"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}/prompt-categories/{objectIdentifier}":{"put":{"tags":["Prompt Categories"],"summary":"Update a prompt category.","description":"Updates the name and colour of an existing prompt category in the project.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptCategories.UpdatePromptCategoryRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptCategories.UpdatePromptCategoryRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.PromptCategories.UpdatePromptCategoryRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptCategories.PromptCategoryResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptCategories.PromptCategoryResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptCategories.PromptCategoryResult"}}}},"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"}}}}}}}}}
```

## Delete a prompt category.

> Permanently removes the specified prompt category from the 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":{"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}/prompt-categories/{objectIdentifier}":{"delete":{"tags":["Prompt Categories"],"summary":"Delete a prompt category.","description":"Permanently removes the specified prompt category from the project.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```


# Prompt Improver

## Improve a user prompt via their chosen model

> Takes a draft prompt and returns an improved version using the specified model. Optionally accepts style tags to further shape the output.

```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.Chat.ImprovePromptWriteModel":{"required":["modelIdentifier","text"],"type":"object","properties":{"text":{"type":"string","nullable":true},"modelIdentifier":{"type":"string","format":"uuid"},"tags":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Models.Chat.ImprovedPromptReadModel":{"required":["improvedText"],"type":"object","properties":{"improvedText":{"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}/prompt-improver":{"post":{"tags":["Prompt Improver"],"summary":"Improve a user prompt via their chosen model","description":"Takes a draft prompt and returns an improved version using the specified model. Optionally accepts style tags to further shape the output.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.ImprovePromptWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.ImprovePromptWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.ImprovePromptWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.ImprovedPromptReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.ImprovedPromptReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Chat.ImprovedPromptReadModel"}}}},"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"}}}}}}}}}
```


# Prompts

## List comments for a prompt answer.

> Returns a paginated list of comments attached to a prompt answer, suitable for rendering a discussion thread.

```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":{"PaginationList.PromptAnswerCommentResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Responses.PromptAnswerCommentResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Responses.PromptAnswerCommentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptAnswerObjectIdentifier":{"type":"string","format":"uuid"},"comment":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/prompt-answers/{promptAnswerObjectIdentifier}/comments":{"get":{"tags":["Prompts"],"summary":"List comments for a prompt answer.","description":"Returns a paginated list of comments attached to a prompt answer, suitable for rendering a discussion thread.","parameters":[{"name":"promptAnswerObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/PaginationList.PromptAnswerCommentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/PaginationList.PromptAnswerCommentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/PaginationList.PromptAnswerCommentResponse"}}}},"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"}}}}}}}}}
```

## Add a comment to a prompt answer.

> Creates a new comment against a prompt answer so collaborators can discuss the generated result. Returns the created comment.

```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.Services.Features.PromptAnswerComments.Contracts.Requests.CreatePromptAnswerCommentRequest":{"required":["comment"],"type":"object","properties":{"comment":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Responses.PromptAnswerCommentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptAnswerObjectIdentifier":{"type":"string","format":"uuid"},"comment":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/prompt-answers/{promptAnswerObjectIdentifier}/comments":{"post":{"tags":["Prompts"],"summary":"Add a comment to a prompt answer.","description":"Creates a new comment against a prompt answer so collaborators can discuss the generated result. Returns the created comment.","parameters":[{"name":"promptAnswerObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Requests.CreatePromptAnswerCommentRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Requests.CreatePromptAnswerCommentRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Requests.CreatePromptAnswerCommentRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Responses.PromptAnswerCommentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Responses.PromptAnswerCommentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Responses.PromptAnswerCommentResponse"}}}},"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 prompt answer comment.

> Returns the details of a single prompt answer comment identified by its GUID.

```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.Services.Features.PromptAnswerComments.Contracts.Responses.PromptAnswerCommentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptAnswerObjectIdentifier":{"type":"string","format":"uuid"},"comment":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/prompt-answers/{promptAnswerObjectIdentifier}/comments/{objectIdentifier}":{"get":{"tags":["Prompts"],"summary":"Get a prompt answer comment.","description":"Returns the details of a single prompt answer comment identified by its GUID.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"promptAnswerObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Responses.PromptAnswerCommentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Responses.PromptAnswerCommentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Responses.PromptAnswerCommentResponse"}}}},"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"}}}}}}}}}
```

## Update a prompt answer comment.

> Edits the text of an existing prompt answer comment and returns the updated comment.

```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.Services.Features.PromptAnswerComments.Contracts.Requests.UpdatePromptAnswerCommentRequest":{"required":["comment"],"type":"object","properties":{"comment":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Responses.PromptAnswerCommentResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptAnswerObjectIdentifier":{"type":"string","format":"uuid"},"comment":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/prompt-answers/{promptAnswerObjectIdentifier}/comments/{objectIdentifier}":{"put":{"tags":["Prompts"],"summary":"Update a prompt answer comment.","description":"Edits the text of an existing prompt answer comment and returns the updated comment.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"promptAnswerObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Requests.UpdatePromptAnswerCommentRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Requests.UpdatePromptAnswerCommentRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Requests.UpdatePromptAnswerCommentRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Responses.PromptAnswerCommentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Responses.PromptAnswerCommentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.PromptAnswerComments.Contracts.Responses.PromptAnswerCommentResponse"}}}},"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"}}}}}}}}}
```

## Delete a prompt answer comment.

> Permanently deletes a prompt answer comment. The deletion cannot be undone.

```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}/prompt-answers/{promptAnswerObjectIdentifier}/comments/{objectIdentifier}":{"delete":{"tags":["Prompts"],"summary":"Delete a prompt answer comment.","description":"Permanently deletes a prompt answer comment. The deletion cannot be undone.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"promptAnswerObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```

## List prompts.

> Returns prompts in a flow group, filterable by parent, search term, explicit identifiers or numeric id, with optional answer options.

```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.PromptSorting":{"enum":["dateAdded","subPrompt"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult":{"type":"object","properties":{"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary"},"nullable":true},"minimumValue":{"type":"number","format":"double","nullable":true},"maximumValue":{"type":"number","format":"double","nullable":true},"found":{"type":"boolean","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"runStatus":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus"},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus":{"enum":["pending","inProgress","succeeded","failed"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flow-groups/{flowGroupObjectIdentifier}/prompts":{"get":{"tags":["Prompts"],"summary":"List prompts.","description":"Returns prompts in a flow group, filterable by parent, search term, explicit identifiers or numeric id, with optional answer options.","parameters":[{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"includeOptions","in":"query","schema":{"type":"boolean"}},{"name":"flatten","in":"query","schema":{"type":"boolean"}},{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"offsetObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"take","in":"query","schema":{"type":"integer","format":"int32","default":100}},{"name":"searchTerm","in":"query","schema":{"type":"string"}},{"name":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.PromptSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"id","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"objectIdentifiers","in":"query","schema":{"type":"string"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}}}}},"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 prompt.

> Adds a new prompt to a flow group, including its question, model and any answer-based conditions.

```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.Flows.Prompts.CreatePromptRequest":{"type":"object","properties":{"resourceOwner":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Prompts.CreatePromptConditionRequest"},"nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Projects.Models.Flows.Prompts.CreatePromptConditionRequest":{"type":"object","properties":{"promptPredicateObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Prompts.CreatePromptConditionCategoryRequest"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Models.Flows.Prompts.CreatePromptConditionCategoryRequest":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult":{"type":"object","properties":{"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary"},"nullable":true},"minimumValue":{"type":"number","format":"double","nullable":true},"maximumValue":{"type":"number","format":"double","nullable":true},"found":{"type":"boolean","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"runStatus":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus"},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus":{"enum":["pending","inProgress","succeeded","failed"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flow-groups/{flowGroupObjectIdentifier}/prompts":{"post":{"tags":["Prompts"],"summary":"Create a prompt.","description":"Adds a new prompt to a flow group, including its question, model and any answer-based conditions.","parameters":[{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Prompts.CreatePromptRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Prompts.CreatePromptRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Prompts.CreatePromptRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}}}},"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"}}}},"409":{"description":"Conflict","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"}}}}}}}}}
```

## Duplicate a prompt.

> Creates a copy of a prompt in the same flow group as new entities.

```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.Core.Application.Contracts.Results.Prompts.PromptResult":{"type":"object","properties":{"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary"},"nullable":true},"minimumValue":{"type":"number","format":"double","nullable":true},"maximumValue":{"type":"number","format":"double","nullable":true},"found":{"type":"boolean","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"runStatus":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus"},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus":{"enum":["pending","inProgress","succeeded","failed"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flow-groups/{flowGroupObjectIdentifier}/prompts/{promptObjectIdentifier}/duplicate":{"post":{"tags":["Prompts"],"summary":"Duplicate a prompt.","description":"Creates a copy of a prompt in the same flow group as new entities.","parameters":[{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"promptObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}}}},"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"}}}},"409":{"description":"Conflict","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 prompt.

> Returns a single prompt by its GUID, optionally including its answer options and rich question JSON.

```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.Core.Application.Contracts.Results.Prompts.PromptResult":{"type":"object","properties":{"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary"},"nullable":true},"minimumValue":{"type":"number","format":"double","nullable":true},"maximumValue":{"type":"number","format":"double","nullable":true},"found":{"type":"boolean","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"runStatus":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus"},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus":{"enum":["pending","inProgress","succeeded","failed"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flow-groups/{flowGroupObjectIdentifier}/prompts/{objectIdentifier}":{"get":{"tags":["Prompts"],"summary":"Get a prompt.","description":"Returns a single prompt by its GUID, optionally including its answer options and rich question JSON.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"includeOptions","in":"query","schema":{"type":"boolean"}},{"name":"includeQuestionJson","in":"query","schema":{"type":"boolean"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}}}},"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"}}}}}}}}}
```

## Update a prompt.

> Edits an existing prompt's question, model, data type and conditions.

```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.Flows.Prompts.UpdatePromptRequest":{"type":"object","properties":{"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Prompts.CreatePromptConditionRequest"},"nullable":true},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean","nullable":true},"includeDocuments":{"type":"boolean","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Models.Flows.Prompts.CreatePromptConditionRequest":{"type":"object","properties":{"promptPredicateObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Prompts.CreatePromptConditionCategoryRequest"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Models.Flows.Prompts.CreatePromptConditionCategoryRequest":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult":{"type":"object","properties":{"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary"},"nullable":true},"minimumValue":{"type":"number","format":"double","nullable":true},"maximumValue":{"type":"number","format":"double","nullable":true},"found":{"type":"boolean","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"runStatus":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus"},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus":{"enum":["pending","inProgress","succeeded","failed"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flow-groups/{flowGroupObjectIdentifier}/prompts/{objectIdentifier}":{"put":{"tags":["Prompts"],"summary":"Update a prompt.","description":"Edits an existing prompt's question, model, data type and conditions.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Prompts.UpdatePromptRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Prompts.UpdatePromptRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Prompts.UpdatePromptRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}}}},"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"}}}},"409":{"description":"Conflict","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 prompt.

> Permanently removes a prompt from a flow group, provided it is not referenced elsewhere and no run is active.

```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}/flow-groups/{flowGroupObjectIdentifier}/prompts/{objectIdentifier}":{"delete":{"tags":["Prompts"],"summary":"Delete a prompt.","description":"Permanently removes a prompt from a flow group, provided it is not referenced elsewhere and no run is active.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}},"409":{"description":"Conflict","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"}}}}}}}}}
```

## Count prompts.

> Returns the total count of prompts in the flow group.

```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}/flow-groups/{flowGroupObjectIdentifier}/prompts/count":{"get":{"tags":["Prompts"],"summary":"Count prompts.","description":"Returns the total count of prompts in the flow group.","parameters":[{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"integer","format":"int32"}},"application/json":{"schema":{"type":"integer","format":"int32"}},"text/json":{"schema":{"type":"integer","format":"int32"}}}},"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"}}}}}}}}}
```

## List a prompt's ancestors.

> Returns the chain of parent prompts above a given prompt in its flow group.

```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.Core.Application.Contracts.Results.Prompts.PromptResult":{"type":"object","properties":{"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary"},"nullable":true},"minimumValue":{"type":"number","format":"double","nullable":true},"maximumValue":{"type":"number","format":"double","nullable":true},"found":{"type":"boolean","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"runStatus":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus"},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus":{"enum":["pending","inProgress","succeeded","failed"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flow-groups/{flowGroupObjectIdentifier}/prompts/{objectIdentifier}/ancestors":{"get":{"tags":["Prompts"],"summary":"List a prompt's ancestors.","description":"Returns the chain of parent prompts above a given prompt in its flow group.","parameters":[{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"searchText","in":"query","schema":{"type":"string"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}}}}},"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"}}}}}}}}}
```

## List ancestors by parent.

> Returns the ancestor prompts for a new prompt that would sit under the given parent.

```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.Core.Application.Contracts.Results.Prompts.PromptResult":{"type":"object","properties":{"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary"},"nullable":true},"minimumValue":{"type":"number","format":"double","nullable":true},"maximumValue":{"type":"number","format":"double","nullable":true},"found":{"type":"boolean","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"runStatus":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus"},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus":{"enum":["pending","inProgress","succeeded","failed"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flow-groups/{flowGroupObjectIdentifier}/prompts/ancestors-by-parent":{"get":{"tags":["Prompts"],"summary":"List ancestors by parent.","description":"Returns the ancestor prompts for a new prompt that would sit under the given parent.","parameters":[{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"searchText","in":"query","schema":{"type":"string"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}}}}},"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"}}}}}}}}}
```

## List mention options.

> Returns the prompts that may be referenced in a mention or condition, excluding those that would create a cycle.

```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.Core.Application.Contracts.Results.Prompts.PromptResult":{"type":"object","properties":{"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary"},"nullable":true},"minimumValue":{"type":"number","format":"double","nullable":true},"maximumValue":{"type":"number","format":"double","nullable":true},"found":{"type":"boolean","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"runStatus":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus"},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus":{"enum":["pending","inProgress","succeeded","failed"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flow-groups/{flowGroupObjectIdentifier}/prompts/mention-options":{"get":{"tags":["Prompts"],"summary":"List mention options.","description":"Returns the prompts that may be referenced in a mention or condition, excluding those that would create a cycle.","parameters":[{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"searchText","in":"query","schema":{"type":"string"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}}}}},"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"}}}}}}}}}
```

## Move a prompt.

> Repositions a prompt within its flow group by changing its parent and order.

```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.Flows.Prompts.UpdatePromptPositionRequest":{"type":"object","properties":{"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"orderNumber":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult":{"type":"object","properties":{"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary"},"nullable":true},"minimumValue":{"type":"number","format":"double","nullable":true},"maximumValue":{"type":"number","format":"double","nullable":true},"found":{"type":"boolean","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"runStatus":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus"},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus":{"enum":["pending","inProgress","succeeded","failed"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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}/flow-groups/{flowGroupObjectIdentifier}/prompts/{objectIdentifier}/position":{"put":{"tags":["Prompts"],"summary":"Move a prompt.","description":"Repositions a prompt within its flow group by changing its parent and order.","parameters":[{"name":"flowGroupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Prompts.UpdatePromptPositionRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Prompts.UpdatePromptPositionRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.Flows.Prompts.UpdatePromptPositionRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"}}}},"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"}}}}}}}}}
```

## List prompts with answers.

> Returns a page of prompts for a flow document collection, each with its answer in that collection.

```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.PromptSorting":{"enum":["dateAdded","subPrompt"],"type":"string"},"Jylo.Projects.Services.Features.Prompts.Application.Queries.GetPromptsByFlowDocumentCollection.GetPromptsByFlowDocumentCollectionResponse":{"type":"object","properties":{"totalCount":{"type":"integer","format":"int32"},"page":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Prompts.Application.Queries.GetPromptsByFlowDocumentCollection.FlowDocumentCollectionPromptItem"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Services.Features.Prompts.Application.Queries.GetPromptsByFlowDocumentCollection.FlowDocumentCollectionPromptItem":{"type":"object","properties":{"prompt":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"},"answer":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult"},"conditionsNotMet":{"type":"boolean"},"skipReason":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptSkipReason"},"skipDetail":{"type":"string","nullable":true},"skipOperator":{"type":"string","nullable":true},"skipClauses":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptSkipClauseResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult":{"type":"object","properties":{"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary"},"nullable":true},"minimumValue":{"type":"number","format":"double","nullable":true},"maximumValue":{"type":"number","format":"double","nullable":true},"found":{"type":"boolean","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"runStatus":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus"},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult"},"nullable":true},"resourceOwnerId":{"type":"string","nullable":true},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember"}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptCategorySummary":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ECategoryColour"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ECategoryColour":{"enum":["primary","primaryLight","primaryDark","secondary","secondaryLight","secondaryDark","tertiary","tertiaryLight","tertiaryDark","accent1","accent2","accent3","accent4","accent5","accent6","accent7","accent8","accent9","accent10"],"type":"string"},"Jylo.Toolkit.Projects.Enums.WorkItemBuildStatus":{"enum":["pending","inProgress","succeeded","failed"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionPredicateResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptConditionCategoryResult":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.OrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"booleanAnswer":{"type":"boolean","nullable":true},"textAnswer":{"type":"string","nullable":true},"decimalAnswer":{"type":"number","format":"double","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"assignedTo":{"type":"string","nullable":true},"reviewedBy":{"type":"string","nullable":true},"approved":{"type":"boolean","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"assignedToMember":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult"},"reviewedByMember":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult"},"hasChildren":{"type":"boolean"},"approvedPromptCount":{"type":"integer","format":"int32"},"rejectedPromptCount":{"type":"integer","format":"int32"},"awaitingVerificationCount":{"type":"integer","format":"int32"},"prompt":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptResult"},"promptAnswerCategories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryResult"},"nullable":true},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Organization.OrganizationMemberResult":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"email":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"category":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptCategoryResult"},"name":{"type":"string","nullable":true},"colour":{"type":"integer","format":"int32","nullable":true},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult"},"nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptCategoryResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"colour":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerCategoryEvidenceResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"text":{"type":"string","nullable":true},"polygonPoints":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"pageNumber":{"type":"integer","format":"int32","nullable":true},"quoteOnly":{"type":"boolean"},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.PromptAnswers.PromptAnswerEvidenceResult":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"text":{"type":"string","nullable":true},"polygonPoints":{"type":"array","items":{"type":"number","format":"float"},"nullable":true},"pageNumber":{"type":"integer","format":"int32","nullable":true},"quoteOnly":{"type":"boolean"},"paragraphObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptSkipReason":{"enum":["none","conditionsNotMet","dependencyNotMet","runStopped"],"type":"string"},"Jylo.Projects.Core.Application.Contracts.Results.Prompts.PromptSkipClauseResult":{"type":"object","properties":{"predicate":{"type":"string","nullable":true},"condition":{"type":"string","nullable":true},"actual":{"type":"string","nullable":true},"expectedValues":{"type":"array","items":{"type":"string"},"nullable":true},"actualValues":{"type":"array","items":{"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}/flows/{flowId}/flow-document-collections/{flowDocumentCollectionId}/prompts":{"get":{"tags":["Prompts"],"summary":"List prompts with answers.","description":"Returns a page of prompts for a flow document collection, each with its answer in that collection.","parameters":[{"name":"flowId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"flowDocumentCollectionId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":100}},{"name":"searchTerm","in":"query","schema":{"type":"string"}},{"name":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.PromptSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Prompts.Application.Queries.GetPromptsByFlowDocumentCollection.GetPromptsByFlowDocumentCollectionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Prompts.Application.Queries.GetPromptsByFlowDocumentCollection.GetPromptsByFlowDocumentCollectionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Services.Features.Prompts.Application.Queries.GetPromptsByFlowDocumentCollection.GetPromptsByFlowDocumentCollectionResponse"}}}},"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"}}}}}}}}}
```


# Share Point Imports

## List SharePoint imports for a project.

> Returns a paginated list of SharePoint imports for the project, sorted by date added (newest first by default).

```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}/sharepoint-imports":{"get":{"tags":["SharePoint Imports"],"summary":"List SharePoint imports for a project.","description":"Returns a paginated list of SharePoint imports for the project, sorted by date added (newest first by default).","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK"},"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"}}}}}}}}}
```

## Submit a SharePoint selection for import.

> Creates a queued SharePoint import for the project, transfers the user's stored refresh token onto the import, and enqueues the worker message.

```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.SharePoint.CreateSharePointImportRequestModel":{"required":["items"],"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Projects.Models.SharePoint.SharePointImportItemRequestModel"},"nullable":true},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Projects.Models.SharePoint.SharePointImportItemRequestModel":{"required":["itemType"],"type":"object","properties":{"itemType":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Data.Enums.SharePointImportItemType"},"siteId":{"type":"string","nullable":true},"driveId":{"type":"string","nullable":true},"itemId":{"type":"string","nullable":true},"displayName":{"type":"string","nullable":true},"webUrl":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Projects.Data.Enums.SharePointImportItemType":{"enum":["site","drive","folder","file"],"type":"string"},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.Projects.Models.SharePoint.SharePointImportReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"status":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Data.Enums.SharePointImportStatus"},"failureReason":{"type":"string","nullable":true},"failureCode":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Data.Enums.SharePointImportFailureCode"},"itemsTotal":{"type":"integer","format":"int32","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"dateStarted":{"type":"string","format":"date-time","nullable":true},"dateCompleted":{"type":"string","format":"date-time","nullable":true},"documentUploadObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Projects.Data.Enums.SharePointImportStatus":{"enum":["queued","running","completedWithErrors","completed","failed","authExpired"],"type":"string"},"Jylo.Toolkit.Projects.Data.Enums.SharePointImportFailureCode":{"enum":["unknown","accessDenied","notFound","throttled","contentBlocked","unsupported","tooLarge","transient","authExpired"],"type":"string"},"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}/sharepoint-imports":{"post":{"tags":["SharePoint Imports"],"summary":"Submit a SharePoint selection for import.","description":"Creates a queued SharePoint import for the project, transfers the user's stored refresh token onto the import, and enqueues the worker message.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.SharePoint.CreateSharePointImportRequestModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.SharePoint.CreateSharePointImportRequestModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.SharePoint.CreateSharePointImportRequestModel"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.SharePoint.SharePointImportReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.SharePoint.SharePointImportReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.SharePoint.SharePointImportReadModel"}}}},"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 SharePoint import by identifier.

> Returns a single SharePoint import scoped to the supplied project. Responds 404 if the import does not exist or belongs to a different 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.SharePoint.SharePointImportReadModel":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"status":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Data.Enums.SharePointImportStatus"},"failureReason":{"type":"string","nullable":true},"failureCode":{"$ref":"#/components/schemas/Jylo.Toolkit.Projects.Data.Enums.SharePointImportFailureCode"},"itemsTotal":{"type":"integer","format":"int32","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"dateStarted":{"type":"string","format":"date-time","nullable":true},"dateCompleted":{"type":"string","format":"date-time","nullable":true},"documentUploadObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Projects.Data.Enums.SharePointImportStatus":{"enum":["queued","running","completedWithErrors","completed","failed","authExpired"],"type":"string"},"Jylo.Toolkit.Projects.Data.Enums.SharePointImportFailureCode":{"enum":["unknown","accessDenied","notFound","throttled","contentBlocked","unsupported","tooLarge","transient","authExpired"],"type":"string"},"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}/sharepoint-imports/{importIdentifier}":{"get":{"tags":["SharePoint Imports"],"summary":"Get a SharePoint import by identifier.","description":"Returns a single SharePoint import scoped to the supplied project. Responds 404 if the import does not exist or belongs to a different project.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"importIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.SharePoint.SharePointImportReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.SharePoint.SharePointImportReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.SharePoint.SharePointImportReadModel"}}}},"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"}}}},"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"}}}}}}}}}
```

## List items for a SharePoint import.

> Returns a paginated list of the user's selections for the supplied import, in insertion order.

```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}/sharepoint-imports/{importIdentifier}/items":{"get":{"tags":["SharePoint Imports"],"summary":"List items for a SharePoint import.","description":"Returns a paginated list of the user's selections for the supplied import, in insertion order.","parameters":[{"name":"projectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"importIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK"},"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"}}}},"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"}}}}}}}}}
```


# User Preference Prompt

## Get the current user's preference prompt.

> Returns the saved preference prompt for the current resource owner, or 404 if none exists.

```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.UserPrompt.UserPromptReadModel":{"type":"object","properties":{"prompt":{"type":"string","nullable":true},"dateModified":{"type":"string","format":"date-time"}},"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/user-prompt":{"get":{"tags":["User Preference Prompt"],"summary":"Get the current user's preference prompt.","description":"Returns the saved preference prompt for the current resource owner, or 404 if none exists.","responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.UserPrompt.UserPromptReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.UserPrompt.UserPromptReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.UserPrompt.UserPromptReadModel"}}}},"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"}}}},"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"}}}}}}}}}
```

## Save the current user's preference prompt.

> Creates or updates the preference prompt for the current resource owner and returns the saved value.

```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.UserPrompt.UserPromptWriteModel":{"type":"object","properties":{"prompt":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Projects.Models.UserPrompt.UserPromptReadModel":{"type":"object","properties":{"prompt":{"type":"string","nullable":true},"dateModified":{"type":"string","format":"date-time"}},"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/user-prompt":{"put":{"tags":["User Preference Prompt"],"summary":"Save the current user's preference prompt.","description":"Creates or updates the preference prompt for the current resource owner and returns the saved value.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.UserPrompt.UserPromptWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.UserPrompt.UserPromptWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.UserPrompt.UserPromptWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.UserPrompt.UserPromptReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.UserPrompt.UserPromptReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Projects.Models.UserPrompt.UserPromptReadModel"}}}},"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"}}}}}}}}}
```


# Playbooks


# ACL

## Get all team members for a playbook.

> Retrieves a paginated list of all ACL entries (team members) for the specified playbook, with optional search and sorting.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.PaginationListModel`1[[Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel, Jylo.Toolkit, Version=4.6.2.0, Culture=neutral, PublicKeyToken=null]]":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel":{"required":["dateAdded","email","isAdmin","name","objectIdentifier","resourceOwner"],"type":"object","properties":{"resourceOwner":{"type":"string","nullable":true},"isAdmin":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"email":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","nullable":true},"name":{"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":{"/playbooks/{playbookIdentifier}/team":{"get":{"tags":["ACL","Team"],"summary":"Get all team members for a playbook.","description":"Retrieves a paginated list of all ACL entries (team members) for the specified playbook, with optional search and sorting.","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":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel, Jylo.Toolkit, Version=4.6.2.0, Culture=neutral, PublicKeyToken=null]]"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel, Jylo.Toolkit, Version=4.6.2.0, Culture=neutral, PublicKeyToken=null]]"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel, Jylo.Toolkit, Version=4.6.2.0, Culture=neutral, PublicKeyToken=null]]"}}}},"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"}}}}}}}}}
```

## Add a new team member to a playbook.

> Creates a new ACL entry (team member) for the specified playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.Container.ContainerACL.ContainerACLWriteModel":{"required":["isAdmin","resourceOwner"],"type":"object","properties":{"resourceOwner":{"type":"string","nullable":true},"isAdmin":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel":{"required":["dateAdded","email","isAdmin","name","objectIdentifier","resourceOwner"],"type":"object","properties":{"resourceOwner":{"type":"string","nullable":true},"isAdmin":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"email":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","nullable":true},"name":{"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":{"/playbooks/{playbookIdentifier}/team":{"post":{"tags":["ACL","Team"],"summary":"Add a new team member to a playbook.","description":"Creates a new ACL entry (team member) for the specified playbook.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}}}},"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"}}}}}}}}}
```

## Add multiple team members to a playbook in bulk.

> Creates multiple ACL entries (team members) for the specified playbook in bulk.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.Container.ContainerACL.ContainerACLWriteModel":{"required":["isAdmin","resourceOwner"],"type":"object","properties":{"resourceOwner":{"type":"string","nullable":true},"isAdmin":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel":{"required":["dateAdded","email","isAdmin","name","objectIdentifier","resourceOwner"],"type":"object","properties":{"resourceOwner":{"type":"string","nullable":true},"isAdmin":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"email":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","nullable":true},"name":{"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":{"/playbooks/{playbookIdentifier}/team/bulk":{"post":{"tags":["ACL","Team"],"summary":"Add multiple team members to a playbook in bulk.","description":"Creates multiple ACL entries (team members) for the specified playbook in bulk.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLWriteModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLWriteModel"}}},"application/*+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLWriteModel"}}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}}}}},"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"}}}}}}}}}
```

## Get all available users for a playbook team.

> Retrieves a paginated list of all available users that can be added to the playbook team.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.PaginationListModel`1[[Jylo.Toolkit.Entities.ContainerEntities.AvailableOrganizationMember, Jylo.Toolkit, Version=4.6.2.0, Culture=neutral, PublicKeyToken=null]]":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ContainerEntities.AvailableOrganizationMember"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ContainerEntities.AvailableOrganizationMember":{"required":["id","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"picture":{"type":"string","nullable":true},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.IdentityService.Models.Role"},"nullable":true},"isAvailable":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.IdentityService.Models.Role":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"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":{"/playbooks/{playbookIdentifier}/team/available":{"get":{"tags":["ACL","Team"],"summary":"Get all available users for a playbook team.","description":"Retrieves a paginated list of all available users that can be added to the playbook team.","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":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.Toolkit.Entities.ContainerEntities.AvailableOrganizationMember, Jylo.Toolkit, Version=4.6.2.0, Culture=neutral, PublicKeyToken=null]]"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.Toolkit.Entities.ContainerEntities.AvailableOrganizationMember, Jylo.Toolkit, Version=4.6.2.0, Culture=neutral, PublicKeyToken=null]]"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.Toolkit.Entities.ContainerEntities.AvailableOrganizationMember, Jylo.Toolkit, Version=4.6.2.0, Culture=neutral, PublicKeyToken=null]]"}}}},"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 specific team member by object identifier.

> Retrieves the details of an ACL entry (team member) for the specified playbook using its object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.Container.ContainerACL.TeamMemberReadModel":{"required":["dateAdded","email","isAdmin","name","objectIdentifier","resourceOwner"],"type":"object","properties":{"resourceOwner":{"type":"string","nullable":true},"isAdmin":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"email":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","nullable":true},"name":{"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":{"/playbooks/{playbookIdentifier}/team/{objectIdentifier}":{"get":{"tags":["ACL","Team"],"summary":"Get a specific team member by object identifier.","description":"Retrieves the details of an ACL entry (team member) for the specified playbook using its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}}}},"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 an existing team member for a playbook.

> Updates the details of an existing ACL entry (team member) for the specified playbook using its object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.Container.ContainerACL.ContainerACLUpdateModel":{"required":["isAdmin"],"type":"object","properties":{"isAdmin":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel":{"required":["dateAdded","email","isAdmin","name","objectIdentifier","resourceOwner"],"type":"object","properties":{"resourceOwner":{"type":"string","nullable":true},"isAdmin":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"email":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","nullable":true},"name":{"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":{"/playbooks/{playbookIdentifier}/team/{objectIdentifier}":{"put":{"tags":["ACL","Team"],"summary":"Update an existing team member for a playbook.","description":"Updates the details of an existing ACL entry (team member) for the specified playbook using its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLUpdateModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.ContainerACLUpdateModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerACL.TeamMemberReadModel"}}}},"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 team member from a playbook.

> Deletes an ACL entry (team member) from the specified playbook using its object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{"/playbooks/{playbookIdentifier}/team/{objectIdentifier}":{"delete":{"tags":["ACL","Team"],"summary":"Delete a team member from a playbook.","description":"Deletes an ACL entry (team member) from the specified playbook using its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","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"}}}}}}}}}
```


# Metadata

## Get all metadata entries for a playbook.

> Retrieves a paginated list of all metadata entries for the specified playbook, with optional search and sorting.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.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},"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":{"/playbooks/{playbookIdentifier}/metadata":{"get":{"tags":["Metadata"],"summary":"Get all metadata entries for a playbook.","description":"Retrieves a paginated list of all metadata entries for the specified playbook, with optional search and sorting.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"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"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}}}}},"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 metadata entry for a playbook.

> Creates a new metadata entry for the specified playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.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.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},"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":{"/playbooks/{playbookIdentifier}/metadata":{"post":{"tags":["Metadata"],"summary":"Create a new metadata entry for a playbook.","description":"Creates a new metadata entry for the specified playbook.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.MultiTypeInputWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.MultiTypeInputWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.MultiTypeInputWriteModel"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}}}},"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"}}}}}}}}}
```

## Get a playbook metadata entry by object identifier.

> Retrieves the details of a playbook metadata entry using its object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.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},"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":{"/playbooks/{playbookIdentifier}/metadata/{objectIdentifier}":{"get":{"tags":["Metadata"],"summary":"Get a playbook metadata entry by object identifier.","description":"Retrieves the details of a playbook metadata entry using its object identifier.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}}}},"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 metadata entry for a playbook.

> Updates the details of an existing metadata entry for the specified playbook using its object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.MultiTypeInputUpdateModel":{"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},"organizationMetadataIdentifier":{"type":"string","format":"uuid"},"singleCategoryIdentifier":{"type":"string","format":"uuid","nullable":true}},"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},"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":{"/playbooks/{playbookIdentifier}/metadata/{objectIdentifier}":{"put":{"tags":["Metadata"],"summary":"Update a metadata entry for a playbook.","description":"Updates the details of an existing metadata entry for the specified playbook using its object identifier.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.MultiTypeInputUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.MultiTypeInputUpdateModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.MultiTypeInputUpdateModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.ContainerMetadataReadModel"}}}},"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 playbook metadata entry.

> Deletes the specified playbook metadata entry using its object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{"/playbooks/{playbookIdentifier}/metadata/{objectIdentifier}":{"delete":{"tags":["Metadata"],"summary":"Delete a playbook metadata entry.","description":"Deletes the specified playbook metadata entry using its object identifier.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```

## Add a category to playbook metadata.

> Adds a category to the specified playbook metadata.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.Container.ContainerMetadata.AddContainerMetadataCategoryModel":{"required":["optionIdentifier"],"type":"object","properties":{"optionIdentifier":{"type":"string","format":"uuid"}},"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":{"/playbooks/{playbookIdentifier}/metadata/{objectIdentifier}/categories":{"post":{"tags":["Metadata"],"summary":"Add a category to playbook metadata.","description":"Adds a category to the specified playbook metadata.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.AddContainerMetadataCategoryModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.AddContainerMetadataCategoryModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.ContainerMetadata.AddContainerMetadataCategoryModel"}}}},"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"}}}}}}}}}
```

## Remove a category from playbook metadata.

> Removes a category from the specified playbook metadata entry using its object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{"/playbooks/{playbookIdentifier}/metadata/{objectIdentifier}/categories/{optionIdentifier}":{"delete":{"tags":["Metadata"],"summary":"Remove a category from playbook metadata.","description":"Removes a category from the specified playbook metadata entry using its object identifier.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"optionIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```


# Organization Metadata

## Get all organization metadata entries for playbooks.

> Retrieves a paginated list of all organization metadata entries for playbooks, with optional search and sorting.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.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},"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":{"/playbooks/organization-metadata":{"get":{"tags":["Organization Metadata"],"summary":"Get all organization metadata entries for playbooks.","description":"Retrieves a paginated list of all organization metadata entries for playbooks, with optional search and sorting.","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"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}}}}},"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 organization metadata entry for playbooks.

> Creates a new organization metadata entry for playbooks.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.OrganizationMetadata.OrganizationMetadataWriteModel":{"required":["dataType","description","isRequired","name"],"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":{"type":"string"},"nullable":true}},"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},"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":{"/playbooks/organization-metadata":{"post":{"tags":["Organization Metadata"],"summary":"Create a new organization metadata entry for playbooks.","description":"Creates a new organization metadata entry for playbooks.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataWriteModel"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}}}},"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"}}}}}}}}}
```

## Get an organization metadata entry for playbooks by object identifier.

> Retrieves the details of an organization metadata entry for playbooks using its object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.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},"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":{"/playbooks/organization-metadata/{objectIdentifier}":{"get":{"tags":["Organization Metadata"],"summary":"Get an organization metadata entry for playbooks by object identifier.","description":"Retrieves the details of an organization metadata entry for playbooks using its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}}}},"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 an organization metadata entry for playbooks.

> Updates the details of an existing organization metadata entry for playbooks using its object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.OrganizationMetadata.OrganizationMetadataUpdateModel":{"required":["description","isRequired","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"isRequired":{"type":"boolean"}},"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},"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":{"/playbooks/organization-metadata/{objectIdentifier}":{"put":{"tags":["Organization Metadata"],"summary":"Update an organization metadata entry for playbooks.","description":"Updates the details of an existing organization metadata entry for playbooks using its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataUpdateModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataUpdateModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataUpdateModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataReadModel"}}}},"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 an organization metadata entry for playbooks.

> Deletes an organization metadata entry for playbooks using its object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{"/playbooks/organization-metadata/{objectIdentifier}":{"delete":{"tags":["Organization Metadata"],"summary":"Delete an organization metadata entry for playbooks.","description":"Deletes an organization metadata entry for playbooks using its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```


# Organization Metadata Options

## Get all organization metadata options for playbooks.

> Retrieves a paginated list of all organization metadata options for the specified organization metadata entry, with optional search and sorting.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel":{"required":["name","objectIdentifier"],"type":"object","properties":{"name":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"}},"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":{"/playbooks/organization-metadata/{organizationMetadataIdentifier}/options":{"get":{"tags":["Organization Metadata Options"],"summary":"Get all organization metadata options for playbooks.","description":"Retrieves a paginated list of all organization metadata options for the specified organization metadata entry, with optional search and sorting.","parameters":[{"name":"organizationMetadataIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"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"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}}}}},"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 organization metadata option for playbooks.

> Creates a new organization metadata option for the specified organization metadata entry.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.OrganizationMetadata.OrganizationMetadataOptionWriteModel":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true}},"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},"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":{"/playbooks/organization-metadata/{organizationMetadataIdentifier}/options":{"post":{"tags":["Organization Metadata Options"],"summary":"Create a new organization metadata option for playbooks.","description":"Creates a new organization metadata option for the specified organization metadata entry.","parameters":[{"name":"organizationMetadataIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionWriteModel"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}}}},"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"}}}}}}}}}
```

## Get an organization metadata option by object identifier.

> Retrieves the details of an organization metadata option for playbooks using its object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel":{"required":["name","objectIdentifier"],"type":"object","properties":{"name":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"}},"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":{"/playbooks/organization-metadata/{organizationMetadataIdentifier}/options/{objectIdentifier}":{"get":{"tags":["Organization Metadata Options"],"summary":"Get an organization metadata option by object identifier.","description":"Retrieves the details of an organization metadata option for playbooks using its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"organizationMetadataIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}}}},"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 an organization metadata option for playbooks.

> Updates the details of an existing organization metadata option for playbooks using its object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.OrganizationMetadata.OrganizationMetadataOptionWriteModel":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true}},"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},"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":{"/playbooks/organization-metadata/{organizationMetadataIdentifier}/options/{objectIdentifier}":{"put":{"tags":["Organization Metadata Options"],"summary":"Update an organization metadata option for playbooks.","description":"Updates the details of an existing organization metadata option for playbooks using its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"organizationMetadataIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMetadata.OrganizationMetadataOptionReadModel"}}}},"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 an organization metadata option for playbooks.

> Deletes an organization metadata option for playbooks using its object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{"/playbooks/organization-metadata/{organizationMetadataIdentifier}/options/{objectIdentifier}":{"delete":{"tags":["Organization Metadata Options"],"summary":"Delete an organization metadata option for playbooks.","description":"Deletes an organization metadata option for playbooks using its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"organizationMetadataIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```


# Playbook

## GET /playbooks/{playbookIdentifier}

> Get a playbook by identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse":{"required":["dateAdded","description","isPrivate","name","objectIdentifier","organizationWide","resourceOwner"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"isPrivate":{"type":"boolean"},"organizationWide":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"hasImage":{"type":"boolean"},"hasWordAssembly":{"type":"boolean"},"hasMultipleGroups":{"type":"boolean"},"groupCount":{"type":"integer","format":"int32"},"promptCount":{"type":"integer","format":"int32"},"requiresMaintenance":{"type":"boolean"}},"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}}},"paths":{"/playbooks/{playbookIdentifier}":{"get":{"tags":["Playbook"],"summary":"Get a playbook by identifier.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse"}}}}}}}}}
```

## PUT /playbooks/{playbookIdentifier}

> Update a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Requests.UpdatePlaybookRequest":{"required":["isPrivate","name","organizationWide"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"isPrivate":{"type":"boolean"},"organizationWide":{"type":"boolean"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse":{"required":["dateAdded","description","isPrivate","name","objectIdentifier","organizationWide","resourceOwner"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"isPrivate":{"type":"boolean"},"organizationWide":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"hasImage":{"type":"boolean"},"hasWordAssembly":{"type":"boolean"},"hasMultipleGroups":{"type":"boolean"},"groupCount":{"type":"integer","format":"int32"},"promptCount":{"type":"integer","format":"int32"},"requiresMaintenance":{"type":"boolean"}},"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}}},"paths":{"/playbooks/{playbookIdentifier}":{"put":{"tags":["Playbook"],"summary":"Update a playbook.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Requests.UpdatePlaybookRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Requests.UpdatePlaybookRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Requests.UpdatePlaybookRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse"}}}}}}}}}
```

## DELETE /playbooks/{playbookIdentifier}

> Delete a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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"}}},"paths":{"/playbooks/{playbookIdentifier}":{"delete":{"tags":["Playbook"],"summary":"Delete a playbook.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"}}}}}}
```

## POST /playbooks/{playbookIdentifier}/export

> Queue a playbook export task. The zip is built asynchronously by the TaskProcessor.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.PlaybookTaskAcceptedResponse":{"type":"object","properties":{"taskObjectIdentifier":{"type":"string","format":"uuid"},"type":{"type":"string","nullable":true},"status":{"type":"string","nullable":true}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/export":{"post":{"tags":["Playbook"],"summary":"Queue a playbook export task. The zip is built asynchronously by the TaskProcessor.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Accepted","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.PlaybookTaskAcceptedResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.PlaybookTaskAcceptedResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.PlaybookTaskAcceptedResponse"}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/clone

> Queue a playbook clone task.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Requests.ClonePlaybookRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.PlaybookTaskAcceptedResponse":{"type":"object","properties":{"taskObjectIdentifier":{"type":"string","format":"uuid"},"type":{"type":"string","nullable":true},"status":{"type":"string","nullable":true}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/clone":{"post":{"tags":["Playbook"],"summary":"Queue a playbook clone task.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Requests.ClonePlaybookRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Requests.ClonePlaybookRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Requests.ClonePlaybookRequest"}}}},"responses":{"202":{"description":"Accepted","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.PlaybookTaskAcceptedResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.PlaybookTaskAcceptedResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.PlaybookTaskAcceptedResponse"}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/exports

> List exports for this playbook (in-flight and completed).

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.PlaybookExportResponse":{"required":["dateAdded","objectIdentifier","status"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"status":{"type":"string","nullable":true},"progressPercent":{"type":"integer","format":"int32"},"failureReason":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"dateCompleted":{"type":"string","format":"date-time","nullable":true},"versionSnapshot":{"type":"string","nullable":true},"fileSizeBytes":{"type":"integer","format":"int64","nullable":true},"blobExpiresAt":{"type":"string","format":"date-time","nullable":true},"isDownloadable":{"type":"boolean"}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/exports":{"get":{"tags":["Playbook"],"summary":"List exports for this playbook (in-flight and completed).","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.PlaybookExportResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.PlaybookExportResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.PlaybookExportResponse"}}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/clones

> List clones where this playbook is the source or the result.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.CloneJobResponse":{"required":["dateAdded","objectIdentifier","status"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"status":{"type":"string","nullable":true},"progressPercent":{"type":"integer","format":"int32"},"failureReason":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"dateCompleted":{"type":"string","format":"date-time","nullable":true},"sourcePlaybookObjectIdentifier":{"type":"string","format":"uuid"},"sourcePlaybookName":{"type":"string","nullable":true},"resultingPlaybookObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"resultingPlaybookName":{"type":"string","nullable":true}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/clones":{"get":{"tags":["Playbook"],"summary":"List clones where this playbook is the source or the result.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.CloneJobResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.CloneJobResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.CloneJobResponse"}}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/exports/{exportObjectIdentifier}/download

> Download the zip for a completed export.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{"/playbooks/{playbookIdentifier}/exports/{exportObjectIdentifier}/download":{"get":{"tags":["Playbook"],"summary":"Download the zip for a completed export.","parameters":[{"name":"exportObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"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 /playbooks/{playbookIdentifier}/image

> Get the image for a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{"/playbooks/{playbookIdentifier}/image":{"get":{"tags":["Playbook"],"summary":"Get the image for a playbook.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}},"text/json":{"schema":{"type":"string","format":"binary"}}}},"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"}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/image

> Add an image to a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{"/playbooks/{playbookIdentifier}/image":{"post":{"tags":["Playbook"],"summary":"Add an image to a playbook.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"image":{"type":"string","format":"binary"}}},"encoding":{"image":{"style":"form"}}}}},"responses":{"201":{"description":"Created"},"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"}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/preview/groups

> List the playbook's groups for the lazy-load preview sidebar.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookPreviewGroupResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/preview/groups":{"get":{"tags":["Playbook"],"summary":"List the playbook's groups for the lazy-load preview sidebar.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookPreviewGroupResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookPreviewGroupResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookPreviewGroupResponse"}}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/preview/groups/{groupObjectIdentifier}/prompts

> List top-level prompts for a group (label + description + hasChildren).

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookPreviewPromptResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"hasChildren":{"type":"boolean"}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/preview/groups/{groupObjectIdentifier}/prompts":{"get":{"tags":["Playbook"],"summary":"List top-level prompts for a group (label + description + hasChildren).","parameters":[{"name":"groupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookPreviewPromptResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookPreviewPromptResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookPreviewPromptResponse"}}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/preview/prompts/{parentObjectIdentifier}/children

> List the direct children of a prompt for the lazy-load preview tree.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookPreviewPromptResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"hasChildren":{"type":"boolean"}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/preview/prompts/{parentObjectIdentifier}/children":{"get":{"tags":["Playbook"],"summary":"List the direct children of a prompt for the lazy-load preview tree.","parameters":[{"name":"parentObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookPreviewPromptResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookPreviewPromptResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookPreviewPromptResponse"}}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/prompts/{promptId}/assembly-usage

> Get assembly usage information for a prompt.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Core.Models.PromptUsageResponse":{"type":"object","properties":{"isUsed":{"type":"boolean"},"usedInAssemblies":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/prompts/{promptId}/assembly-usage":{"get":{"tags":["Playbook"],"summary":"Get assembly usage information for a prompt.","parameters":[{"name":"promptId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.PromptUsageResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.PromptUsageResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.PromptUsageResponse"}}}}}}}}}
```


# Playbook Assemblies

## GET /playbooks/{playbookIdentifier}/assemblies

>

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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"}}},"paths":{"/playbooks/{playbookIdentifier}/assemblies":{"get":{"tags":["Playbook Assemblies"],"parameters":[{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":100}},{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"searchText","in":"query","schema":{"type":"string"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}}}}
```

## POST /playbooks/{playbookIdentifier}/assemblies

>

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.Constants.PlaybookAssemblyType":{"enum":["docxFlowWide","docxPerDocument","markdownFlowWide","markdownFlowDocument"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.PlaybookAssemblies.Contracts.Responses.AssemblyResponse":{"required":["assemblyType","dateAdded","dateModified","description","name","objectIdentifier","resourceOwner"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"dateModified":{"type":"string","format":"date-time"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"assemblyType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PlaybookAssemblyType"},"playbookGroupObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"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}}},"paths":{"/playbooks/{playbookIdentifier}/assemblies":{"post":{"tags":["Playbook Assemblies"],"parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["Description","Name","Type"],"type":"object","properties":{"Name":{"type":"string"},"Description":{"type":"string"},"Type":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PlaybookAssemblyType"},"PlaybookGroupId":{"type":"string","format":"uuid"},"File":{"type":"string","format":"binary"}}},"encoding":{"Name":{"style":"form"},"Description":{"style":"form"},"Type":{"style":"form"},"PlaybookGroupId":{"style":"form"},"File":{"style":"form"}}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookAssemblies.Contracts.Responses.AssemblyResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookAssemblies.Contracts.Responses.AssemblyResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookAssemblies.Contracts.Responses.AssemblyResponse"}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/assemblies/{objectIdentifier}

>

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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"}}},"paths":{"/playbooks/{playbookIdentifier}/assemblies/{objectIdentifier}":{"get":{"tags":["Playbook Assemblies"],"parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}}}}
```

## DELETE /playbooks/{playbookIdentifier}/assemblies/{objectIdentifier}

>

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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"}}},"paths":{"/playbooks/{playbookIdentifier}/assemblies/{objectIdentifier}":{"delete":{"tags":["Playbook Assemblies"],"parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}}}}
```

## GET /playbooks/{playbookIdentifier}/assemblies/{objectIdentifier}/content

>

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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"}}},"paths":{"/playbooks/{playbookIdentifier}/assemblies/{objectIdentifier}/content":{"get":{"tags":["Playbook Assemblies"],"parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"usePdf","in":"query","schema":{"type":"boolean","default":false}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}}}}
```

## PUT /playbooks/{playbookIdentifier}/assemblies/{objectIdentifier}/content

>

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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"}}},"paths":{"/playbooks/{playbookIdentifier}/assemblies/{objectIdentifier}/content":{"put":{"tags":["Playbook Assemblies"],"parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}},"encoding":{"file":{"style":"form"}}}}},"responses":{"200":{"description":"OK"}}}}}}
```

## GET /playbooks/{playbookIdentifier}/assemblies/{objectIdentifier}/rich-text

>

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/assemblies/{objectIdentifier}/rich-text":{"get":{"tags":["Playbook Assemblies"],"parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}}}}}}}}}
```

## PUT /playbooks/{playbookIdentifier}/assemblies/{objectIdentifier}/rich-text

>

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/assemblies/{objectIdentifier}/rich-text":{"put":{"tags":["Playbook Assemblies"],"parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}}}},"responses":{"200":{"description":"OK"}}}}}}
```

## GET /playbooks/{playbookIdentifier}/assemblies/{objectIdentifier}/download-url

>

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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"}}},"paths":{"/playbooks/{playbookIdentifier}/assemblies/{objectIdentifier}/download-url":{"get":{"tags":["Playbook Assemblies"],"parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}}}}
```


# Playbook Assembly

## GET /playbooks/{playbookIdentifier}/assembly

> Get the assembly rich text content for a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"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":{"/playbooks/{playbookIdentifier}/assembly":{"get":{"tags":["Playbook Assembly"],"summary":"Get the assembly rich text content for a playbook.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}}}},"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"}}}}}}}}}
```

## PUT /playbooks/{playbookIdentifier}/assembly

> Save the assembly rich text content for a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"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":{"/playbooks/{playbookIdentifier}/assembly":{"put":{"tags":["Playbook Assembly"],"summary":"Save the assembly rich text content for a playbook.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}}}},"responses":{"200":{"description":"OK"},"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"}}}}}}}}}
```


# Playbook Assembly Reference Category Conditions

## GET /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{conditionObjectIdentifier}/category-conditions

> Get a paginated list of category conditions for a condition.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.Entities.PaginationList`1[[Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{conditionObjectIdentifier}/category-conditions":{"get":{"tags":["Playbook Assembly Reference Category Conditions"],"summary":"Get a paginated list of category conditions for a condition.","parameters":[{"name":"conditionObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.PaginationList`1[[Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.PaginationList`1[[Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.PaginationList`1[[Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}},"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"}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{conditionObjectIdentifier}/category-conditions

> Create a new category condition for an assembly reference condition.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.CreateAssemblyReferenceCategoryConditionRequest":{"required":["text"],"type":"object","properties":{"fuzzyMatch":{"type":"boolean"},"text":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{conditionObjectIdentifier}/category-conditions":{"post":{"tags":["Playbook Assembly Reference Category Conditions"],"summary":"Create a new category condition for an assembly reference condition.","parameters":[{"name":"conditionObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.CreateAssemblyReferenceCategoryConditionRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.CreateAssemblyReferenceCategoryConditionRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.CreateAssemblyReferenceCategoryConditionRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}}}},"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"}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{conditionObjectIdentifier}/category-conditions/{objectIdentifier}

> Get a specific category condition by object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{conditionObjectIdentifier}/category-conditions/{objectIdentifier}":{"get":{"tags":["Playbook Assembly Reference Category Conditions"],"summary":"Get a specific category condition by object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"conditionObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}}}},"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"}}}}}}}}}
```

## PUT /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{conditionObjectIdentifier}/category-conditions/{objectIdentifier}

> Update an existing category condition.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.UpdateAssemblyReferenceCategoryConditionRequest":{"required":["text"],"type":"object","properties":{"fuzzyMatch":{"type":"boolean"},"text":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{conditionObjectIdentifier}/category-conditions/{objectIdentifier}":{"put":{"tags":["Playbook Assembly Reference Category Conditions"],"summary":"Update an existing category condition.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"conditionObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.UpdateAssemblyReferenceCategoryConditionRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.UpdateAssemblyReferenceCategoryConditionRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.UpdateAssemblyReferenceCategoryConditionRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"}}}},"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 /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{conditionObjectIdentifier}/category-conditions/{objectIdentifier}

> Delete a category condition from a condition.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{conditionObjectIdentifier}/category-conditions/{objectIdentifier}":{"delete":{"tags":["Playbook Assembly Reference Category Conditions"],"summary":"Delete a category condition from a condition.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"conditionObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```


# Playbook Assembly Reference Conditions

## GET /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions

> Get a paginated list of conditions for an assembly reference.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.Entities.PaginationList`1[[Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"playbookPromptConditionIdentifier":{"type":"string","format":"uuid"},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions":{"get":{"tags":["Playbook Assembly Reference Conditions"],"summary":"Get a paginated list of conditions for an assembly reference.","parameters":[{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.PaginationList`1[[Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.PaginationList`1[[Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.PaginationList`1[[Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}},"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"}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions

> Create a new condition for an assembly reference. Category conditions may be created alongside it.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Requests.CreateAssemblyReferenceConditionRequest":{"type":"object","properties":{"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"playbookPromptConditionIdentifier":{"type":"string","format":"uuid"},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.CreateAssemblyReferenceCategoryConditionRequest"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.CreateAssemblyReferenceCategoryConditionRequest":{"required":["text"],"type":"object","properties":{"fuzzyMatch":{"type":"boolean"},"text":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"playbookPromptConditionIdentifier":{"type":"string","format":"uuid"},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions":{"post":{"tags":["Playbook Assembly Reference Conditions"],"summary":"Create a new condition for an assembly reference. Category conditions may be created alongside it.","parameters":[{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Requests.CreateAssemblyReferenceConditionRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Requests.CreateAssemblyReferenceConditionRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Requests.CreateAssemblyReferenceConditionRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}}}},"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"}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{objectIdentifier}

> Get a specific condition by object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"playbookPromptConditionIdentifier":{"type":"string","format":"uuid"},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{objectIdentifier}":{"get":{"tags":["Playbook Assembly Reference Conditions"],"summary":"Get a specific condition by object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}}}},"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"}}}}}}}}}
```

## PUT /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{objectIdentifier}

> Update an existing condition. Category conditions are managed through their own endpoints.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Requests.UpdateAssemblyReferenceConditionRequest":{"type":"object","properties":{"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"playbookPromptConditionIdentifier":{"type":"string","format":"uuid"},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"playbookPromptConditionIdentifier":{"type":"string","format":"uuid"},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{objectIdentifier}":{"put":{"tags":["Playbook Assembly Reference Conditions"],"summary":"Update an existing condition. Category conditions are managed through their own endpoints.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Requests.UpdateAssemblyReferenceConditionRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Requests.UpdateAssemblyReferenceConditionRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Requests.UpdateAssemblyReferenceConditionRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"}}}},"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 /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{objectIdentifier}

> Delete a condition from an assembly reference.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/conditions/{objectIdentifier}":{"delete":{"tags":["Playbook Assembly Reference Conditions"],"summary":"Delete a condition from an assembly reference.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```


# Playbook Assembly Reference Template Columns

## GET /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/template-columns

> Get a paginated list of template columns for an assembly reference.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.Entities.PaginationList`1[[Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/template-columns":{"get":{"tags":["Playbook Assembly Reference Template Columns"],"summary":"Get a paginated list of template columns for an assembly reference.","parameters":[{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.PaginationList`1[[Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.PaginationList`1[[Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.PaginationList`1[[Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}},"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"}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/template-columns

> Create a new template column for an assembly reference.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.CreateAssemblyReferenceTemplateColumnRequest":{"required":["name","template"],"type":"object","properties":{"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/template-columns":{"post":{"tags":["Playbook Assembly Reference Template Columns"],"summary":"Create a new template column for an assembly reference.","parameters":[{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.CreateAssemblyReferenceTemplateColumnRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.CreateAssemblyReferenceTemplateColumnRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.CreateAssemblyReferenceTemplateColumnRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}}}},"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"}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/template-columns/{objectIdentifier}

> Get a specific template column by object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/template-columns/{objectIdentifier}":{"get":{"tags":["Playbook Assembly Reference Template Columns"],"summary":"Get a specific template column by object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}}}},"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"}}}}}}}}}
```

## PUT /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/template-columns/{objectIdentifier}

> Update an existing template column.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.UpdateAssemblyReferenceTemplateColumnRequest":{"required":["name","template"],"type":"object","properties":{"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/template-columns/{objectIdentifier}":{"put":{"tags":["Playbook Assembly Reference Template Columns"],"summary":"Update an existing template column.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.UpdateAssemblyReferenceTemplateColumnRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.UpdateAssemblyReferenceTemplateColumnRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.UpdateAssemblyReferenceTemplateColumnRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"}}}},"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 /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/template-columns/{objectIdentifier}

> Delete a template column from an assembly reference.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{referenceObjectIdentifier}/template-columns/{objectIdentifier}":{"delete":{"tags":["Playbook Assembly Reference Template Columns"],"summary":"Delete a template column from an assembly reference.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```


# Playbook Assembly References

## GET /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references

> Get a paginated list of assembly references for an assembly.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.Entities.PaginationList`1[[Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"assemblyObjectIdentifier":{"type":"string","format":"uuid"},"multiDocumentListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.MultiDocumentListFormat"},"singleDocumentReferenceFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentReferenceFormat"},"singleDocumentAnswerListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat"},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"templateColumns":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"},"nullable":true},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"},"nullable":true},"prompts":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferencePromptResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.MultiDocumentListFormat":{"enum":["paragraph","bulletList","numberedList","table"],"type":"string"},"Jylo.Toolkit.Constants.SingleDocumentReferenceFormat":{"enum":["quote","answer","documentName"],"type":"string"},"Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat":{"enum":["bullet","numbered","text"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"playbookPromptConditionIdentifier":{"type":"string","format":"uuid"},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferencePromptResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"playbookGroupObjectIdentifier":{"type":"string","format":"uuid"}},"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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references":{"get":{"tags":["Playbook Assembly References"],"summary":"Get a paginated list of assembly references for an assembly.","parameters":[{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32","default":20}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.PaginationList`1[[Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.PaginationList`1[[Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.PaginationList`1[[Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}},"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"}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references

> Create a new assembly reference for a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Requests.CreateAssemblyReferenceRequest":{"type":"object","properties":{"filterObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"multiDocumentListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.MultiDocumentListFormat"},"singleDocumentReferenceFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentReferenceFormat"},"singleDocumentAnswerListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat"},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"templateColumns":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.CreateAssemblyReferenceTemplateColumnRequest"},"nullable":true},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Requests.CreateAssemblyReferenceConditionRequest"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.MultiDocumentListFormat":{"enum":["paragraph","bulletList","numberedList","table"],"type":"string"},"Jylo.Toolkit.Constants.SingleDocumentReferenceFormat":{"enum":["quote","answer","documentName"],"type":"string"},"Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat":{"enum":["bullet","numbered","text"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Requests.CreateAssemblyReferenceTemplateColumnRequest":{"required":["name","template"],"type":"object","properties":{"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Requests.CreateAssemblyReferenceConditionRequest":{"type":"object","properties":{"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"playbookPromptConditionIdentifier":{"type":"string","format":"uuid"},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.CreateAssemblyReferenceCategoryConditionRequest"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Requests.CreateAssemblyReferenceCategoryConditionRequest":{"required":["text"],"type":"object","properties":{"fuzzyMatch":{"type":"boolean"},"text":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"assemblyObjectIdentifier":{"type":"string","format":"uuid"},"multiDocumentListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.MultiDocumentListFormat"},"singleDocumentReferenceFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentReferenceFormat"},"singleDocumentAnswerListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat"},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"templateColumns":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"},"nullable":true},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"},"nullable":true},"prompts":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferencePromptResponse"},"nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"playbookPromptConditionIdentifier":{"type":"string","format":"uuid"},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferencePromptResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"playbookGroupObjectIdentifier":{"type":"string","format":"uuid"}},"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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references":{"post":{"tags":["Playbook Assembly References"],"summary":"Create a new assembly reference for a playbook.","parameters":[{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Requests.CreateAssemblyReferenceRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Requests.CreateAssemblyReferenceRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Requests.CreateAssemblyReferenceRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}}}},"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"}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{objectIdentifier}

> Get a specific assembly reference by object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"assemblyObjectIdentifier":{"type":"string","format":"uuid"},"multiDocumentListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.MultiDocumentListFormat"},"singleDocumentReferenceFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentReferenceFormat"},"singleDocumentAnswerListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat"},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"templateColumns":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"},"nullable":true},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"},"nullable":true},"prompts":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferencePromptResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.MultiDocumentListFormat":{"enum":["paragraph","bulletList","numberedList","table"],"type":"string"},"Jylo.Toolkit.Constants.SingleDocumentReferenceFormat":{"enum":["quote","answer","documentName"],"type":"string"},"Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat":{"enum":["bullet","numbered","text"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"playbookPromptConditionIdentifier":{"type":"string","format":"uuid"},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferencePromptResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"playbookGroupObjectIdentifier":{"type":"string","format":"uuid"}},"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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{objectIdentifier}":{"get":{"tags":["Playbook Assembly References"],"summary":"Get a specific assembly reference by object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}}}},"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"}}}}}}}}}
```

## PUT /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{objectIdentifier}

> Update an existing assembly reference. Template columns and conditions are managed through their own endpoints.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Requests.UpdateAssemblyReferenceRequest":{"type":"object","properties":{"filterObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true},"filterObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"multiDocumentListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.MultiDocumentListFormat"},"singleDocumentReferenceFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentReferenceFormat"},"singleDocumentAnswerListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat"},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.Toolkit.Constants.MultiDocumentListFormat":{"enum":["paragraph","bulletList","numberedList","table"],"type":"string"},"Jylo.Toolkit.Constants.SingleDocumentReferenceFormat":{"enum":["quote","answer","documentName"],"type":"string"},"Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat":{"enum":["bullet","numbered","text"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"assemblyObjectIdentifier":{"type":"string","format":"uuid"},"multiDocumentListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.MultiDocumentListFormat"},"singleDocumentReferenceFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentReferenceFormat"},"singleDocumentAnswerListFormat":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.SingleDocumentAnswerListFormat"},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"templateColumns":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse"},"nullable":true},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse"},"nullable":true},"prompts":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferencePromptResponse"},"nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceTemplateColumns.Contracts.Responses.AssemblyReferenceTemplateColumnResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"template":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceConditions.Contracts.Responses.AssemblyReferenceConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"fuzzyMatch":{"type":"boolean"},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"textAnswer":{"type":"string","nullable":true},"allCategoriesMatch":{"type":"boolean"},"decimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"playbookPromptConditionIdentifier":{"type":"string","format":"uuid"},"targetPromptObjectIdentifier":{"type":"string","format":"uuid"},"categoryConditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferenceCategoryConditions.Contracts.Responses.AssemblyReferenceCategoryConditionResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"assemblyReferenceConditionObjectIdentifier":{"type":"string","format":"uuid"},"fuzzyMatch":{"type":"boolean"},"text":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferencePromptResponse":{"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"playbookGroupObjectIdentifier":{"type":"string","format":"uuid"}},"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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{objectIdentifier}":{"put":{"tags":["Playbook Assembly References"],"summary":"Update an existing assembly reference. Template columns and conditions are managed through their own endpoints.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Requests.UpdateAssemblyReferenceRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Requests.UpdateAssemblyReferenceRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Requests.UpdateAssemblyReferenceRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.AssemblyReferences.Contracts.Responses.AssemblyReferenceResponse"}}}},"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 /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{objectIdentifier}

> Delete an assembly reference from a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/{objectIdentifier}":{"delete":{"tags":["Playbook Assembly References"],"summary":"Delete an assembly reference from a playbook.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/validate

> Validate a set of assembly references against their filters.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Core.Models.AssemblyReferenceValidationRequestModel":{"required":["stableObjectIdentifiers"],"type":"object","properties":{"stableObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"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":{"/playbooks/{playbookIdentifier}/assemblies/{assemblyObjectIdentifier}/references/validate":{"post":{"tags":["Playbook Assembly References"],"summary":"Validate a set of assembly references against their filters.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"assemblyObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.AssemblyReferenceValidationRequestModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.AssemblyReferenceValidationRequestModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.AssemblyReferenceValidationRequestModel"}}}},"responses":{"200":{"description":"OK"},"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"}}}}}}}}}
```


# Playbook Document Assembly

## GET /playbooks/{playbookIdentifier}/document-assembly

> Get the document assembly rich text content for a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"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":{"/playbooks/{playbookIdentifier}/document-assembly":{"get":{"tags":["Playbook Document Assembly"],"summary":"Get the document assembly rich text content for a playbook.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}}}},"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"}}}}}}}}}
```

## PUT /playbooks/{playbookIdentifier}/document-assembly

> Save the document assembly rich text content for a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"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":{"/playbooks/{playbookIdentifier}/document-assembly":{"put":{"tags":["Playbook Document Assembly"],"summary":"Save the document assembly rich text content for a playbook.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"}}}},"responses":{"200":{"description":"OK"},"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"}}}}}}}}}
```


# Playbook Document Uploads

## GET /playbooks/{playbookIdentifier}/document-uploads

> List document upload batches for a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Responses.DocumentUploadResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"dateCompleted":{"type":"string","format":"date-time","nullable":true},"fileCount":{"type":"integer","format":"int32","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":{"/playbooks/{playbookIdentifier}/document-uploads":{"get":{"tags":["Playbook Document Uploads"],"summary":"List document upload batches for a playbook.","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":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Responses.DocumentUploadResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Responses.DocumentUploadResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Responses.DocumentUploadResponse"}}}}},"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"}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/document-uploads

> Create a new document upload batch.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Requests.CreateDocumentUploadRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"fileCount":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Responses.DocumentUploadResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"dateCompleted":{"type":"string","format":"date-time","nullable":true},"fileCount":{"type":"integer","format":"int32","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":{"/playbooks/{playbookIdentifier}/document-uploads":{"post":{"tags":["Playbook Document Uploads"],"summary":"Create a new document upload batch.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Requests.CreateDocumentUploadRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Requests.CreateDocumentUploadRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Requests.CreateDocumentUploadRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Responses.DocumentUploadResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Responses.DocumentUploadResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Responses.DocumentUploadResponse"}}}},"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"}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/document-uploads/{objectIdentifier}

> Get a document upload batch by object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Responses.DocumentUploadResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"dateCompleted":{"type":"string","format":"date-time","nullable":true},"fileCount":{"type":"integer","format":"int32","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":{"/playbooks/{playbookIdentifier}/document-uploads/{objectIdentifier}":{"get":{"tags":["Playbook Document Uploads"],"summary":"Get a document upload batch by object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Responses.DocumentUploadResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Responses.DocumentUploadResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Responses.DocumentUploadResponse"}}}},"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 /playbooks/{playbookIdentifier}/document-uploads/{objectIdentifier}

> Delete a document upload batch.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{"/playbooks/{playbookIdentifier}/document-uploads/{objectIdentifier}":{"delete":{"tags":["Playbook Document Uploads"],"summary":"Delete a document upload batch.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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 /playbooks/{playbookIdentifier}/document-uploads/{objectIdentifier}/details

> Get detailed statistics for a document upload batch.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentUploadDetailsResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"dateCompleted":{"type":"string","format":"date-time","nullable":true},"totalDocumentCount":{"type":"integer","format":"int32"},"failedDocumentCount":{"type":"integer","format":"int32"},"processingDocumentCount":{"type":"integer","format":"int32"},"completedDocumentCount":{"type":"integer","format":"int32"},"totalSizeBytes":{"type":"integer","format":"int64"},"fileCount":{"type":"integer","format":"int32","nullable":true},"failedReasonSummary":{"type":"object","properties":{"outOfMemory":{"type":"integer","format":"int32"},"unsupportedFileType":{"type":"integer","format":"int32"},"badFile":{"type":"integer","format":"int32"},"uploadFailure":{"type":"integer","format":"int32"},"ocrPageLimitExceeded":{"type":"integer","format":"int32"},"unknownException":{"type":"integer","format":"int32"},"insufficientCredits":{"type":"integer","format":"int32"},"maliciousFile":{"type":"integer","format":"int32"},"fileScanTimedOut":{"type":"integer","format":"int32"}},"additionalProperties":false,"nullable":true},"fileTypeSummary":{"type":"object","additionalProperties":{"type":"integer","format":"int32"},"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":{"/playbooks/{playbookIdentifier}/document-uploads/{objectIdentifier}/details":{"get":{"tags":["Playbook Document Uploads"],"summary":"Get detailed statistics for a document upload batch.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentUploadDetailsResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentUploadDetailsResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentUploadDetailsResponse"}}}},"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"}}}}}}}}}
```

## PATCH /playbooks/{playbookIdentifier}/document-uploads/{objectIdentifier}/complete

> Mark a document upload batch as complete and notify team members.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Responses.DocumentUploadResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"dateCompleted":{"type":"string","format":"date-time","nullable":true},"fileCount":{"type":"integer","format":"int32","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":{"/playbooks/{playbookIdentifier}/document-uploads/{objectIdentifier}/complete":{"patch":{"tags":["Playbook Document Uploads"],"summary":"Mark a document upload batch as complete and notify team members.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Responses.DocumentUploadResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Responses.DocumentUploadResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.DocumentUploads.Contracts.Responses.DocumentUploadResponse"}}}},"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"}}}}}}}}}
```


# Playbook Favourites

## POST /playbooks/favourites/{playbookIdentifier}/add

> Favourite a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{"/playbooks/favourites/{playbookIdentifier}/add":{"post":{"tags":["Playbook Favourites"],"summary":"Favourite a playbook.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"},"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 /playbooks/favourites/{playbookIdentifier}/remove

> Unfavourite a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{"/playbooks/favourites/{playbookIdentifier}/remove":{"delete":{"tags":["Playbook Favourites"],"summary":"Unfavourite a playbook.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"},"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 /playbooks/favourites

> Get all favourited playbooks for the current user.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse":{"required":["dateAdded","description","isPrivate","name","objectIdentifier","organizationWide","resourceOwner"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"isPrivate":{"type":"boolean"},"organizationWide":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"hasImage":{"type":"boolean"},"hasWordAssembly":{"type":"boolean"},"hasMultipleGroups":{"type":"boolean"},"groupCount":{"type":"integer","format":"int32"},"promptCount":{"type":"integer","format":"int32"},"requiresMaintenance":{"type":"boolean"}},"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":{"/playbooks/favourites":{"get":{"tags":["Playbook Favourites"],"summary":"Get all favourited playbooks for the current user.","responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse"}}}}},"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"}}}}}}}}}
```


# Playbook Groups

## GET /playbooks/{playbookIdentifier}/groups

> Get all playbook groups for a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Responses.PlaybookGroupResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"flowGroupType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FlowGroupType"},"dateAdded":{"type":"string","format":"date-time"},"orderNumber":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Constants.FlowGroupType":{"enum":["singleDocumentCollection","multipleDocumentCollections","spreadsheetRowAnalysis"],"type":"string"},"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":{"/playbooks/{playbookIdentifier}/groups":{"get":{"tags":["Playbook Groups"],"summary":"Get all playbook groups for a playbook.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Responses.PlaybookGroupResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Responses.PlaybookGroupResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Responses.PlaybookGroupResponse"}}}}},"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"}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/groups

> Create a new playbook group for a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Requests.CreatePlaybookGroupRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"multiDocument":{"type":"boolean"},"flowGroupType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FlowGroupType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.FlowGroupType":{"enum":["singleDocumentCollection","multipleDocumentCollections","spreadsheetRowAnalysis"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Responses.PlaybookGroupResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"flowGroupType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FlowGroupType"},"dateAdded":{"type":"string","format":"date-time"},"orderNumber":{"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":{"/playbooks/{playbookIdentifier}/groups":{"post":{"tags":["Playbook Groups"],"summary":"Create a new playbook group for a playbook.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Requests.CreatePlaybookGroupRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Requests.CreatePlaybookGroupRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Requests.CreatePlaybookGroupRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Responses.PlaybookGroupResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Responses.PlaybookGroupResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Responses.PlaybookGroupResponse"}}}},"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"}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/groups/{objectIdentifier}

> Get a specific playbook group by object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Responses.PlaybookGroupResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"flowGroupType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FlowGroupType"},"dateAdded":{"type":"string","format":"date-time"},"orderNumber":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.Toolkit.Constants.FlowGroupType":{"enum":["singleDocumentCollection","multipleDocumentCollections","spreadsheetRowAnalysis"],"type":"string"},"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":{"/playbooks/{playbookIdentifier}/groups/{objectIdentifier}":{"get":{"tags":["Playbook Groups"],"summary":"Get a specific playbook group by object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Responses.PlaybookGroupResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Responses.PlaybookGroupResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Responses.PlaybookGroupResponse"}}}},"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"}}}}}}}}}
```

## PUT /playbooks/{playbookIdentifier}/groups/{objectIdentifier}

> Update an existing playbook group for a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Requests.UpdatePlaybookGroupRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"flowGroupType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FlowGroupType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.FlowGroupType":{"enum":["singleDocumentCollection","multipleDocumentCollections","spreadsheetRowAnalysis"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Responses.PlaybookGroupResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"flowGroupType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FlowGroupType"},"dateAdded":{"type":"string","format":"date-time"},"orderNumber":{"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":{"/playbooks/{playbookIdentifier}/groups/{objectIdentifier}":{"put":{"tags":["Playbook Groups"],"summary":"Update an existing playbook group for a playbook.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Requests.UpdatePlaybookGroupRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Requests.UpdatePlaybookGroupRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Requests.UpdatePlaybookGroupRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Responses.PlaybookGroupResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Responses.PlaybookGroupResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Responses.PlaybookGroupResponse"}}}},"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 /playbooks/{playbookIdentifier}/groups/{objectIdentifier}

> Delete a playbook group from a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{}},"Jylo.PlaybookMarketplace.Core.Models.PlaybookGroupUsageResponse":{"type":"object","properties":{"isUsed":{"type":"boolean"},"usedInAssemblies":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/groups/{objectIdentifier}":{"delete":{"tags":["Playbook Groups"],"summary":"Delete a playbook group from a playbook.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}},"409":{"description":"Conflict","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.PlaybookGroupUsageResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.PlaybookGroupUsageResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.PlaybookGroupUsageResponse"}}}}}}}}}
```

## PATCH /playbooks/{playbookIdentifier}/groups/reorder

> Persist a new tab order for the playbook's groups.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Requests.ReorderPlaybookGroupsRequest":{"type":"object","properties":{"orderedGroupObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"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":{"/playbooks/{playbookIdentifier}/groups/reorder":{"patch":{"tags":["Playbook Groups"],"summary":"Persist a new tab order for the playbook's groups.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Requests.ReorderPlaybookGroupsRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Requests.ReorderPlaybookGroupsRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookGroups.Contracts.Requests.ReorderPlaybookGroupsRequest"}}}},"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```


# Playbook Prompt Conditions

## GET /playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{promptObjectIdentifier}/conditions

> Get all prompt conditions for a playbook prompt.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionResponse":{"required":["objectIdentifier","promptPredicate"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionPredicateResponse"},"isYes":{"type":"boolean","nullable":true},"decimalAnswer":{"type":"number","format":"double","nullable":true},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"textAnswer":{"type":"string","nullable":true},"fuzzyMatch":{"type":"boolean","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptCategoryConditionResponse"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionPredicateResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptCategoryConditionResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"category":{"type":"string","nullable":true}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{promptObjectIdentifier}/conditions":{"get":{"tags":["Playbook Prompt Conditions"],"summary":"Get all prompt conditions for a playbook prompt.","parameters":[{"name":"groupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"promptObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"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":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionResponse"}}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{promptObjectIdentifier}/conditions

> Create a new prompt condition for a playbook prompt.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.CreatePromptConditionRequest":{"required":["promptPredicateObjectIdentifier"],"type":"object","properties":{"promptPredicateObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"decimalAnswer":{"type":"number","format":"double","nullable":true},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.PromptCategoryConditionRequest"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.PromptCategoryConditionRequest":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionResponse":{"required":["objectIdentifier","promptPredicate"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionPredicateResponse"},"isYes":{"type":"boolean","nullable":true},"decimalAnswer":{"type":"number","format":"double","nullable":true},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"textAnswer":{"type":"string","nullable":true},"fuzzyMatch":{"type":"boolean","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptCategoryConditionResponse"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionPredicateResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptCategoryConditionResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"category":{"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":{"/playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{promptObjectIdentifier}/conditions":{"post":{"tags":["Playbook Prompt Conditions"],"summary":"Create a new prompt condition for a playbook prompt.","parameters":[{"name":"groupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"promptObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.CreatePromptConditionRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.CreatePromptConditionRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.CreatePromptConditionRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionResponse"}}}},"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"}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{promptObjectIdentifier}/conditions/{objectIdentifier}

> Get a specific prompt condition by object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionResponse":{"required":["objectIdentifier","promptPredicate"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"promptPredicate":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionPredicateResponse"},"isYes":{"type":"boolean","nullable":true},"decimalAnswer":{"type":"number","format":"double","nullable":true},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"textAnswer":{"type":"string","nullable":true},"fuzzyMatch":{"type":"boolean","nullable":true},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptCategoryConditionResponse"},"nullable":true},"dateAdded":{"type":"string","format":"date-time"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionPredicateResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptCategoryConditionResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"category":{"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":{"/playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{promptObjectIdentifier}/conditions/{objectIdentifier}":{"get":{"tags":["Playbook Prompt Conditions"],"summary":"Get a specific prompt condition by object identifier.","parameters":[{"name":"groupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"promptObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptConditionResponse"}}}},"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 /playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{promptObjectIdentifier}/conditions/{objectIdentifier}

> Delete a prompt condition from a playbook prompt.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{"/playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{promptObjectIdentifier}/conditions/{objectIdentifier}":{"delete":{"tags":["Playbook Prompt Conditions"],"summary":"Delete a prompt condition from a playbook prompt.","parameters":[{"name":"groupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"promptObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```


# Playbook Prompts

## GET /playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts

> Get all prompts for a playbook group.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"orderNumber":{"type":"integer","format":"int32","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"tokenCount":{"type":"integer","format":"int32"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"}}},"paths":{"/playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts":{"get":{"tags":["Playbook Prompts"],"summary":"Get all prompts for a playbook group.","parameters":[{"name":"groupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"flatten","in":"query","schema":{"type":"boolean"}},{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"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":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts

> Create a new prompt for a playbook group.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.CreatePromptRequest":{"type":"object","properties":{"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.CreatePromptConditionRequest"},"nullable":true},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.CreatePromptConditionRequest":{"required":["promptPredicateObjectIdentifier"],"type":"object","properties":{"promptPredicateObjectIdentifier":{"type":"string","format":"uuid"},"isYes":{"type":"boolean","nullable":true},"decimalAnswer":{"type":"number","format":"double","nullable":true},"minimumDecimalAnswer":{"type":"number","format":"double","nullable":true},"maximumDecimalAnswer":{"type":"number","format":"double","nullable":true},"decimalOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"dateAnswer":{"type":"string","format":"date-time","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"endDate":{"type":"string","format":"date-time","nullable":true},"dateOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.RangeComparisonOperator"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.PromptCategoryConditionRequest"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.RangeComparisonOperator":{"enum":["equal","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","range"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.PromptCategoryConditionRequest":{"type":"object","properties":{"category":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"orderNumber":{"type":"integer","format":"int32","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"tokenCount":{"type":"integer","format":"int32"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"}},"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":{"/playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts":{"post":{"tags":["Playbook Prompts"],"summary":"Create a new prompt for a playbook group.","parameters":[{"name":"groupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.CreatePromptRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.CreatePromptRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.CreatePromptRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}}},"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"}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{promptObjectIdentifier}/duplicate

> Duplicate a prompt as a new prompt (copies heading, description, prompt text, mentions and conditions).

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"orderNumber":{"type":"integer","format":"int32","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"tokenCount":{"type":"integer","format":"int32"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"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":{"/playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{promptObjectIdentifier}/duplicate":{"post":{"tags":["Playbook Prompts"],"summary":"Duplicate a prompt as a new prompt (copies heading, description, prompt text, mentions and conditions).","parameters":[{"name":"groupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"promptObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}}},"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"}}}},"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 /playbooks/{playbookIdentifier}/prompts

> Get all prompts across all playbook groups (flattened view).

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"orderNumber":{"type":"integer","format":"int32","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"tokenCount":{"type":"integer","format":"int32"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"}}},"paths":{"/playbooks/{playbookIdentifier}/prompts":{"get":{"tags":["Playbook Prompts"],"summary":"Get all prompts across all playbook groups (flattened view).","parameters":[{"name":"flatten","in":"query","schema":{"type":"boolean"}},{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"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":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{objectIdentifier}

> Get a specific prompt by object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"orderNumber":{"type":"integer","format":"int32","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"tokenCount":{"type":"integer","format":"int32"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"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":{"/playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{objectIdentifier}":{"get":{"tags":["Playbook Prompts"],"summary":"Get a specific prompt by object identifier.","parameters":[{"name":"groupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}}},"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"}}}}}}}}}
```

## PUT /playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{objectIdentifier}

> Update an existing prompt for a playbook group.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.UpdatePromptRequest":{"type":"object","properties":{"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean","nullable":true},"includeDocuments":{"type":"boolean","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"orderNumber":{"type":"integer","format":"int32","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"tokenCount":{"type":"integer","format":"int32"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"}},"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":{"/playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{objectIdentifier}":{"put":{"tags":["Playbook Prompts"],"summary":"Update an existing prompt for a playbook group.","parameters":[{"name":"groupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.UpdatePromptRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.UpdatePromptRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.UpdatePromptRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}}},"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"}}}},"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"}}}},"409":{"description":"Conflict","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 /playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{objectIdentifier}

> Delete a prompt from a playbook group.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{}},"Jylo.PlaybookMarketplace.Core.Models.PromptUsageResponse":{"type":"object","properties":{"isUsed":{"type":"boolean"},"usedInAssemblies":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{objectIdentifier}":{"delete":{"tags":["Playbook Prompts"],"summary":"Delete a prompt from a playbook group.","parameters":[{"name":"groupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}},"409":{"description":"Conflict","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.PromptUsageResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.PromptUsageResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.PromptUsageResponse"}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{objectIdentifier}/ancestors

> Get ancestors of a specific prompt by object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"orderNumber":{"type":"integer","format":"int32","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"tokenCount":{"type":"integer","format":"int32"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"}}},"paths":{"/playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{objectIdentifier}/ancestors":{"get":{"tags":["Playbook Prompts"],"summary":"Get ancestors of a specific prompt by object identifier.","parameters":[{"name":"groupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"searchText","in":"query","schema":{"type":"string"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/ancestors-by-parent

> Get ancestors by parent object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"orderNumber":{"type":"integer","format":"int32","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"tokenCount":{"type":"integer","format":"int32"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"}}},"paths":{"/playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/ancestors-by-parent":{"get":{"tags":["Playbook Prompts"],"summary":"Get ancestors by parent object identifier.","parameters":[{"name":"groupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"searchText","in":"query","schema":{"type":"string"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/mention-options

> Filters that the given prompt is allowed to reference in a mention or condition: ancestors plus same-level prompts in the playbook group, with any filter that already mentions the target removed (cycle protection). Pass objectIdentifier when editing an existing prompt; pass parentObjectIdentifier when configuring a new prompt under a parent.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"orderNumber":{"type":"integer","format":"int32","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"tokenCount":{"type":"integer","format":"int32"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"}}},"paths":{"/playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/mention-options":{"get":{"tags":["Playbook Prompts"],"summary":"Filters that the given prompt is allowed to reference in a mention or condition: ancestors plus same-level prompts in the playbook group, with any filter that already mentions the target removed (cycle protection). Pass objectIdentifier when editing an existing prompt; pass parentObjectIdentifier when configuring a new prompt under a parent.","parameters":[{"name":"groupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"searchText","in":"query","schema":{"type":"string"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}}}}}}}}}
```

## PUT /playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{objectIdentifier}/position

> Update the position of a prompt in the playbook prompt tree.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.UpdatePromptPositionRequest":{"type":"object","properties":{"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"orderNumber":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"question":{"type":"string","nullable":true},"questionJson":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson"},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"orderNumber":{"type":"integer","format":"int32","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"modelIdentifier":{"type":"string","format":"uuid","nullable":true},"tokenCount":{"type":"integer","format":"int32"},"conditionOperator":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.ConditionOperator"},"reasoningEffort":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.JyloEffort"},"canEdit":{"type":"boolean"},"includeDocuments":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJson":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"text":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"},"marks":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark"},"nullable":true},"content":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonNode"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes":{"type":"object","properties":{"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid","nullable":true},"type":{"type":"string","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty"},"nullable":true},"level":{"type":"integer","format":"int32","nullable":true},"href":{"type":"string","nullable":true},"textAlign":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionProperty":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextMentionPropertyAttributes":{"required":["id","label","parentMentionId","renderAs","type","uuid"],"type":"object","properties":{"type":{"type":"string","nullable":true},"uuid":{"type":"string","format":"uuid"},"id":{"type":"string","nullable":true},"label":{"type":"string","nullable":true},"renderAs":{"type":"string","nullable":true},"parentMentionId":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonMark":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"attrs":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Container.Review.RichTextJsonModels.RichTextJsonAttributes"}},"additionalProperties":false},"Jylo.Toolkit.Constants.ConditionOperator":{"enum":["and","or"],"type":"string"},"Jylo.Toolkit.Entities.ChatCompletion.JyloEffort":{"enum":["none","minimal","low","medium","high","xHigh","max"],"type":"string"},"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":{}},"Jylo.Toolkit.API.Validators.ValidationErrorModel":{"required":["errorCode"],"type":"object","properties":{"errorCode":{"type":"string","nullable":true},"message":{"type":"string","nullable":true},"errors":{"type":"array","items":{},"nullable":true}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/{objectIdentifier}/position":{"put":{"tags":["Playbook Prompts"],"summary":"Update the position of a prompt in the playbook prompt tree.","parameters":[{"name":"groupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.UpdatePromptPositionRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.UpdatePromptPositionRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Requests.UpdatePromptPositionRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptResponse"}}}},"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"}}}},"409":{"description":"Conflict","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Validators.ValidationErrorModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Validators.ValidationErrorModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Validators.ValidationErrorModel"}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/preview

> Get a preview of all prompts for a playbook group.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.PaginationListModel`1[[Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptPreviewResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptPreviewResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptPreviewResponse":{"required":["objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"groupObjectIdentifier":{"type":"string","format":"uuid"},"label":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"promptDataType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.PromptDataType"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.PromptDataType":{"enum":["boolean","categories","decimal","text","generative","dateTime"],"type":"string"}}},"paths":{"/playbooks/{playbookIdentifier}/groups/{groupObjectIdentifier}/prompts/preview":{"get":{"tags":["Playbook Prompts"],"summary":"Get a preview of all prompts for a playbook group.","parameters":[{"name":"groupObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"flatten","in":"query","schema":{"type":"boolean"}},{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"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":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptPreviewResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptPreviewResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.PlaybookMarketplace.Services.Features.PlaybookPrompts.Contracts.Responses.PromptPreviewResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}}}}}}}
```


# Playbook Reference Material Categories

## GET /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/categories

> Get all categories for a reference material.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialCategoryResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"}},"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":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/categories":{"get":{"tags":["Playbook Reference Material Categories"],"summary":"Get all categories for a reference material.","parameters":[{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialCategoryResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialCategoryResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialCategoryResponse"}}}}},"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"}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/categories

> Add a category to a reference material.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Requests.CreateReferenceMaterialCategoryRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialCategoryResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"}},"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":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/categories":{"post":{"tags":["Playbook Reference Material Categories"],"summary":"Add a category to a reference material.","parameters":[{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Requests.CreateReferenceMaterialCategoryRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Requests.CreateReferenceMaterialCategoryRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Requests.CreateReferenceMaterialCategoryRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialCategoryResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialCategoryResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialCategoryResponse"}}}},"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"}}}}}}}}}
```

## DELETE /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/categories/{objectIdentifier}

> Delete a category from a reference material.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/categories/{objectIdentifier}":{"delete":{"tags":["Playbook Reference Material Categories"],"summary":"Delete a category from a reference material.","parameters":[{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}}}}}}}
```


# Playbook Reference Materials

## GET /playbooks/{playbookIdentifier}/reference-materials

> Get all reference materials for a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.PlaybookMarketplace.Constants.PlaybookReferenceMaterialType"},"booleanValue":{"type":"boolean","nullable":true},"isSourceDocuments":{"type":"boolean","nullable":true},"dateTimeValue":{"type":"string","format":"date-time","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"textValue":{"type":"string","nullable":true},"isLocked":{"type":"boolean"},"isRequired":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialCategoryResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.PlaybookMarketplace.Constants.PlaybookReferenceMaterialType":{"enum":["boolean","categories","decimal","dateTime","text","documents"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialCategoryResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"}},"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":{"/playbooks/{playbookIdentifier}/reference-materials":{"get":{"tags":["Playbook Reference Materials"],"summary":"Get all reference materials for a playbook.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialResponse"}}}}},"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"}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/reference-materials

> Create a new reference material for a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Requests.CreateReferenceMaterialRequest":{"required":["name","type"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.PlaybookMarketplace.Constants.PlaybookReferenceMaterialType"},"booleanValue":{"type":"boolean","nullable":true},"isSourceDocuments":{"type":"boolean","nullable":true},"dateTimeValue":{"type":"string","format":"date-time","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"textValue":{"type":"string","nullable":true},"isLocked":{"type":"boolean"},"isRequired":{"type":"boolean"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Requests.CreateReferenceMaterialCategoryRequest"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.PlaybookMarketplace.Constants.PlaybookReferenceMaterialType":{"enum":["boolean","categories","decimal","dateTime","text","documents"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Requests.CreateReferenceMaterialCategoryRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.PlaybookMarketplace.Constants.PlaybookReferenceMaterialType"},"booleanValue":{"type":"boolean","nullable":true},"isSourceDocuments":{"type":"boolean","nullable":true},"dateTimeValue":{"type":"string","format":"date-time","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"textValue":{"type":"string","nullable":true},"isLocked":{"type":"boolean"},"isRequired":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialCategoryResponse"},"nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialCategoryResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"}},"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":{"/playbooks/{playbookIdentifier}/reference-materials":{"post":{"tags":["Playbook Reference Materials"],"summary":"Create a new reference material for a playbook.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Requests.CreateReferenceMaterialRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Requests.CreateReferenceMaterialRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Requests.CreateReferenceMaterialRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialResponse"}}}},"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"}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/reference-materials/{objectIdentifier}

> Get a specific reference material by object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.PlaybookMarketplace.Constants.PlaybookReferenceMaterialType"},"booleanValue":{"type":"boolean","nullable":true},"isSourceDocuments":{"type":"boolean","nullable":true},"dateTimeValue":{"type":"string","format":"date-time","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"textValue":{"type":"string","nullable":true},"isLocked":{"type":"boolean"},"isRequired":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialCategoryResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.PlaybookMarketplace.Constants.PlaybookReferenceMaterialType":{"enum":["boolean","categories","decimal","dateTime","text","documents"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialCategoryResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"}},"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":{"/playbooks/{playbookIdentifier}/reference-materials/{objectIdentifier}":{"get":{"tags":["Playbook Reference Materials"],"summary":"Get a specific reference material by object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialResponse"}}}},"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"}}}}}}}}}
```

## PUT /playbooks/{playbookIdentifier}/reference-materials/{objectIdentifier}

> Update an existing reference material for a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Requests.UpdateReferenceMaterialRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"booleanValue":{"type":"boolean","nullable":true},"isSourceDocuments":{"type":"boolean","nullable":true},"dateTimeValue":{"type":"string","format":"date-time","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"textValue":{"type":"string","nullable":true},"isLocked":{"type":"boolean"},"isRequired":{"type":"boolean"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"stableObjectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"type":{"$ref":"#/components/schemas/Jylo.Toolkit.PlaybookMarketplace.Constants.PlaybookReferenceMaterialType"},"booleanValue":{"type":"boolean","nullable":true},"isSourceDocuments":{"type":"boolean","nullable":true},"dateTimeValue":{"type":"string","format":"date-time","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"textValue":{"type":"string","nullable":true},"isLocked":{"type":"boolean"},"isRequired":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialCategoryResponse"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.PlaybookMarketplace.Constants.PlaybookReferenceMaterialType":{"enum":["boolean","categories","decimal","dateTime","text","documents"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialCategoryResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"}},"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":{"/playbooks/{playbookIdentifier}/reference-materials/{objectIdentifier}":{"put":{"tags":["Playbook Reference Materials"],"summary":"Update an existing reference material for a playbook.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Requests.UpdateReferenceMaterialRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Requests.UpdateReferenceMaterialRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Requests.UpdateReferenceMaterialRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.ReferenceMaterials.Contracts.Responses.ReferenceMaterialResponse"}}}},"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 /playbooks/{playbookIdentifier}/reference-materials/{objectIdentifier}

> Delete a reference material from a playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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":{}},"Jylo.PlaybookMarketplace.Core.Models.PromptUsageResponse":{"type":"object","properties":{"isUsed":{"type":"boolean"},"usedInAssemblies":{"type":"array","items":{"type":"string"},"nullable":true}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/reference-materials/{objectIdentifier}":{"delete":{"tags":["Playbook Reference Materials"],"summary":"Delete a reference material from a playbook.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"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"}}}},"409":{"description":"Conflict","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.PromptUsageResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.PromptUsageResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.PromptUsageResponse"}}}}}}}}}
```


# Playbook Source Documents

## GET /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents

> List documents under a reference material.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.Constants.DocumentIndexingStatus":{"enum":["completed","failed","inProgress"],"type":"string"},"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.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"extension":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"isDirectory":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"pageCount":{"type":"integer","format":"int32","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"isPackagedFile":{"type":"boolean","nullable":true},"unpackedFileCount":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"}}},"paths":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents":{"get":{"tags":["Playbook Source Documents"],"summary":"List documents under a reference material.","parameters":[{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"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":"flatten","in":"query","schema":{"type":"boolean","default":false}},{"name":"hidePackagedFiles","in":"query","schema":{"type":"boolean","default":true}},{"name":"indexingStatus","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentIndexingStatus"}},{"name":"documentUploadObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents

> Upload a document to a reference material.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"extension":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"isDirectory":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"pageCount":{"type":"integer","format":"int32","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"isPackagedFile":{"type":"boolean","nullable":true},"unpackedFileCount":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"},"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":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents":{"post":{"tags":["Playbook Source Documents"],"summary":"Upload a document to a reference material.","parameters":[{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"documentUploadObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"}}},"encoding":{"file":{"style":"form"},"ocrEngine":{"style":"form"},"ocrStrategy":{"style":"form"},"coordinateExtractionStrategy":{"style":"form"}}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}}}},"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"}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/initialise

> Initialise a document record before uploading content.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.InitialiseDocumentRequest":{"required":["contentType","documentUploadObjectIdentifier","fileName"],"type":"object","properties":{"fileName":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"},"uploadSettings":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.UploadSettingsModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.UploadSettingsModel":{"type":"object","properties":{"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"extension":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"isDirectory":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"pageCount":{"type":"integer","format":"int32","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"isPackagedFile":{"type":"boolean","nullable":true},"unpackedFileCount":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"}}},"paths":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/initialise":{"post":{"tags":["Playbook Source Documents"],"summary":"Initialise a document record before uploading content.","parameters":[{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.InitialiseDocumentRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.InitialiseDocumentRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.InitialiseDocumentRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/partial/{documentObjectIdentifier}

> Upload a chunk of a document.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"}}},"paths":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/partial/{documentObjectIdentifier}":{"post":{"tags":["Playbook Source Documents"],"summary":"Upload a chunk of a document.","parameters":[{"name":"documentObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"chunkIndex","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"isLastChunk","in":"query","schema":{"type":"boolean"}},{"name":"uploadFileCount","in":"query","schema":{"type":"integer","format":"int32","default":1}},{"name":"ocrEngine","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"}},{"name":"ocrStrategy","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"}},{"name":"coordinateExtractionStrategy","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}},"encoding":{"file":{"style":"form"}}}}},"responses":{"200":{"description":"OK"}}}}}}
```

## GET /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/folders

> List folders under a reference material.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"extension":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"isDirectory":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"pageCount":{"type":"integer","format":"int32","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"isPackagedFile":{"type":"boolean","nullable":true},"unpackedFileCount":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"}}},"paths":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/folders":{"get":{"tags":["Playbook Source Documents"],"summary":"List folders under a reference material.","parameters":[{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}},{"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":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/folders

> Create a folder under a reference material.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.CreateFolderRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"extension":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"isDirectory":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"pageCount":{"type":"integer","format":"int32","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"isPackagedFile":{"type":"boolean","nullable":true},"unpackedFileCount":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"}}},"paths":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/folders":{"post":{"tags":["Playbook Source Documents"],"summary":"Create a folder under a reference material.","parameters":[{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.CreateFolderRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.CreateFolderRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.CreateFolderRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/failed

> Record a failed document upload.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.CreateFailedDocumentRequest":{"required":["documentUploadObjectIdentifier","fileName","uploadFailedReason"],"type":"object","properties":{"fileName":{"type":"string","nullable":true},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"documentUploadObjectIdentifier":{"type":"string","format":"uuid"}},"additionalProperties":false},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"extension":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"isDirectory":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"pageCount":{"type":"integer","format":"int32","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"isPackagedFile":{"type":"boolean","nullable":true},"unpackedFileCount":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"}}},"paths":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/failed":{"post":{"tags":["Playbook Source Documents"],"summary":"Record a failed document upload.","parameters":[{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.CreateFailedDocumentRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.CreateFailedDocumentRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.CreateFailedDocumentRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/{objectIdentifier}

> Get a specific document by object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"extension":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"size":{"type":"integer","format":"int64","nullable":true},"isDirectory":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"uploadSuccessful":{"type":"boolean","nullable":true},"uploadInProgress":{"type":"boolean","nullable":true},"uploadFailedReason":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.UploadFailedReason"},"fileType":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.FileType"},"parentObjectIdentifier":{"type":"string","format":"uuid","nullable":true},"hasChildren":{"type":"boolean","nullable":true},"pageCount":{"type":"integer","format":"int32","nullable":true},"tokenCount":{"type":"integer","format":"int64","nullable":true},"documentUploadSource":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.DocumentUploadSource"},"isPackagedFile":{"type":"boolean","nullable":true},"unpackedFileCount":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Constants.UploadFailedReason":{"enum":["outOfMemory","unsupportedFileType","badFile","uploadFailure","ocrPageLimitExceeded","unknownException","insufficientCredits","maliciousFile","fileScanTimedOut"],"type":"string"},"Jylo.Toolkit.Constants.FileType":{"enum":["unknown","image","video","text","audio","directory"],"type":"string"},"Jylo.Toolkit.Constants.DocumentUploadSource":{"enum":["local","iManage","sharePoint","netDocuments"],"type":"string"}}},"paths":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/{objectIdentifier}":{"get":{"tags":["Playbook Source Documents"],"summary":"Get a specific document by object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentResponse"}}}}}}}}}
```

## DELETE /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/{objectIdentifier}

> Delete a document.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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"}}},"paths":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/{objectIdentifier}":{"delete":{"tags":["Playbook Source Documents"],"summary":"Delete a document.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"}}}}}}
```

## GET /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/{objectIdentifier}/download

> Download a document. Set usePdf=true to download the PDF version instead of the original file.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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"}}},"paths":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/{objectIdentifier}/download":{"get":{"tags":["Playbook Source Documents"],"summary":"Download a document. Set usePdf=true to download the PDF version instead of the original file.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"usePdf","in":"query","schema":{"type":"boolean","default":false}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}}}}
```

## GET /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/{objectIdentifier}/breadcrumbs

> Get the breadcrumb trail for a document.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.BreadcrumbResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"isDirectory":{"type":"boolean"}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/{objectIdentifier}/breadcrumbs":{"get":{"tags":["Playbook Source Documents"],"summary":"Get the breadcrumb trail for a document.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.BreadcrumbResponse"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.BreadcrumbResponse"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.BreadcrumbResponse"}}}}}}}}}}
```

## GET /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/uploads/{uploadObjectIdentifier}

> Get upload batch details.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentUploadDetailsResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"dateAdded":{"type":"string","format":"date-time"},"dateCompleted":{"type":"string","format":"date-time","nullable":true},"totalDocumentCount":{"type":"integer","format":"int32"},"failedDocumentCount":{"type":"integer","format":"int32"},"processingDocumentCount":{"type":"integer","format":"int32"},"completedDocumentCount":{"type":"integer","format":"int32"},"totalSizeBytes":{"type":"integer","format":"int64"},"fileCount":{"type":"integer","format":"int32","nullable":true},"failedReasonSummary":{"type":"object","properties":{"outOfMemory":{"type":"integer","format":"int32"},"unsupportedFileType":{"type":"integer","format":"int32"},"badFile":{"type":"integer","format":"int32"},"uploadFailure":{"type":"integer","format":"int32"},"ocrPageLimitExceeded":{"type":"integer","format":"int32"},"unknownException":{"type":"integer","format":"int32"},"insufficientCredits":{"type":"integer","format":"int32"},"maliciousFile":{"type":"integer","format":"int32"},"fileScanTimedOut":{"type":"integer","format":"int32"}},"additionalProperties":false,"nullable":true},"fileTypeSummary":{"type":"object","additionalProperties":{"type":"integer","format":"int32"},"nullable":true}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/uploads/{uploadObjectIdentifier}":{"get":{"tags":["Playbook Source Documents"],"summary":"Get upload batch details.","parameters":[{"name":"uploadObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentUploadDetailsResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentUploadDetailsResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Responses.SourceDocumentUploadDetailsResponse"}}}}}}}}}
```

## POST /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/{objectIdentifier}/reindex

> Reindex a document.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.ReindexDocumentRequest":{"type":"object","properties":{"uploadSettings":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.UploadSettingsModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.UploadSettingsModel":{"type":"object","properties":{"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"}}},"paths":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/{objectIdentifier}/reindex":{"post":{"tags":["Playbook Source Documents"],"summary":"Reindex a document.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.ReindexDocumentRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.ReindexDocumentRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.ReindexDocumentRequest"}}}},"responses":{"200":{"description":"OK"}}}}}}
```

## POST /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/uploads/{uploadObjectIdentifier}/retry

> Retry failed documents in an upload batch.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.RetryFailedUploadRequest":{"type":"object","properties":{"uploadSettings":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.Documents.UploadSettingsModel"}},"additionalProperties":false},"Jylo.Toolkit.API.Models.Documents.UploadSettingsModel":{"type":"object","properties":{"ocrEngine":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCREngine"},"ocrStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.OCRStrategy"},"coordinateExtractionStrategy":{"$ref":"#/components/schemas/Jylo.Toolkit.Constants.CoordinateExtractionStrategy"}},"additionalProperties":false},"Jylo.Toolkit.Constants.OCREngine":{"enum":["azureDocumentIntelligence","aspose"],"type":"string"},"Jylo.Toolkit.Constants.OCRStrategy":{"enum":["never","detect","always"],"type":"string"},"Jylo.Toolkit.Constants.CoordinateExtractionStrategy":{"enum":["never","apryse","azureDocumentIntelligence","spreadsheet"],"type":"string"}}},"paths":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/uploads/{uploadObjectIdentifier}/retry":{"post":{"tags":["Playbook Source Documents"],"summary":"Retry failed documents in an upload batch.","parameters":[{"name":"uploadObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.RetryFailedUploadRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.RetryFailedUploadRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.RetryFailedUploadRequest"}}}},"responses":{"200":{"description":"OK"}}}}}}
```

## PUT /playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/move

> Move documents to a new parent folder.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.MoveDocumentsRequest":{"required":["documentObjectIdentifiers","newParentObjectIdentifier"],"type":"object","properties":{"newParentObjectIdentifier":{"type":"string","format":"uuid"},"documentObjectIdentifiers":{"type":"array","items":{"type":"string","format":"uuid"},"nullable":true}},"additionalProperties":false}}},"paths":{"/playbooks/{playbookIdentifier}/reference-materials/{referenceMaterialObjectIdentifier}/documents/move":{"put":{"tags":["Playbook Source Documents"],"summary":"Move documents to a new parent folder.","parameters":[{"name":"playbookIdentifier","in":"path","required":true,"schema":{"type":"string"}},{"name":"referenceMaterialObjectIdentifier","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.MoveDocumentsRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.MoveDocumentsRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.SourceDocuments.Contracts.Requests.MoveDocumentsRequest"}}}},"responses":{"200":{"description":"OK"}}}}}}
```


# Playbook Assembly Download

## GET /playbooks/assemblies-download

>

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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"}}},"paths":{"/playbooks/assemblies-download":{"get":{"tags":["PlaybookAssemblyDownload"],"responses":{"200":{"description":"OK"}}}}}}
```

## OPTIONS /playbooks/assemblies-download

>

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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"}}},"paths":{"/playbooks/assemblies-download":{"options":{"tags":["PlaybookAssemblyDownload"],"responses":{"200":{"description":"OK"}}}}}}
```

## HEAD /playbooks/assemblies-download

>

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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"}}},"paths":{"/playbooks/assemblies-download":{"head":{"tags":["PlaybookAssemblyDownload"],"responses":{"200":{"description":"OK"}}}}}}
```

## GET /playbooks/assemblies-download/{assemblyFileName}

>

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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"}}},"paths":{"/playbooks/assemblies-download/{assemblyFileName}":{"get":{"tags":["PlaybookAssemblyDownload"],"parameters":[{"name":"assemblyFileName","in":"path","required":true,"schema":{"type":"string"}},{"name":"token","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}}}}
```

## OPTIONS /playbooks/assemblies-download/{assemblyFileName}

>

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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"}}},"paths":{"/playbooks/assemblies-download/{assemblyFileName}":{"options":{"tags":["PlaybookAssemblyDownload"],"parameters":[{"name":"assemblyFileName","in":"path","required":true,"schema":{"type":"string"}},{"name":"token","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}}}}
```

## HEAD /playbooks/assemblies-download/{assemblyFileName}

>

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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"}}},"paths":{"/playbooks/assemblies-download/{assemblyFileName}":{"head":{"tags":["PlaybookAssemblyDownload"],"parameters":[{"name":"assemblyFileName","in":"path","required":true,"schema":{"type":"string"}},{"name":"token","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}}}}
```


# Playbooks

## GET /playbooks

> Get all playbooks for the organization.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.API.Models.PaginationListModel`1[[Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse":{"required":["dateAdded","description","isPrivate","name","objectIdentifier","organizationWide","resourceOwner"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"isPrivate":{"type":"boolean"},"organizationWide":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"hasImage":{"type":"boolean"},"hasWordAssembly":{"type":"boolean"},"hasMultipleGroups":{"type":"boolean"},"groupCount":{"type":"integer","format":"int32"},"promptCount":{"type":"integer","format":"int32"},"requiresMaintenance":{"type":"boolean"}},"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}}},"paths":{"/playbooks":{"get":{"tags":["Playbooks"],"summary":"Get all playbooks for the 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":"sorting","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"}},{"name":"desc","in":"query","schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}}}}}}}
```

## POST /playbooks

> Create a new playbook.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Requests.CreatePlaybookRequest":{"required":["isPrivate","name","organizationWide"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"isPrivate":{"type":"boolean"},"organizationWide":{"type":"boolean"},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Requests.PlaybookMetadataInput"},"nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Requests.PlaybookMetadataInput":{"type":"object","properties":{"organizationMetadataIdentifier":{"type":"string","format":"uuid"},"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}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse":{"required":["dateAdded","description","isPrivate","name","objectIdentifier","organizationWide","resourceOwner"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"isPrivate":{"type":"boolean"},"organizationWide":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"hasImage":{"type":"boolean"},"hasWordAssembly":{"type":"boolean"},"hasMultipleGroups":{"type":"boolean"},"groupCount":{"type":"integer","format":"int32"},"promptCount":{"type":"integer","format":"int32"},"requiresMaintenance":{"type":"boolean"}},"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}}},"paths":{"/playbooks":{"post":{"tags":["Playbooks"],"summary":"Create a new playbook.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Requests.CreatePlaybookRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Requests.CreatePlaybookRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Requests.CreatePlaybookRequest"}}}},"responses":{"201":{"description":"Created","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse"}}}}}}}}}
```

## POST /playbooks/import

> Queue an import task. The zip is processed asynchronously by the TaskProcessor.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.PlaybookTaskAcceptedResponse":{"type":"object","properties":{"taskObjectIdentifier":{"type":"string","format":"uuid"},"type":{"type":"string","nullable":true},"status":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Validators.ValidationError":{"type":"object","properties":{"errorCode":{"type":"string","nullable":true},"errorMessage":{"type":"string","nullable":true},"errorItems":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Validators.ErrorItem"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.API.Validators.ErrorItem":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true}},"additionalProperties":false}}},"paths":{"/playbooks/import":{"post":{"tags":["Playbooks"],"summary":"Queue an import task. The zip is processed asynchronously by the TaskProcessor.","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"importZip":{"type":"string","format":"binary"}}},"encoding":{"importZip":{"style":"form"}}}}},"responses":{"202":{"description":"Accepted","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.PlaybookTaskAcceptedResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.PlaybookTaskAcceptedResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.PlaybookTasks.Contracts.PlaybookTaskAcceptedResponse"}}}},"400":{"description":"Bad Request","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Validators.ValidationError"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Validators.ValidationError"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Validators.ValidationError"}}}}}}}}}
```

## POST /playbooks/search

> Search playbooks for the current user.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Models.PlaybookSearchRequest":{"type":"object","properties":{"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"searchText":{"type":"string","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.MetadataFilterItem"},"nullable":true},"sorting":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"},"desc":{"type":"boolean"},"scope":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.PlaybookScope"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Core.Models.MetadataFilterItem":{"required":["dataType","metadataId","value"],"type":"object","properties":{"metadataId":{"type":"string","nullable":true},"dataType":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.MetadataDataType"},"value":{"nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Core.Models.MetadataDataType":{"enum":["boolean","text","decimal","singleCategory","multiCategory"],"type":"string"},"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.PlaybookMarketplace.Core.Models.PlaybookScope":{"enum":["all","mine"],"type":"string"},"Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse":{"required":["dateAdded","description","isPrivate","name","objectIdentifier","organizationWide","resourceOwner"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"isPrivate":{"type":"boolean"},"organizationWide":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"hasImage":{"type":"boolean"},"hasWordAssembly":{"type":"boolean"},"hasMultipleGroups":{"type":"boolean"},"groupCount":{"type":"integer","format":"int32"},"promptCount":{"type":"integer","format":"int32"},"requiresMaintenance":{"type":"boolean"}},"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}}},"paths":{"/playbooks/search":{"post":{"tags":["Playbooks"],"summary":"Search playbooks for the current user.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Models.PlaybookSearchRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Models.PlaybookSearchRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Models.PlaybookSearchRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}}}}}}}
```

## POST /playbooks/search/all

> Search all playbooks in the organization.

```json
{"openapi":"3.0.4","info":{"title":"Playbook Marketplace 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.PlaybookMarketplace.Models.PlaybookSearchRequest":{"type":"object","properties":{"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"searchText":{"type":"string","nullable":true},"metadata":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.MetadataFilterItem"},"nullable":true},"sorting":{"$ref":"#/components/schemas/Jylo.Toolkit.Sorting.ItemSorting"},"desc":{"type":"boolean"},"scope":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.PlaybookScope"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Core.Models.MetadataFilterItem":{"required":["dataType","metadataId","value"],"type":"object","properties":{"metadataId":{"type":"string","nullable":true},"dataType":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Core.Models.MetadataDataType"},"value":{"nullable":true}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Core.Models.MetadataDataType":{"enum":["boolean","text","decimal","singleCategory","multiCategory"],"type":"string"},"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.PlaybookMarketplace.Core.Models.PlaybookScope":{"enum":["all","mine"],"type":"string"},"Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse"},"nullable":true},"totalCount":{"type":"integer","format":"int32"}},"additionalProperties":false},"Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse":{"required":["dateAdded","description","isPrivate","name","objectIdentifier","organizationWide","resourceOwner"],"type":"object","properties":{"objectIdentifier":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"isPrivate":{"type":"boolean"},"organizationWide":{"type":"boolean"},"dateAdded":{"type":"string","format":"date-time"},"resourceOwner":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.OrganizationMemberModel"},"hasImage":{"type":"boolean"},"hasWordAssembly":{"type":"boolean"},"hasMultipleGroups":{"type":"boolean"},"groupCount":{"type":"integer","format":"int32"},"promptCount":{"type":"integer","format":"int32"},"requiresMaintenance":{"type":"boolean"}},"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}}},"paths":{"/playbooks/search/all":{"post":{"tags":["Playbooks"],"summary":"Search all playbooks in the organization.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Models.PlaybookSearchRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Models.PlaybookSearchRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.PlaybookMarketplace.Models.PlaybookSearchRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.PaginationListModel`1[[Jylo.PlaybookMarketplace.Services.Features.Playbooks.Contracts.Responses.PlaybookResponse, Jylo.PlaybookMarketplace.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"}}}}}}}}}
```


# Notifications


# Notifications

## Get notifications for the current recipient.

> Retrieves a paginated list of notifications for the current recipient.

```json
{"openapi":"3.0.4","info":{"title":"Notifications 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.NotificationService.Models.NotificationReadModel":{"required":["dateAdded","isRead","message","objectIdentifier","title","type"],"type":"object","properties":{"dateAdded":{"type":"string","format":"date-time"},"objectIdentifier":{"type":"string","format":"uuid"},"isRead":{"type":"boolean"},"title":{"type":"string","nullable":true},"message":{"type":"string","nullable":true},"type":{"type":"string","nullable":true},"resourceIdentifiers":{"type":"object","additionalProperties":{"type":"string"},"nullable":true}},"additionalProperties":false}}},"paths":{"/notifications":{"get":{"tags":["Notifications"],"summary":"Get notifications for the current recipient.","description":"Retrieves a paginated list of notifications for the current recipient.","parameters":[{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.NotificationService.Models.NotificationReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.NotificationService.Models.NotificationReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.NotificationService.Models.NotificationReadModel"}}}}},"403":{"description":"Forbidden"}}}}}}
```

## Delete a notification.

> Deletes a notification using its object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Notifications 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"}}},"paths":{"/notifications/{objectIdentifier}":{"delete":{"tags":["Notifications"],"summary":"Delete a notification.","description":"Deletes a notification using its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}}}}}}
```

## Update the read status of a notification.

> Updates the read status of a notification for the current recipient.

```json
{"openapi":"3.0.4","info":{"title":"Notifications 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.NotificationService.Models.UpdateReadStatus":{"type":"object","properties":{"isRead":{"type":"boolean"}},"additionalProperties":false}}},"paths":{"/notifications/{objectIdentifier}":{"patch":{"tags":["Notifications"],"summary":"Update the read status of a notification.","description":"Updates the read status of a notification for the current recipient.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.NotificationService.Models.UpdateReadStatus"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.NotificationService.Models.UpdateReadStatus"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.NotificationService.Models.UpdateReadStatus"}}}},"responses":{"204":{"description":"No Content"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}}}}}}
```

## Mark all notifications as read.

> Marks all notifications as read for the current recipient.

```json
{"openapi":"3.0.4","info":{"title":"Notifications 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"}}},"paths":{"/notifications/read-all":{"post":{"tags":["Notifications"],"summary":"Mark all notifications as read.","description":"Marks all notifications as read for the current recipient.","responses":{"200":{"description":"OK"},"403":{"description":"Forbidden"}}}}}}
```


# Settings


# Models

## Get all models for the organization.

> Retrieves all models available to the organization, optionally filtered by type and disabled status.

```json
{"openapi":"3.0.4","info":{"title":"Settings Service API","version":"v1"},"servers":[{"url":"https://settings.{region}.jylo.ai","variables":{"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.Settings.Core.Entities.ModelType":{"enum":[0,1],"type":"integer","format":"int32"},"Jylo.Toolkit.Integrations.Settings.Models.ModelReadModel":{"required":["contextLength","description","hostedBy","name","objectIdentifier","payoutPercentage"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"hostedBy":{"type":"string","nullable":true},"supportsVision":{"type":"boolean"},"supportsAudio":{"type":"boolean"},"supportsWebSearch":{"type":"boolean"},"supportsRemoteCodeInterpreter":{"type":"boolean"},"supportsTools":{"type":"boolean"},"supportsReasoning":{"type":"boolean"},"objectIdentifier":{"type":"string","format":"uuid"},"payoutPercentage":{"type":"integer","format":"int32"},"maxOutputToken":{"type":"integer","format":"int32","nullable":true},"contextLength":{"type":"integer","format":"int32"}},"additionalProperties":false}}},"paths":{"/models":{"get":{"tags":["Models"],"summary":"Get all models for the organization.","description":"Retrieves all models available to the organization, optionally filtered by type and disabled status.","parameters":[{"name":"modelType","in":"query","schema":{"$ref":"#/components/schemas/Jylo.Settings.Core.Entities.ModelType"}},{"name":"includeDisabled","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.ModelReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.ModelReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.ModelReadModel"}}}}},"403":{"description":"Forbidden"}}}}}}
```

## Get a model by object identifier.

> Retrieves a model by its object identifier if authorized for the organization.

```json
{"openapi":"3.0.4","info":{"title":"Settings Service API","version":"v1"},"servers":[{"url":"https://settings.{region}.jylo.ai","variables":{"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.Integrations.Settings.Models.ModelReadModel":{"required":["contextLength","description","hostedBy","name","objectIdentifier","payoutPercentage"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"hostedBy":{"type":"string","nullable":true},"supportsVision":{"type":"boolean"},"supportsAudio":{"type":"boolean"},"supportsWebSearch":{"type":"boolean"},"supportsRemoteCodeInterpreter":{"type":"boolean"},"supportsTools":{"type":"boolean"},"supportsReasoning":{"type":"boolean"},"objectIdentifier":{"type":"string","format":"uuid"},"payoutPercentage":{"type":"integer","format":"int32"},"maxOutputToken":{"type":"integer","format":"int32","nullable":true},"contextLength":{"type":"integer","format":"int32"}},"additionalProperties":false}}},"paths":{"/models/{objectIdentifier}":{"get":{"tags":["Models"],"summary":"Get a model by object identifier.","description":"Retrieves a model by its object identifier if authorized for the organization.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.ModelReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.ModelReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.ModelReadModel"}}}},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}}}}}}
```

## Get models by object identifiers.

> Retrieves models by a list of object identifiers.

```json
{"openapi":"3.0.4","info":{"title":"Settings Service API","version":"v1"},"servers":[{"url":"https://settings.{region}.jylo.ai","variables":{"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.Integrations.Settings.Models.ModelReadModel":{"required":["contextLength","description","hostedBy","name","objectIdentifier","payoutPercentage"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"hostedBy":{"type":"string","nullable":true},"supportsVision":{"type":"boolean"},"supportsAudio":{"type":"boolean"},"supportsWebSearch":{"type":"boolean"},"supportsRemoteCodeInterpreter":{"type":"boolean"},"supportsTools":{"type":"boolean"},"supportsReasoning":{"type":"boolean"},"objectIdentifier":{"type":"string","format":"uuid"},"payoutPercentage":{"type":"integer","format":"int32"},"maxOutputToken":{"type":"integer","format":"int32","nullable":true},"contextLength":{"type":"integer","format":"int32"}},"additionalProperties":false}}},"paths":{"/models/get-by-identifiers":{"get":{"tags":["Models"],"summary":"Get models by object identifiers.","description":"Retrieves models by a list of object identifiers.","parameters":[{"name":"modelIdentifiers","in":"query","schema":{"type":"array","items":{"type":"string","format":"uuid"}}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.ModelReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.ModelReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.ModelReadModel"}}}}},"403":{"description":"Forbidden"}}}}}}
```


# Settings

## Get a setting by object identifier.

> Retrieves a setting using its object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Settings Service API","version":"v1"},"servers":[{"url":"https://settings.{region}.jylo.ai","variables":{"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.Integrations.Settings.Models.SettingReadModel":{"required":["description","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"dataType":{"type":"string","nullable":true},"resourceTypeIdentifier":{"type":"string","format":"uuid","nullable":true},"isYes":{"type":"boolean","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"text":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"isDirectory":{"type":"boolean"},"orderNumber":{"type":"integer","format":"int32"},"singleCategoryIdentifier":{"type":"string","format":"uuid","nullable":true},"singleCategory":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel"},"options":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel"},"nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel"},"nullable":true},"hasImage":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel":{"required":["label","value"],"type":"object","properties":{"label":{"type":"string","nullable":true},"value":{"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":{"/settings/{objectIdentifier}":{"get":{"tags":["Settings"],"summary":"Get a setting by object identifier.","description":"Retrieves a setting using its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingReadModel"}}}},"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 image for image-type setting.

> Retrieves the image file for a setting that has Image data type.

```json
{"openapi":"3.0.4","info":{"title":"Settings Service API","version":"v1"},"servers":[{"url":"https://settings.{region}.jylo.ai","variables":{"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":{"/settings/{objectIdentifier}/image":{"get":{"tags":["Settings"],"summary":"Get image for image-type setting.","description":"Retrieves the image file for a setting that has Image data type.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"},"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"}}}}}}}}}
```

## Upload image for image-type setting.

> Uploads an image file for a setting that has Image data type. Creates org-specific override.

```json
{"openapi":"3.0.4","info":{"title":"Settings Service API","version":"v1"},"servers":[{"url":"https://settings.{region}.jylo.ai","variables":{"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":{"/settings/{objectIdentifier}/image":{"post":{"tags":["Settings"],"summary":"Upload image for image-type setting.","description":"Uploads an image file for a setting that has Image data type. Creates org-specific override.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"imageFile":{"type":"string","format":"binary"}}},"encoding":{"imageFile":{"style":"form"}}}}},"responses":{"200":{"description":"OK"},"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 organization-specific image for image-type setting.

> Deletes the organization-specific image, falling back to template image if available.

```json
{"openapi":"3.0.4","info":{"title":"Settings Service API","version":"v1"},"servers":[{"url":"https://settings.{region}.jylo.ai","variables":{"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":{"/settings/{objectIdentifier}/image":{"delete":{"tags":["Settings"],"summary":"Delete organization-specific image for image-type setting.","description":"Deletes the organization-specific image, falling back to template image if available.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"},"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 a user (non-admin) setting by object identifier.

> Retrieves a setting using its object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Settings Service API","version":"v1"},"servers":[{"url":"https://settings.{region}.jylo.ai","variables":{"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.Integrations.Settings.Models.SettingReadModel":{"required":["description","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"dataType":{"type":"string","nullable":true},"resourceTypeIdentifier":{"type":"string","format":"uuid","nullable":true},"isYes":{"type":"boolean","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"text":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"isDirectory":{"type":"boolean"},"orderNumber":{"type":"integer","format":"int32"},"singleCategoryIdentifier":{"type":"string","format":"uuid","nullable":true},"singleCategory":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel"},"options":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel"},"nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel"},"nullable":true},"hasImage":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel":{"required":["label","value"],"type":"object","properties":{"label":{"type":"string","nullable":true},"value":{"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":{"/settings/user-settings/{objectIdentifier}":{"get":{"tags":["Settings"],"summary":"Get a user (non-admin) setting by object identifier.","description":"Retrieves a setting using its object identifier.","parameters":[{"name":"objectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingReadModel"}}}},"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 all settings for the organization.

> Retrieves a paginated list of all settings for the current organization.

```json
{"openapi":"3.0.4","info":{"title":"Settings Service API","version":"v1"},"servers":[{"url":"https://settings.{region}.jylo.ai","variables":{"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.Integrations.Settings.Models.SettingReadModel":{"required":["description","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"dataType":{"type":"string","nullable":true},"resourceTypeIdentifier":{"type":"string","format":"uuid","nullable":true},"isYes":{"type":"boolean","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"text":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"isDirectory":{"type":"boolean"},"orderNumber":{"type":"integer","format":"int32"},"singleCategoryIdentifier":{"type":"string","format":"uuid","nullable":true},"singleCategory":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel"},"options":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel"},"nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel"},"nullable":true},"hasImage":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel":{"required":["label","value"],"type":"object","properties":{"label":{"type":"string","nullable":true},"value":{"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":{"/settings":{"get":{"tags":["Settings"],"summary":"Get all settings for the organization.","description":"Retrieves a paginated list of all settings for the current organization.","parameters":[{"name":"pageNumber","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"parentObjectIdentifier","in":"query","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingReadModel"}}}}},"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 settings by object identifiers.

> Retrieves settings by a list of object identifiers.

```json
{"openapi":"3.0.4","info":{"title":"Settings Service API","version":"v1"},"servers":[{"url":"https://settings.{region}.jylo.ai","variables":{"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.Integrations.Settings.Models.SettingReadModel":{"required":["description","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"dataType":{"type":"string","nullable":true},"resourceTypeIdentifier":{"type":"string","format":"uuid","nullable":true},"isYes":{"type":"boolean","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"text":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"isDirectory":{"type":"boolean"},"orderNumber":{"type":"integer","format":"int32"},"singleCategoryIdentifier":{"type":"string","format":"uuid","nullable":true},"singleCategory":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel"},"options":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel"},"nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel"},"nullable":true},"hasImage":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel":{"required":["label","value"],"type":"object","properties":{"label":{"type":"string","nullable":true},"value":{"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":{"/settings/setting-identifiers":{"get":{"tags":["Settings"],"summary":"Get settings by object identifiers.","description":"Retrieves settings by a list of object identifiers.","parameters":[{"name":"settingIdentifiers","in":"query","schema":{"type":"array","items":{"type":"string","format":"uuid"}}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingReadModel"}}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingReadModel"}}},"text/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingReadModel"}}}}},"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"}}}}}}}}}
```

## Update a setting by object identifier.

> Updates a setting by its object identifier.

```json
{"openapi":"3.0.4","info":{"title":"Settings Service API","version":"v1"},"servers":[{"url":"https://settings.{region}.jylo.ai","variables":{"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.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.Toolkit.Integrations.Settings.Models.SettingReadModel":{"required":["description","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"dataType":{"type":"string","nullable":true},"resourceTypeIdentifier":{"type":"string","format":"uuid","nullable":true},"isYes":{"type":"boolean","nullable":true},"decimalValue":{"type":"number","format":"double","nullable":true},"text":{"type":"string","nullable":true},"objectIdentifier":{"type":"string","format":"uuid"},"dateAdded":{"type":"string","format":"date-time"},"isDirectory":{"type":"boolean"},"orderNumber":{"type":"integer","format":"int32"},"singleCategoryIdentifier":{"type":"string","format":"uuid","nullable":true},"singleCategory":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel"},"options":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel"},"nullable":true},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel"},"nullable":true},"hasImage":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Integrations.Settings.Models.SettingOptionModel":{"required":["label","value"],"type":"object","properties":{"label":{"type":"string","nullable":true},"value":{"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":{"/settings/{settingObjectIdentifier}":{"patch":{"tags":["Settings"],"summary":"Update a setting by object identifier.","description":"Updates a setting by its object identifier.","parameters":[{"name":"settingObjectIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.MultiTypeInputWriteModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.MultiTypeInputWriteModel"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.API.Models.MultiTypeInputWriteModel"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingReadModel"}},"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingReadModel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Integrations.Settings.Models.SettingReadModel"}}}},"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"}}}}}}}}}
```


# Inference


# Completions

## Creates a new chat completion response

> Sends a chat completion request to generate AI responses based on the provided messages. Supports both streaming and non-streaming modes with automatic token billing.

```json
{"openapi":"3.0.4","info":{"title":"Inference 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.Inference.Core.Models.ChatCompletionRequest":{"required":["messages"],"type":"object","properties":{"messages":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Inference.Core.Models.Message"},"nullable":true},"stream":{"type":"boolean"},"response_format":{"$ref":"#/components/schemas/Jylo.Inference.Core.Models.ResponseFormat"},"max_tokens":{"type":"integer","format":"int32","nullable":true},"tools":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Inference.Core.Models.Tool"},"nullable":true},"source":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Inference.Core.Models.Message":{"required":["role"],"type":"object","properties":{"role":{"type":"string","nullable":true},"content":{"type":"string","nullable":true},"tool_call_id":{"type":"string","nullable":true},"tool_calls":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Inference.Core.Models.ToolCall"},"nullable":true}},"additionalProperties":false},"Jylo.Inference.Core.Models.ToolCall":{"required":["function","id","type"],"type":"object","properties":{"id":{"type":"string","nullable":true},"type":{"type":"string","nullable":true},"function":{"$ref":"#/components/schemas/Jylo.Inference.Core.Models.FunctionCall"}},"additionalProperties":false},"Jylo.Inference.Core.Models.FunctionCall":{"required":["arguments","name"],"type":"object","properties":{"name":{"type":"string","nullable":true},"arguments":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Inference.Core.Models.ResponseFormat":{"required":["type"],"type":"object","properties":{"type":{"type":"string","nullable":true},"schema":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Inference.Core.Models.Tool":{"required":["description","name","parameters"],"type":"object","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"parameters":{"nullable":true}},"additionalProperties":false},"Jylo.Inference.Core.Models.ChatCompletionResponse":{"required":["choices"],"type":"object","properties":{"id":{"type":"string","nullable":true},"model":{"type":"string","nullable":true},"choices":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Inference.Core.Models.Choice"},"nullable":true},"usage":{"$ref":"#/components/schemas/Jylo.Inference.Core.Models.Usage"}},"additionalProperties":false},"Jylo.Inference.Core.Models.Choice":{"required":["message"],"type":"object","properties":{"index":{"type":"integer","format":"int32"},"message":{"$ref":"#/components/schemas/Jylo.Inference.Core.Models.Message"},"finishReason":{"type":"string","nullable":true}},"additionalProperties":false},"Jylo.Inference.Core.Models.Usage":{"type":"object","properties":{"promptTokens":{"type":"integer","format":"int32"},"completionTokens":{"type":"integer","format":"int32"},"totalTokens":{"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":{"/inference/completions/{modelIdentifier}":{"post":{"tags":["Completions"],"summary":"Creates a new chat completion response","description":"Sends a chat completion request to generate AI responses based on the provided messages. Supports both streaming and non-streaming modes with automatic token billing.","parameters":[{"name":"modelIdentifier","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Inference.Core.Models.ChatCompletionRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Inference.Core.Models.ChatCompletionRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Inference.Core.Models.ChatCompletionRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Inference.Core.Models.ChatCompletionResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"500":{"description":"Internal Server Error"}}}}}}
```


# Embeddings

## Generates embeddings for text input

> Converts the provided text into numerical vector representations (embeddings) for semantic analysis, similarity search, and machine learning applications.

```json
{"openapi":"3.0.4","info":{"title":"Inference 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.Entities.ChatCompletion.Embeddings.EmbeddingsRequest":{"required":["input"],"type":"object","properties":{"input":{"type":"string","nullable":true},"dimensions":{"type":"integer","format":"int32","nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.Embeddings.Embeddings":{"type":"object","properties":{"object":{"type":"string","nullable":true},"data":{"type":"array","items":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.Embeddings.EmbeddingsResult"},"nullable":true},"model":{"type":"string","nullable":true},"usage":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.Embeddings.EmbeddingsUsage"}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.Embeddings.EmbeddingsResult":{"type":"object","properties":{"object":{"type":"string","nullable":true},"index":{"type":"integer","format":"int32"},"embedding":{"type":"array","items":{"type":"number","format":"float"},"nullable":true}},"additionalProperties":false},"Jylo.Toolkit.Entities.ChatCompletion.Embeddings.EmbeddingsUsage":{"type":"object","properties":{"prompt_tokens":{"type":"integer","format":"int32"},"total_tokens":{"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":{"/inference/embeddings":{"post":{"tags":["Embeddings"],"summary":"Generates embeddings for text input","description":"Converts the provided text into numerical vector representations (embeddings) for semantic analysis, similarity search, and machine learning applications.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.Embeddings.EmbeddingsRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.Embeddings.EmbeddingsRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.Embeddings.EmbeddingsRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Jylo.Toolkit.Entities.ChatCompletion.Embeddings.Embeddings"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"402":{"description":"Payment Required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"}}}},"500":{"description":"Internal Server Error"}}}}}}
```


