> ## Documentation Index
> Fetch the complete documentation index at: https://api-tools.memories.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Operation

> Poll an async operation

<Info>
  **Product**: Video Datalake
  **Host**: `https://api.memories.ai/datalake/v1`
  **Auth**: `Authorization: sk-mai-...`
</Info>

Poll any async task (ingest / delete / move). **Only trust `done`.** A non-null `error` means failure (including partial). Ingest progress runs `preprocess → index → derive`.

<Note>
  **Pricing:** Free — management / read (no charge). · See [Pricing](/datalake/pricing) for the full model.
</Note>

## Response Fields

<ResponseField name="done" type="boolean">**The only completion signal.** Poll until true.</ResponseField>
<ResponseField name="kind" type="string">`ingest` | `video_delete` | `collection_delete` | …</ResponseField>
<ResponseField name="progress" type="object">Ingest: `{preprocess, index, derive, percent}`; delete: `{purge, percent}`.</ResponseField>
<ResponseField name="error" type="object">Non-null `{code, message}` on failure.</ResponseField>


## OpenAPI

````yaml GET /datalake/v1/operations/{id}
openapi: 3.1.0
info:
  title: Memories.ai DataLake API 2.0
  version: 2026-08
  description: OpenAPI mapping used by Mintlify Try it for the DataLake API 2.0 docs.
servers:
  - url: https://api.memories.ai
security:
  - ApiKeyAuth: []
paths:
  /datalake/v1/operations/{id}:
    get:
      tags:
        - Operations & Usage
      summary: Poll an async operation
      description: >-
        Poll any async task (ingest / delete / move). **Only trust `done`.** A
        non-null `error` means failure (including partial). Ingest progress runs
        `preprocess → index → derive`.
      operationId: get_operation
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: Operation ID (`op_` prefix).
      responses:
        '200':
          description: Success
          content:
            application/json:
              example:
                operation: op_xxx
                kind: ingest
                done: false
                cancelled: false
                resource: vid_xxx
                progress:
                  preprocess: done
                  index: running
                  derive: pending
                  percent: 45
                error: null
                created_at: …
                updated_at: …
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'Send `Authorization: sk-mai-...`'

````