> ## Documentation Index
> Fetch the complete documentation index at: https://developers.argosidentity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Run your first Omni verification workflow end-to-end in minutes.

This guide walks you through the complete Omni API flow: creating a profile, uploading documents, and running an analysis.

## Prerequisites

* An Omni API key ([get one here](/en/omni/getting-started/authentication))
* A project with at least one configured workflow

<Info>
  If you have not set up a workflow yet, create one in the Omni dashboard before you follow the steps below. See [Creating a workflow](/en/omni/guides/creating-a-workflow) for the full walkthrough.
</Info>

## End-to-End Flow

<Steps>
  <Step title="Get Your Project and Workflow">
    First, retrieve your project to find the available workflows.

    ```bash theme={null}
    curl -X GET "http://client-omni-api.argosidentity.com/v1/projects/{projectId}" \
      -H "x-api-key: your-api-key-here"
    ```

    Note the `workflowId` you want to use from the response.
  </Step>

  <Step title="Create a Profile">
    Create a new profile under your workflow. Each profile represents one verification case.

    ```bash theme={null}
    curl -X POST "http://client-omni-api.argosidentity.com/v1/workflows/{workflowId}/profiles" \
      -H "x-api-key: your-api-key-here" \
      -H "Content-Type: application/json" \
      -d '{
        "name": "Acme Corp - KYB Verification"
      }'
    ```

    The response includes the `profileId` and a default folder.
  </Step>

  <Step title="Upload Items">
    Upload documents to the default folder. Omni supports images (JPG, PNG), PDFs, and office documents.

    ```bash theme={null}
    curl -X POST "http://client-omni-api.argosidentity.com/v1/folders/{folderId}/items/upload" \
      -H "x-api-key: your-api-key-here" \
      -F "file=@/path/to/id-document.jpg" \
      -F "type=file"
    ```

    <Note>
      Max file size: **10MB**. Max items per folder: **5**. Supported formats: JPG, PNG, PDF, TXT, DOC, DOCX, XLS, XLSX, BMP, TIFF, WEBP, CSV, HTML, MD.
    </Note>
  </Step>

  <Step title="Wait for Processing">
    After upload, items go through automatic processing (OCR, text extraction). Poll the status until all items are `ACTIVE`.

    ```bash theme={null}
    curl -X GET "http://client-omni-api.argosidentity.com/v1/profiles/{profileId}/items/status" \
      -H "x-api-key: your-api-key-here"
    ```

    ```json theme={null}
    {
      "total": 1,
      "pending": 0,
      "active": 1,
      "failed": 0
    }
    ```

    <Tip>
      Poll at **1-second intervals** with a **60-second timeout**. All items must reach `ACTIVE` status before running analysis.
    </Tip>
  </Step>

  <Step title="Run Analysis">
    Once all items are active, trigger the analysis. The workflow's policy, engines, and output schema are applied automatically.

    ```bash theme={null}
    curl -X POST "http://client-omni-api.argosidentity.com/v1/profiles/{profileId}/analyze" \
      -H "x-api-key: your-api-key-here"
    ```

    The analysis runs asynchronously. Poll the profile to check for results.
  </Step>

  <Step title="Retrieve Results">
    Once analysis is complete, retrieve the structured results.

    ```bash theme={null}
    curl -X GET "http://client-omni-api.argosidentity.com/v1/profiles/{profileId}" \
      -H "x-api-key: your-api-key-here"
    ```

    Results follow your workflow's output schema; the `decision` object includes `verificationStatus` (`pending_review`, `approved`, or `rejected`).
  </Step>
</Steps>

## What's Next?

<CardGroup cols={2}>
  <Card title="Dashboard" icon="sliders" href="/en/omni/dashboard/overview">
    Learn how to configure workflows, policies, and engines in the dashboard.
  </Card>

  <Card title="API Reference" icon="code" href="/en/omni/api-reference/overview">
    Explore the full API documentation.
  </Card>
</CardGroup>
