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

# Finalize media upload

> Finalize media upload

**Permission Required:** `vault:write`



## OpenAPI

````yaml https://api.ofauth.com/openapi.json post /v2/access/uploads/complete
openapi: 3.1.0
info:
  title: OFAuth API
  version: 1.0.0
  description: >-
    OFAuth API including Account, Connections, Link, Access, Dynamic Rules,
    Vault+, and Realtime webhook contracts
  contact:
    email: support@ofauth.com
    url: https://ofauth.com/
servers:
  - url: https://api.ofauth.com
security:
  - ApiKey: []
tags:
  - name: Account
    description: Account management endpoints.
  - name: Connections
    description: Connection management endpoints.
  - name: Link
    description: Link authentication and session endpoints.
  - name: Access
    description: All Access related endpoints.
  - name: Analytics
    description: 'Access: charts, tops, and performance metrics.'
  - name: Earnings
    description: 'Access: earnings charts, transactions, and chargebacks.'
  - name: Messages
    description: 'Access: messaging, chats, queue, and mass messaging.'
  - name: Posts
    description: 'Access: create, edit, list, and manage posts.'
  - name: Promotions
    description: 'Access: promotions, trials, and bundles.'
  - name: Users
    description: 'Access: user profiles, subscriptions, and actions.'
  - name: Vault
    description: 'Access: vault folders, media, and management.'
  - name: Upload
    description: 'Access: media upload and processing.'
  - name: Self
    description: 'Access: authenticated account details and settings.'
  - name: Stories
    description: 'Access: stories listing and management.'
  - name: Subscriptions
    description: 'Access: subscription offers, discounts, and management.'
  - name: Realtime
    description: >-
      Realtime webhook delivery contracts, including relayed OnlyFans websocket
      events.
  - name: Dynamic Rules
    description: Dynamic signing rules operations.
  - name: Vault+
    description: Vault+ caching and management.
externalDocs:
  description: OFAuth Developer Documentation
  url: https://docs.ofauth.com
paths:
  /v2/access/uploads/complete:
    post:
      tags:
        - Upload
      summary: Finalize media upload
      description: |-
        Finalize media upload

        **Permission Required:** `vault:write`
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                mediaUploadId:
                  type: string
                  minLength: 1
                  description: Upload session ID to complete
              required:
                - mediaUploadId
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  mediaUploadId:
                    type: string
                  media:
                    type: object
                    properties:
                      id:
                        type: number
                      type:
                        type: string
                        enum:
                          - photo
                          - video
                          - gif
                          - audio
                      convertedToVideo:
                        type: boolean
                      canView:
                        type: boolean
                      hasError:
                        type: boolean
                      createdAt:
                        type: string
                      isReady:
                        type: boolean
                      duration:
                        type: number
                      releaseForms:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                            name:
                              type: string
                            partnerSource:
                              type: string
                            type:
                              type: string
                            user:
                              type: object
                              properties:
                                view:
                                  type: string
                                id:
                                  type: number
                                name:
                                  type: string
                                username:
                                  type: string
                                isVerified:
                                  type: boolean
                                avatar:
                                  type: string
                                avatarThumbs:
                                  type: object
                                  properties:
                                    c50:
                                      type: string
                                    c144:
                                      type: string
                                  required:
                                    - c50
                                    - c144
                                ivStatus:
                                  type: string
                                isFromGuest:
                                  type: boolean
                              required:
                                - view
                                - id
                                - name
                                - username
                                - isVerified
                                - avatar
                                - avatarThumbs
                                - ivStatus
                                - isFromGuest
                          required:
                            - id
                            - name
                            - partnerSource
                            - type
                      hasCustomPreview:
                        type: boolean
                      videoSources:
                        type: object
                        properties:
                          '240':
                            type: string
                            nullable: true
                          '720':
                            type: string
                            nullable: true
                      files:
                        type: object
                        properties:
                          full:
                            type: object
                            properties:
                              url:
                                type: string
                              width:
                                type: number
                              height:
                                type: number
                              size:
                                type: number
                              sources:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    url:
                                      type: string
                                    width:
                                      type: number
                                    height:
                                      type: number
                                    type:
                                      type: string
                                  required:
                                    - url
                            required:
                              - url
                              - sources
                          thumb:
                            type: object
                            properties:
                              url:
                                type: string
                              width:
                                type: number
                              height:
                                type: number
                              size:
                                type: number
                            required:
                              - url
                          preview:
                            type: object
                            properties:
                              url:
                                type: string
                              width:
                                type: number
                              height:
                                type: number
                              size:
                                type: number
                              options:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    url:
                                      type: string
                                    width:
                                      type: number
                                    height:
                                      type: number
                                    type:
                                      type: string
                                  required:
                                    - url
                            required:
                              - url
                              - options
                          squarePreview:
                            type: object
                            properties:
                              url:
                                type: string
                              width:
                                type: number
                              height:
                                type: number
                              size:
                                type: number
                            required:
                              - url
                        required:
                          - full
                    required:
                      - id
                      - type
                      - convertedToVideo
                      - canView
                      - hasError
                      - createdAt
                      - isReady
                      - releaseForms
                required:
                  - mediaUploadId
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '429':
          description: Rate Limit Exceeded
        '500':
          description: Internal Server Error
        '502':
          description: Bad Gateway
      deprecated: true
      security:
        - ApiKey: []
          ConnectionId: []
components:
  securitySchemes:
    ApiKey:
      type: apiKey
      name: apiKey
      in: header
      description: >-
        Your OFAuth [API key](/quickstart#2-copy-your-api-key) for
        authenticating requests.
    ConnectionId:
      type: apiKey
      name: x-connection-id
      in: header
      description: >-
        Requires a [connection](/guides/connections) via the x-connection-id
        header.

````