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

# confirm an upload

> Makes the uploaded file a library item and returns its upload_id, which is accepted wherever an item id or ref is. Answers 200 when the same key was confirmed before. enrich describes and tags an image on cloud processing. Plus the item's lineage block when made_from was given.



## OpenAPI

````yaml /openapi.json post /uploads/confirm
openapi: 3.1.0
info:
  title: Eversince API
  version: '1'
  description: >-
    Every Eversince tool as one POST call, plus the routes beside them: the tool
    list, account and keys, uploads, webhooks and models. The prose is at
    https://docs.eversince.ai.
servers:
  - url: https://eversince.ai/api/v1
security:
  - bearer: []
tags:
  - name: Discovery
    description: The tool list, the same on the MCP server, the REST API and the CLI.
  - name: Workspace
    description: Jobs, balances, settings, templates, skills and the overview.
  - name: Library
    description: >-
      Items, search, import, reading media, comments, boards, calendars, the
      brand kit and public links.
  - name: Timeline
    description: 'Video editing: timelines, clips, captions, sound, language and rendering.'
  - name: Canvas
    description: 'Still editing: canvases, slides, layers and rendering.'
  - name: Generation
    description: Image, video and audio generation, upscaling, cutouts and models.
  - name: Research
    description: 'What platforms publish: pulling and keeping posts.'
  - name: Account
    description: Balances, keys, workspaces and script sessions.
  - name: Uploads
    description: Files into the library by presigned upload or by URL.
  - name: Webhooks
    description: Job results posted to a URL as they complete.
  - name: Models
    description: Generation models and cost estimates.
paths:
  /uploads/confirm:
    post:
      tags:
        - Uploads
      summary: confirm an upload
      description: >-
        Makes the uploaded file a library item and returns its upload_id, which
        is accepted wherever an item id or ref is. Answers 200 when the same key
        was confirmed before. enrich describes and tags an image on cloud
        processing. Plus the item's lineage block when made_from was given.
      operationId: confirm_upload
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                r2_key:
                  type: string
                file_name:
                  type: string
                file_size:
                  type: number
                content_type:
                  type: string
                workspace_id:
                  type: string
                description:
                  type: string
                enrich:
                  type: boolean
                made_from:
                  type: object
                  additionalProperties: true
              required:
                - r2_key
                - file_name
                - file_size
                - content_type
      responses:
        '200':
          description: Already confirmed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  upload_id:
                    type: string
                  type:
                    type: string
                required:
                  - upload_id
                  - type
        '201':
          description: Confirmed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  upload_id:
                    type: string
                  type:
                    type: string
                  enrichment:
                    type: object
                    additionalProperties: true
                required:
                  - upload_id
                  - type
        '400':
          description: 'validation_error: the message names the field.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      status:
                        type: number
                    required:
                      - code
                      - message
                      - status
                required:
                  - error
        '401':
          description: 'unauthorized: the credential did not check out.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      status:
                        type: number
                    required:
                      - code
                      - message
                      - status
                required:
                  - error
        '403':
          description: 'forbidden: the credential has no access to this.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      status:
                        type: number
                    required:
                      - code
                      - message
                      - status
                required:
                  - error
        '404':
          description: not_found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      status:
                        type: number
                    required:
                      - code
                      - message
                      - status
                required:
                  - error
        '409':
          description: conflict.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      status:
                        type: number
                    required:
                      - code
                      - message
                      - status
                required:
                  - error
        '429':
          description: 'rate_limited: Retry-After says when.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      status:
                        type: number
                    required:
                      - code
                      - message
                      - status
                required:
                  - error
        '500':
          description: internal_error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      status:
                        type: number
                    required:
                      - code
                      - message
                      - status
                required:
                  - error
        '503':
          description: 'unavailable: retry shortly.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      status:
                        type: number
                    required:
                      - code
                      - message
                      - status
                required:
                  - error
components:
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: >-
        An API key (es_live_…) from Settings, under API keys, or an OAuth access
        token.

````