arazzo: 1.0.1 info: title: Affinda Provision Workspace and Collection summary: Create a workspace inside an organization and a collection bound to an extractor within it. description: >- Stands up the container hierarchy needed before documents can be parsed. A new workspace is created under an organization, then a collection is created inside that workspace and bound to an extractor that determines how documents are parsed. The resulting collection identifier is the target for subsequent document uploads. Every step spells out its request inline so the flow can be read and executed without opening the underlying OpenAPI description. Note: the collections endpoints are marked deprecated in the v3 specification but remain the documented way to bind an extractor to a document container. version: 1.0.0 sourceDescriptions: - name: affindaV3Api url: ../openapi/affinda-v3-openapi.yml type: openapi workflows: - workflowId: provision-workspace-and-collection summary: Create a workspace then a collection bound to an extractor inside it. description: >- Creates a workspace within the supplied organization and then a collection in that workspace that uses the supplied extractor. inputs: type: object required: - organization - workspaceName - collectionName - extractor properties: organization: type: string description: The organization identifier to create the workspace under. workspaceName: type: string description: The display name for the new workspace. collectionName: type: string description: The display name for the new collection. extractor: type: string description: The extractor identifier the collection should use (e.g. "resume"). steps: - stepId: createWorkspace description: >- Create a workspace within the organization to group collections and documents. operationId: createWorkspace requestBody: contentType: application/json payload: organization: $inputs.organization name: $inputs.workspaceName successCriteria: - condition: $statusCode == 201 outputs: workspaceIdentifier: $response.body#/identifier - stepId: createCollection description: >- Create a collection inside the new workspace bound to the chosen extractor, which defines how uploaded documents are parsed. operationId: createCollection requestBody: contentType: application/json payload: name: $inputs.collectionName workspace: $steps.createWorkspace.outputs.workspaceIdentifier extractor: $inputs.extractor successCriteria: - condition: $statusCode == 201 outputs: collectionIdentifier: $response.body#/identifier outputs: workspaceIdentifier: $steps.createWorkspace.outputs.workspaceIdentifier collectionIdentifier: $steps.createCollection.outputs.collectionIdentifier