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

# Complete Portfolio Upload

> Verify staged media and move the submission into the operator review queue.

TattooAPI verifies the private staged object before returning `awaiting_review`. This does not make the asset public.


## OpenAPI

````yaml openapi-portfolio-intake.json POST /submissions/{submissionId}/upload-complete
openapi: 3.1.0
info:
  title: TattooAPI Portfolio Intake
  version: 1.0.0
  description: >-
    Private, review-gated portfolio intake for approved partners and TattooAPI
    operators. These operations never publish directly to public surfaces.
servers:
  - url: https://api.tattooapi.com/api/private/portfolio-intake/v1
    description: Production private portfolio intake
security: []
paths:
  /submissions/{submissionId}/upload-complete:
    post:
      summary: Verify a staged upload
      description: >-
        Requires portfolio_intake:stage and X-API-Key. Verifies the private
        object and moves the submission to awaiting_review. The request is
        bodyless.
      operationId: completePortfolioIntakeUpload
      parameters:
        - $ref: '#/components/parameters/SubmissionId'
      responses:
        '200':
          description: Upload verified and queued for review
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - ApiKeyAuth: []
components:
  parameters:
    SubmissionId:
      name: submissionId
      in: path
      required: true
      schema:
        type: string
        maxLength: 200
  responses:
    Unauthorized:
      description: Missing or invalid WorkOS credential
    Forbidden:
      description: Credential is unmapped, out of scope, or lacks the required permission
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: WorkOS organization API key mapped to a TattooAPI service actor.

````