﻿{
	"openapi": "3.0.4",
	"info": {
		"title": "collect-api",
		"version": "1"
	},
	"paths": {
		"/collect-services/v1/CollectAPI/{workspaceArtifactId}/collection": {
			"put": {
				"tags": [
					"CollectAPI"
				],
				"summary": "Create a new Collect collection",
				"description": "Creates a collection with the specified custodians, source instances, and optional auto-processing configuration. Requires MatterArtifactId, SourceInstances, and Entities — retrieve these using the ObjectManagerAPI endpoints before calling this operation.",
				"parameters": [
					{
						"name": "workspaceArtifactId",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "x-csrf-header",
						"in": "header",
						"description": "Instance Header",
						"required": true,
						"schema": {
						"type": "string",
						"default": "-"
						}
					}
				],
				"requestBody": {
					"content": {
						"application/json-patch+json": {
							"schema": {
								"$ref": "#/components/schemas/CreateCollectionAPIModel"
							}
						},
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/CreateCollectionAPIModel"
							}
						},
						"text/json": {
							"schema": {
								"$ref": "#/components/schemas/CreateCollectionAPIModel"
							}
						},
						"application/*+json": {
							"schema": {
								"$ref": "#/components/schemas/CreateCollectionAPIModel"
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/StringListActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/StringListActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/StringListActionResult"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							}
						}
					}
				}
			}
		},
		"/collect-services/v1/CollectAPI/{workspaceArtifactId}/collection/{collectionArtifactId}/start-target-generation": {
			"post": {
				"tags": [
					"CollectAPI"
				],
				"summary": "Begin target generation for a collection",
				"description": "Initiates target generation, which resolves each custodian to their available data sources. Must complete successfully before calling start-collection. Returns 400 if the collection is already past the New or Not Started state.",
				"parameters": [
					{
						"name": "workspaceArtifactId",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "collectionArtifactId",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "x-csrf-header",
						"in": "header",
						"description": "Instance Header",
						"required": true,
						"schema": {
							"type": "string",
							"default": "-"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/StringListActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/StringListActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/StringListActionResult"
								}
							}
						}
					},
					"400": {
						"description": "Bad Request",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							}
						}
					}
				}
			}
		},
		"/collect-services/v1/CollectAPI/{workspaceArtifactId}/collection/{collectionArtifactId}/target-generation": {
			"get": {
				"tags": [
					"CollectAPI"
				],
				"summary": "Get target generation status and results",
				"description": "Returns the current status and resolved targets from the target generation phase. Poll this endpoint after calling start-target-generation. When JobStatus indicates completion, review the Targets array before proceeding to start-collection.",
				"parameters": [
					{
						"name": "workspaceArtifactId",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "collectionArtifactId",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/StringListActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/StringListActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/StringListActionResult"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							}
						}
					}
				}
			}
		},
		"/collect-services/v1/CollectAPI/{workspaceArtifactId}/collection/{collectionArtifactId}/start-collection": {
			"patch": {
				"tags": [
					"CollectAPI"
				],
				"summary": "Start active data collection",
				"description": "Triggers active data collection for the specified collection. Call this after target generation completes successfully. Returns 400 if the collection is not in the Not Started state, or if no valid custodial or non-custodial targets exist.",
				"parameters": [
					{
						"name": "workspaceArtifactId",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "collectionArtifactId",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "x-csrf-header",
						"in": "header",
						"description": "Instance Header",
						"required": true,
						"schema": {
							"type": "string",
							"default": "-"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/StartJobResultActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/StartJobResultActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/StartJobResultActionResult"
								}
							}
						}
					},
					"400": {
						"description": "Bad Request",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							}
						}
					},
					"404": {
						"description": "Not Found",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							}
						}
					}
				}
			}
		},
		"/collect-services/v1/CollectAPI/{workspaceArtifactId}/collection/{collectionArtifactId}": {
			"get": {
				"tags": [
					"CollectAPI"
				],
				"summary": "Get collection status and progress",
				"description": "Returns the current state, progress, and per-target details for the specified collection. Use this to monitor an in-progress collection or retrieve final results after completion.",
				"parameters": [
					{
						"name": "workspaceArtifactId",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "collectionArtifactId",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					}
				],
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/CollectionJobModelActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/CollectionJobModelActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/CollectionJobModelActionResult"
								}
							}
						}
					},
					"400": {
						"description": "Bad Request",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							}
						}
					},
					"404": {
						"description": "Not Found",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							}
						}
					},
					"500": {
						"description": "Internal Server Error",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ActionResult"
								}
							}
						}
					}
				}
			}
		},
		"/collect-services/v1/CollectAPI/{workspaceArtifactId}/collection/{collectionArtifactId}/stop": {
			"patch": {
				"tags": [
					"CollectAPI"
				],
				"summary": "Stop a running collection",
				"description": "Requests cancellation of an in-progress collection. Only valid when the collection is in Started or Queued state — returns 409 Conflict otherwise. Returns 202 Accepted; the actual stop happens asynchronously.",
				"parameters": [
					{
						"name": "workspaceArtifactId",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "collectionArtifactId",
						"in": "path",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "x-csrf-header",
						"in": "header",
						"description": "Instance Header",
						"required": true,
						"schema": {
							"type": "string",
							"default": "-"
						}
					}
				],
				"responses": {
					"202": {
						"description": "Accepted"
					},
					"400": {
						"description": "Bad Request",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ProblemDetails"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ProblemDetails"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ProblemDetails"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ProblemDetails"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ProblemDetails"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ProblemDetails"
								}
							}
						}
					},
					"404": {
						"description": "Not Found",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ProblemDetails"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ProblemDetails"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ProblemDetails"
								}
							}
						}
					},
					"409": {
						"description": "Conflict",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/ProblemDetails"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ProblemDetails"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/ProblemDetails"
								}
							}
						}
					}
				}
			}
		},
		"/Relativity.Rest/api/Relativity.ObjectManager/v1/workspace/-1/object/queryslim": {
			"post": {
				"tags": [
					"ObjectManagerAPI"
				],
				"operationId": "GetWorkspaces",
				"summary": "Get Workspaces",
				"description": "Lists all workspaces. Copied from the Collect API Demo Postman collection (Get Workpaces). Use workspace context -1. The ArtifactID of each result feeds workspaceId in subsequent Object Manager and Collect API calls.",
				"parameters": [
					{
						"name": "x-csrf-header",
						"in": "header",
						"description": "Required CSRF header. Set to any non-empty string.",
						"required": true,
						"schema": {
							"type": "string",
							"default": "-"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/GetWorkspacesRequest"
							},
							"example": {
								"request": {
									"objectType": {
										"name": "Workspace"
									},
									"fields": [
										{
											"name": "Name"
										}
									]
								},
								"start": 1,
								"length": 100
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/QuerySlimResponse"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/QuerySlimResponse"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/QuerySlimResponse"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized — Bearer token is missing or expired. Re-run the token call to obtain a new token."
					},
					"403": {
						"description": "Forbidden — The caller does not have sufficient permissions."
					},
					"404": {
						"description": "Not Found — The object type name is incorrect for this context."
					},
					"429": {
						"description": "Too Many Requests — Rate limit exceeded. Check the RateLimit-Reset response header for the number of seconds to wait before retrying."
					}
				}
			}
		},
		"/Relativity.Rest/api/Relativity.ObjectManager/v1/workspace/{workspaceId}/object/queryslim": {
			"post": {
				"tags": [
					"ObjectManagerAPI"
				],
				"operationId": "GetMatters",
				"summary": "Get Matters",
				"description": "Returns Matters in the workspace. Object type GUID b74ff7b4-c912-4d09-bd26-cbf28985a657. The ArtifactID of each result feeds MatterArtifactId in the Create Collection request.",
				"parameters": [
					{
						"name": "workspaceId",
						"in": "path",
						"description": "ArtifactID of the workspace to query. Retrieve this from Get Workspaces.",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "x-csrf-header",
						"in": "header",
						"description": "Required CSRF header. Set to any non-empty string.",
						"required": true,
						"schema": {
							"type": "string",
							"default": "-"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/GetMattersRequest"
							},
							"example": {
								"request": {
									"objectType": {
										"guid": "b74ff7b4-c912-4d09-bd26-cbf28985a657"
									},
									"fields": [
										{
											"name": "Name"
										}
									]
								},
								"start": 1,
								"length": 100
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/QuerySlimResponse"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/QuerySlimResponse"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/QuerySlimResponse"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized — Bearer token is missing or expired. Re-run the token call to obtain a new token."
					},
					"403": {
						"description": "Forbidden — The caller does not have access to this workspace."
					},
					"404": {
						"description": "Not Found — The object type GUID was not found in this workspace. Confirm Collect is installed and the X-CSRF-Header is set."
					},
					"429": {
						"description": "Too Many Requests — Rate limit exceeded. Check the RateLimit-Reset response header for the number of seconds to wait before retrying."
					}
				}
			}
		},
		"/Relativity.Rest/api/Relativity.ObjectManager/v1/workspace/{workspaceId}/object/queryslim?GetSourceInstances": {
			"post": {
				"tags": [
					"ObjectManagerAPI"
				],
				"operationId": "GetSourceInstances",
				"summary": "Get Source Instances",
				"description": "Returns Collect Source Instances in the workspace. Object type GUID 503A479A-18E4-406B-9537-AA74523B5A0C. The ArtifactID of each result feeds the SourceInstances array in the Create Collection request.",
				"parameters": [
					{
						"name": "workspaceId",
						"in": "path",
						"description": "ArtifactID of the workspace to query. Retrieve this from Get Workspaces.",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "x-csrf-header",
						"in": "header",
						"description": "Required CSRF header. Set to any non-empty string.",
						"required": true,
						"schema": {
							"type": "string",
							"default": "-"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/GetSourceInstancesRequest"
							},
							"example": {
								"request": {
									"objectType": {
										"guid": "503A479A-18E4-406B-9537-AA74523B5A0C"
									},
									"fields": [
										{
											"name": "Source Name"
										},
										{
											"name": "Source Type"
										}
									]
								},
								"start": 1,
								"length": 100
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/QuerySlimResponse"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/QuerySlimResponse"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/QuerySlimResponse"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized — Bearer token is missing or expired. Re-run the token call to obtain a new token."
					},
					"403": {
						"description": "Forbidden — The caller does not have access to this workspace."
					},
					"404": {
						"description": "Not Found — The object type GUID was not found in this workspace. Confirm Collect is installed and the X-CSRF-Header is set."
					},
					"429": {
						"description": "Too Many Requests — Rate limit exceeded. Check the RateLimit-Reset response header for the number of seconds to wait before retrying."
					}
				}
			}
		},
		"/Relativity.Rest/api/Relativity.ObjectManager/v1/workspace/{workspaceId}/object/queryslim?GetEntities": {
			"post": {
				"tags": [
					"ObjectManagerAPI"
				],
				"operationId": "GetEntities",
				"summary": "Get Entities",
				"description": "Returns Entities (custodians) in the workspace. Object type GUID D216472D-A1AA-4965-8B36-367D43D4E64C. The ArtifactID of each result feeds the Entities array in the Create Collection request. Use field name 'Full Name' — 'Name' returns empty values.",
				"parameters": [
					{
						"name": "workspaceId",
						"in": "path",
						"description": "ArtifactID of the workspace to query. Retrieve this from Get Workspaces.",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "x-csrf-header",
						"in": "header",
						"description": "Required CSRF header. Set to any non-empty string.",
						"required": true,
						"schema": {
							"type": "string",
							"default": "-"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/GetEntitiesRequest"
							},
							"example": {
								"request": {
									"objectType": {
										"guid": "D216472D-A1AA-4965-8B36-367D43D4E64C"
									},
									"fields": [
										{
											"name": "Full Name"
										},
										{
											"name": "Email"
										}
									]
								},
								"start": 1,
								"length": 100
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/QuerySlimResponse"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/QuerySlimResponse"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/QuerySlimResponse"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized — Bearer token is missing or expired. Re-run the token call to obtain a new token."
					},
					"403": {
						"description": "Forbidden — The caller does not have access to this workspace."
					},
					"404": {
						"description": "Not Found — The object type GUID was not found in this workspace. Confirm Collect is installed and the X-CSRF-Header is set."
					},
					"429": {
						"description": "Too Many Requests — Rate limit exceeded. Check the RateLimit-Reset response header for the number of seconds to wait before retrying."
					}
				}
			}
		},
		"/Relativity.Rest/api/Relativity.ObjectManager/v1/workspace/{workspaceId}/object/queryslim?GetProcessingProfiles": {
			"post": {
				"tags": [
					"ObjectManagerAPI"
				],
				"operationId": "GetProcessingProfiles",
				"summary": "Get Processing Profiles",
				"description": "Returns Processing Profiles in the workspace. Object type GUID 4be0a8e2-c236-4dac-b8df-e7944b84cee5. Use a workspace where Processing is installed. The ArtifactID feeds AutoProcessingProcessingProfileId in the Create Collection request.",
				"parameters": [
					{
						"name": "workspaceId",
						"in": "path",
						"description": "ArtifactID of a workspace with Processing installed. Retrieve this from Get Workspaces.",
						"required": true,
						"schema": {
							"type": "integer",
							"format": "int32"
						}
					},
					{
						"name": "x-csrf-header",
						"in": "header",
						"description": "Required CSRF header. Set to any non-empty string.",
						"required": true,
						"schema": {
							"type": "string",
							"default": "-"
						}
					}
				],
				"requestBody": {
					"required": true,
					"content": {
						"application/json": {
							"schema": {
								"$ref": "#/components/schemas/GetProcessingProfilesRequest"
							},
							"example": {
								"request": {
									"objectType": {
										"guid": "4be0a8e2-c236-4dac-b8df-e7944b84cee5"
									},
									"fields": [
										{
											"name": "Name"
										}
									]
								},
								"start": 1,
								"length": 100
							}
						}
					}
				},
				"responses": {
					"200": {
						"description": "OK",
						"content": {
							"text/plain": {
								"schema": {
									"$ref": "#/components/schemas/QuerySlimResponse"
								}
							},
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/QuerySlimResponse"
								}
							},
							"text/json": {
								"schema": {
									"$ref": "#/components/schemas/QuerySlimResponse"
								}
							}
						}
					},
					"401": {
						"description": "Unauthorized — Bearer token is missing or expired. Re-run the token call to obtain a new token."
					},
					"403": {
						"description": "Forbidden — The caller does not have access to this workspace."
					},
					"404": {
						"description": "Not Found — The object type GUID was not found in this workspace. Confirm Collect is installed and the X-CSRF-Header is set."
					},
					"429": {
						"description": "Too Many Requests — Rate limit exceeded. Check the RateLimit-Reset response header for the number of seconds to wait before retrying."
					}
				}
			}
		}
	},
	"components": {
		"schemas": {
			"ActionResult": {
				"type": "object",
				"additionalProperties": false
			},
			"GetWorkspacesRequest": {
				"type": "object",
				"description": "Get Workspaces — from Collect API Demo Postman collection.",
				"required": ["request", "start", "length"],
				"properties": {
					"request": {
						"type": "object",
						"required": ["objectType", "fields"],
						"properties": {
							"objectType": {
								"type": "object",
								"required": ["name"],
								"properties": {
									"name": {
										"type": "string",
										"enum": ["Workspace"]
									}
								}
							},
							"fields": {
								"type": "array",
								"items": {
									"type": "object",
									"properties": {
										"name": {
											"type": "string",
											"enum": ["Name"]
										}
									}
								}
							}
						}
					},
					"start": {
						"type": "integer",
						"format": "int32",
						"default": 1
					},
					"length": {
						"type": "integer",
						"format": "int32",
						"default": 100
					}
				},
				"additionalProperties": false,
				"example": {
					"request": {
						"objectType": { "name": "Workspace" },
						"fields": [{ "name": "Name" }]
					},
					"start": 1,
					"length": 100
				}
			},
			"GetMattersRequest": {
				"type": "object",
				"description": "Get Matters — from Collect API Demo Postman collection. Object type GUID b74ff7b4-c912-4d09-bd26-cbf28985a657.",
				"required": ["request", "start", "length"],
				"properties": {
					"request": {
						"type": "object",
						"required": ["objectType", "fields"],
						"properties": {
							"objectType": {
								"type": "object",
								"required": ["guid"],
								"properties": {
									"guid": {
										"type": "string",
										"enum": ["b74ff7b4-c912-4d09-bd26-cbf28985a657"]
									}
								}
							},
							"fields": {
								"type": "array",
								"items": {
									"type": "object",
									"properties": {
										"name": {
											"type": "string",
											"enum": ["Name"]
										}
									}
								}
							}
						}
					},
					"start": {
						"type": "integer",
						"format": "int32",
						"default": 1
					},
					"length": {
						"type": "integer",
						"format": "int32",
						"default": 100
					}
				},
				"additionalProperties": false,
				"example": {
					"request": {
						"objectType": { "guid": "b74ff7b4-c912-4d09-bd26-cbf28985a657" },
						"fields": [{ "name": "Name" }]
					},
					"start": 1,
					"length": 100
				}
			},
			"GetSourceInstancesRequest": {
				"type": "object",
				"description": "Get Source Instances — from Collect API Demo Postman collection. Object type GUID 503A479A-18E4-406B-9537-AA74523B5A0C.",
				"required": ["request", "start", "length"],
				"properties": {
					"request": {
						"type": "object",
						"required": ["objectType", "fields"],
						"properties": {
							"objectType": {
								"type": "object",
								"required": ["guid"],
								"properties": {
									"guid": {
										"type": "string",
										"enum": ["503A479A-18E4-406B-9537-AA74523B5A0C"]
									}
								}
							},
							"fields": {
								"type": "array",
								"items": {
									"type": "object",
									"properties": {
										"name": {
											"type": "string",
											"enum": ["Source Name", "Source Type"]
										}
									}
								}
							}
						}
					},
					"start": {
						"type": "integer",
						"format": "int32",
						"default": 1
					},
					"length": {
						"type": "integer",
						"format": "int32",
						"default": 100
					}
				},
				"additionalProperties": false,
				"example": {
					"request": {
						"objectType": { "guid": "503A479A-18E4-406B-9537-AA74523B5A0C" },
						"fields": [
							{ "name": "Source Name" },
							{ "name": "Source Type" }
						]
					},
					"start": 1,
					"length": 100
				}
			},
			"GetEntitiesRequest": {
				"type": "object",
				"description": "Get Entities — from Collect API Demo Postman collection. Object type GUID D216472D-A1AA-4965-8B36-367D43D4E64C.",
				"required": ["request", "start", "length"],
				"properties": {
					"request": {
						"type": "object",
						"required": ["objectType", "fields"],
						"properties": {
							"objectType": {
								"type": "object",
								"required": ["guid"],
								"properties": {
									"guid": {
										"type": "string",
										"enum": ["D216472D-A1AA-4965-8B36-367D43D4E64C"]
									}
								}
							},
							"fields": {
								"type": "array",
								"items": {
									"type": "object",
									"properties": {
										"name": {
											"type": "string",
											"enum": ["Full Name", "Email"]
										}
									}
								}
							}
						}
					},
					"start": {
						"type": "integer",
						"format": "int32",
						"default": 1
					},
					"length": {
						"type": "integer",
						"format": "int32",
						"default": 100
					}
				},
				"additionalProperties": false,
				"example": {
					"request": {
						"objectType": { "guid": "D216472D-A1AA-4965-8B36-367D43D4E64C" },
						"fields": [
							{ "name": "Full Name" },
							{ "name": "Email" }
						]
					},
					"start": 1,
					"length": 100
				}
			},
			"GetProcessingProfilesRequest": {
				"type": "object",
				"description": "Get Processing Profiles — from Collect API Demo Postman collection. Object type GUID 4be0a8e2-c236-4dac-b8df-e7944b84cee5.",
				"required": ["request", "start", "length"],
				"properties": {
					"request": {
						"type": "object",
						"required": ["objectType", "fields"],
						"properties": {
							"objectType": {
								"type": "object",
								"required": ["guid"],
								"properties": {
									"guid": {
										"type": "string",
										"enum": ["4be0a8e2-c236-4dac-b8df-e7944b84cee5"]
									}
								}
							},
							"fields": {
								"type": "array",
								"items": {
									"type": "object",
									"properties": {
										"name": {
											"type": "string",
											"enum": ["Name"]
										}
									}
								}
							}
						}
					},
					"start": {
						"type": "integer",
						"format": "int32",
						"default": 1
					},
					"length": {
						"type": "integer",
						"format": "int32",
						"default": 100
					}
				},
				"additionalProperties": false,
				"example": {
					"request": {
						"objectType": { "guid": "4be0a8e2-c236-4dac-b8df-e7944b84cee5" },
						"fields": [{ "name": "Name" }]
					},
					"start": 1,
					"length": 100
				}
			},
			"QuerySlimResponse": {
				"type": "object",
				"description": "Response from the Relativity Object Manager queryslim endpoint.",
				"properties": {
					"TotalCount": {
						"type": "integer",
						"format": "int32",
						"description": "Total number of objects matching the query. If 0 and results are expected, verify object type and workspace permissions."
					},
					"Objects": {
						"type": "array",
						"description": "Array of result objects. Each object contains an ArtifactID and a Values array. Values are ordered to match the Fields array at the bottom of the response.",
						"items": {
							"$ref": "#/components/schemas/QuerySlimObject"
						}
					},
					"CurrentStartIndex": {
						"type": "integer",
						"format": "int32",
						"description": "The start index of this result page."
					},
					"ResultCount": {
						"type": "integer",
						"format": "int32",
						"description": "Number of objects returned in this response page."
					},
					"Fields": {
						"type": "array",
						"description": "Metadata for each field returned, in the same order as Values in each Object.",
						"items": {
							"type": "object"
						},
						"nullable": true
					}
				},
				"additionalProperties": false
			},
			"QuerySlimObject": {
				"type": "object",
				"description": "A single result object returned by queryslim.",
				"properties": {
					"ArtifactID": {
						"type": "integer",
						"format": "int32",
						"description": "The unique Relativity identifier for this object. This is the value to supply in Collect API fields such as MatterArtifactId, SourceInstances, Entities, AutoProcessingWorkspaceId, and AutoProcessingProcessingProfileId."
					},
					"Values": {
						"type": "array",
						"description": "Field values in the same order as the Fields array. The display name (workspace name, matter name, entity full name, etc.) appears here.",
						"items": {},
						"nullable": true
					}
				},
				"additionalProperties": false
			},
			"CreateCollectionAPIModel": {
				"type": "object",
				"properties": {
					"CollectionName": {
						"type": "string",
						"nullable": true
					},
					"MatterArtifactId": {
						"type": "integer",
						"format": "int32"
					},
					"ProcessingSourceLocation": {
						"type": "string",
						"nullable": true
					},
					"JobNumber": {
						"type": "string",
						"nullable": true
					},
					"ZipCollectedFiles": {
						"type": "boolean"
					},
					"ZipPassword": {
						"type": "string",
						"nullable": true
					},
					"AutoProcessing": {
						"type": "boolean"
					},
					"AutoProcessingWorkspaceId": {
						"type": "integer",
						"format": "int32"
					},
					"AutoProcessingProcessingProfileId": {
						"type": "integer",
						"format": "int32"
					},
					"SelectedDocumentNumberingPrefixOption": {
						"type": "string",
						"nullable": true
					},
					"NotificationEmail": {
						"type": "string",
						"nullable": true
					},
					"SendEmailNotification": {
						"type": "boolean"
					},
					"Description": {
						"type": "string",
						"nullable": true
					},
					"SourceInstances": {
						"type": "array",
						"items": {
							"$ref": "#/components/schemas/SourceInstanceModel"
						},
						"nullable": true
					},
					"Entities": {
						"type": "array",
						"items": {
							"type": "integer",
							"format": "int32"
						},
						"nullable": true
					},
					"NoncustodialInstances": {
						"type": "array",
						"items": {
							"type": "integer",
							"format": "int32"
						},
						"nullable": true
					}
				},
				"additionalProperties": false
			},
			"StringListActionResult": {
				"type": "object",
				"properties": {
					"Result": {
						"$ref": "#/components/schemas/ActionResult"
					},
					"Value": {
						"type": "array",
						"items": {
							"type": "string"
						},
						"nullable": true
					}
				},
				"additionalProperties": false
			},
			"StartJobResultActionResult": {
				"type": "object",
				"properties": {
					"Result": {
						"$ref": "#/components/schemas/ActionResult"
					},
					"Value": {
						"$ref": "#/components/schemas/StartJobResult"
					}
				},
				"additionalProperties": false
			},
			"StartJobResult": {
				"type": "object",
				"properties": {
					"Success": {
						"type": "boolean"
					},
					"Message": {
						"type": "string",
						"nullable": true
					}
				},
				"additionalProperties": false
			},
			"ProblemDetails": {
				"type": "object",
				"properties": {
					"type": {
						"type": "string",
						"nullable": true
					},
					"title": {
						"type": "string",
						"nullable": true
					},
					"status": {
						"type": "integer",
						"format": "int32",
						"nullable": true
					},
					"detail": {
						"type": "string",
						"nullable": true
					},
					"instance": {
						"type": "string",
						"nullable": true
					}
				},
				"additionalProperties": {}
			},
			"CollectionJobModelActionResult": {
				"type": "object",
				"properties": {
					"Result": {
						"$ref": "#/components/schemas/ActionResult"
					},
					"Value": {
						"$ref": "#/components/schemas/CollectionJobModel"
					}
				},
				"additionalProperties": false
			},
			"SelectedCollectionDetailCustodiansModel": {
				"type": "object",
				"properties": {
					"Custodians": {
						"type": "array",
						"items": {
							"type": "integer",
							"format": "int32"
						},
						"nullable": true
					},
					"CollectionDetailId": {
						"type": "integer",
						"format": "int32"
					},
					"WorkspaceId": {
						"type": "integer",
						"format": "int32"
					}
				},
				"additionalProperties": false
			},
			"SourceInstanceModel": {
				"type": "object",
				"properties": {
					"ArtifactId": {
						"type": "integer",
						"format": "int32"
					},
					"Criteria": {
						"type": "array",
						"items": {
							"$ref": "#/components/schemas/SelectedCollectionCriteriaModel"
						},
						"nullable": true
					}
				},
				"additionalProperties": false
			},
			"SelectedCollectionCriteriaModel": {
				"type": "object",
				"properties": {
					"DataType": {
						"type": "string",
						"nullable": true
					},
					"FieldName": {
						"type": "string",
						"nullable": true
					},
					"Operator": {
						"type": "string",
						"nullable": true
					},
					"Value": {
						"type": "string",
						"nullable": true
					},
					"CriteriaDataType": {
						"$ref": "#/components/schemas/CriteriaDataType"
					}
				},
				"additionalProperties": false
			},
			"CriteriaDataType": {
				"enum": [
					0,
					1,
					2,
					3,
					4,
					5,
					6
				],
				"x-enumNames": [
					"Unknown",
					"String",
					"Integer",
					"Date",
					"Boolean",
					"Guid",
					"Decimal"
				],
				"type": "integer",
				"format": "int32"
			},
			"CollectionJobModel": {
				"type": "object",
				"properties": {
					"ArtifactId": {
						"type": "integer",
						"format": "int32"
					},
					"Name": {
						"type": "string",
						"nullable": true
					},
					"Status": {
						"type": "string",
						"nullable": true
					},
					"Targets": {
						"type": "array",
						"items": {
							"$ref": "#/components/schemas/CollectionJobTargetModel"
						},
						"nullable": true
					}
				},
				"additionalProperties": false
			},
			"CollectionJobTargetModel": {
				"type": "object",
				"properties": {
					"ArtifactId": {
						"type": "integer",
						"format": "int32"
					},
					"Target": {
						"type": "string",
						"nullable": true
					},
					"SourceInstance": {
						"type": "string",
						"nullable": true
					},
					"Items": {
						"type": "integer",
						"format": "int32"
					},
					"Errors": {
						"type": "integer",
						"format": "int32"
					},
					"Size": {
						"type": "integer",
						"format": "int64"
					},
					"StatusMessage": {
						"type": "string",
						"nullable": true
					},
					"State": {
						"type": "string",
						"nullable": true
					}
				},
				"additionalProperties": false
			}
		},
		"securitySchemes": {
			"Bearer": {
				"type": "http",
				"description": "Relativity Identity Service (RIS) bearer token to authenticate: https://platform.relativity.com/RelativityaiR/Content/REST_API/REST_API_authentication.htm#Bearertokenauthentication",
				"scheme": "bearer",
				"bearerFormat": "JWT"
			}
		}
	},
	"security": [
		{
			"Bearer": [
				"readAccess",
				"writeAccess"
			]
		}
	],
	"tags": [
		{
			"name": "CollectAPI"
		},
		{
			"name": "ObjectManagerAPI",
			"description": "Relativity Object Manager queryslim calls from the Collect API Demo Postman collection: Get Workspaces, Get Matters, Get Source Instances, Get Entities, and Get Processing Profiles. Use these to discover artifact IDs before creating Collect collections."
		}
	]
}