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

# 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},"playbookPromptConditionIdentifier":{"type":"string","format":"uuid"},"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},"playbookPromptConditionIdentifier":{"type":"string","format":"uuid"},"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},"playbookPromptConditionIdentifier":{"type":"string","format":"uuid"},"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},"playbookPromptConditionIdentifier":{"type":"string","format":"uuid"},"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},"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.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},"playbookPromptConditionIdentifier":{"type":"string","format":"uuid"},"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"],"type":"string"},"Jylo.Toolkit.Sorting.ItemFiltering":{"enum":["equals","contains","doesNotContain","doesNotEqual"],"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"},"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}},"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"},"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"},"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"},"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"},"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"},"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"}},"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"}},"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"}},"additionalProperties":false},"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}},"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"},"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"},"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.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},"playbookReferenceMaterialIdentifier":{"type":"string","format":"uuid","nullable":true},"isLocked":{"type":"boolean"},"isRequired":{"type":"boolean"}},"additionalProperties":false},"Jylo.Toolkit.Projects.Enums.ReferenceMaterialType":{"enum":["boolean","categories","decimal","dateTime","text","documents"],"type":"string"},"Jylo.Projects.Services.Features.FlowReferenceMaterials.Contracts.Responses.FlowReferenceMaterialResponse":{"required":["name","objectIdentifier"],"type":"object","properties":{"objectIdentifier":{"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"},"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":{"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"},"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"},"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.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"},"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"},"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.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.

```json
{"openapi":"3.0.4","info":{"title":"Project API","version":"v1"},"servers":[{"url":"https://api.{tenant}.{region}.jylo.ai","variables":{"tenant":{"default":"example","description":"Tenant name"},"region":{"default":"uk","description":"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.","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"}}}}}}}}}
```


---

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

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

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

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

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

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

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