Affinda · Arazzo Workflow

Affinda Provision Workspace and Collection

Version 1.0.0

Create a workspace inside an organization and a collection bound to an extractor within it.

1 workflow 1 source API 1 provider
View Spec View on GitHub AIArtificial IntelligenceDocument ProcessingIntelligent Document ProcessingIDPOCRResume ParsingInvoice ParsingReceipt ParsingDocument ExtractionDocument ClassificationDocument SplittingRecruitmentBankingInsuranceLogisticsHealthcareGovernmentArazzoWorkflows

Provider

affinda

Workflows

provision-workspace-and-collection
Create a workspace then a collection bound to an extractor inside it.
Creates a workspace within the supplied organization and then a collection in that workspace that uses the supplied extractor.
2 steps inputs: collectionName, extractor, organization, workspaceName outputs: collectionIdentifier, workspaceIdentifier
1
createWorkspace
createWorkspace
Create a workspace within the organization to group collections and documents.
2
createCollection
createCollection
Create a collection inside the new workspace bound to the chosen extractor, which defines how uploaded documents are parsed.

Source API Descriptions

Arazzo Workflow Specification

affinda-provision-workspace-collection-workflow.yml Raw ↑
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