MediaValet Uploads API

Chunked ingest of new files and new asset versions into a library, via MediaValet-issued Azure blob upload URLs. 11 operations.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/mediavalet-uploads-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

mediavalet-uploads-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: MediaValet Uploads API
  description: |-
    The MediaValet API is a RESTful, JSON, hypermedia-driven service that supplies data to clients consuming the MediaValet cloud digital asset management (DAM) platform. The service applies business rules, permission rules, and other data processing to standardize what is returned. Requests go to the API gateway at https://api.mediavalet.com and must carry two credentials: an OAuth 2.0 / OpenID Connect Bearer access token issued by https://login.mediavalet.com/connect/token, and a per-account subscription key in the Ocp-Apim-Subscription-Key header. Requests also carry an x-mv-api-version header to select the API version. Access requires a MediaValet subscription and registration in the MediaValet Developer Portal at https://developer.mediavalet.com.

    PROVENANCE: this definition is derived operation-for-operation from MediaValet's own published Postman collection ("MediaValet API", collection 55cc404f-b818-43ba-87c2-1a07f2a47bd9) served at https://docs.mediavalet.com/api/collections/15676803/TzRUB7XE. Paths, methods, parameters, request bodies, response status codes and examples come from that collection. Schemas are inferred from the collection's request/response example payloads and are indicative rather than authoritative.
  version: '1.0'
  contact:
    name: MediaValet
    url: https://developer.mediavalet.com
  termsOfService: https://www.mediavalet.com/terms-of-service
servers:
- url: https://api.mediavalet.com
  description: MediaValet API gateway (public)
security:
- oauth2:
  - api
  subscriptionKey: []
tags:
- name: Uploads
  description: Chunked ingest of new files and new asset versions into a library.
paths:
  /uploads/{assetId}:
    put:
      operationId: completeUpload
      summary: Complete Upload
      tags:
      - Uploads
      parameters:
      - name: assetId
        in: path
        required: true
        description: assetId path parameter.
        schema:
          type: string
      - name: x-mv-api-version
        in: header
        required: false
        description: (Required) The requested API version
        schema:
          type: string
        example: '1.2'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                filename:
                  type: string
                title:
                  type: string
                description:
                  type: string
                fileSizeInBytes:
                  type: integer
            example:
              id: <uuid>
              filename: <string>
              title: <string>
              description: <string>
              fileSizeInBytes: <long>
      responses:
        '200':
          description: Request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  uploadUrl:
                    type: string
                  uploadFileName:
                    type: string
                  mediaFileId:
                    type: string
                    format: uuid
                  title:
                    type: string
                  description:
                    type: string
                  fileSizeInBytes:
                    type: integer
                  _links:
                    type: object
                    properties:
                      self:
                        type: string
                      functions:
                        type: array
                        items:
                          type: string
                  translationKeys:
                    type: object
                    properties:
                      ullamco__8:
                        type: object
                      aliquaed5:
                        type: object
                      quiddd:
                        type: object
                  interpolations:
                    type: object
                    properties:
                      reprehenderita:
                        type: object
                  permissions:
                    type: array
                    items:
                      type: string
              example:
                id: <uuid>
                uploadUrl: <string>
                uploadFileName: <string>
                mediaFileId: <uuid>
                title: <string>
                description: <string>
                fileSizeInBytes: <long>
                _links:
                  self: <string>
                  functions:
                  - <string>
                  - <string>
                translationKeys:
                  ullamco__8: {}
                  aliquaed5: {}
                  quiddd: {}
                interpolations:
                  reprehenderita: {}
                permissions:
                - asset:downloadFromPortal
                - lightbox:share
        '400':
          description: There was a problem with the data sent with the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  _links:
                    type: object
                    properties:
                      self:
                        type: string
                      functions:
                        type: array
                        items:
                          type: string
                  translationKeys:
                    type: object
                    properties:
                      in1e:
                        type: object
                      officiaef:
                        type: object
                      deserunt8:
                        type: object
                  interpolations:
                    type: object
                    properties:
                      nisi_a:
                        type: object
                      consequat_7_:
                        type: object
                  permissions:
                    type: array
                    items:
                      type: string
              example:
                message: <string>
                _links:
                  self: <string>
                  functions:
                  - <string>
                  - <string>
                translationKeys:
                  in1e: {}
                  officiaef: {}
                  deserunt8: {}
                interpolations:
                  nisi_a: {}
                  consequat_7_: {}
                permissions:
                - asset:downloadFromMvd
                - lightbox:assignAsset
        '401':
          description: The current user is not authorized to view this end-point.
        '403':
          description: The user does not have permission to perform this operation.
        '500':
          description: The request failed because of a problem on the server.
    patch:
      operationId: updateAsset
      summary: Update Asset
      description: Update asset with a list of patch operations.
      tags:
      - Uploads
      parameters:
      - name: assetId
        in: path
        required: true
        description: assetId path parameter.
        schema:
          type: string
      - name: x-mv-api-version
        in: header
        required: false
        description: (Required) The requested API version
        schema:
          type: string
        example: '1.2'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  op:
                    type: string
                  path:
                    type: string
                  value:
                    type: object
                  from:
                    type: string
            example:
            - op: <string>
              path: <string>
              value: {}
              from: <string>
            - op: <string>
              path: <string>
              value: {}
              from: <string>
      responses:
        '200':
          description: Request was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _links:
                    type: object
                    properties:
                      self:
                        type: string
                      functions:
                        type: array
                        items:
                          type: string
                  translationKeys:
                    type: object
                    properties:
                      eiusmod5:
                        type: object
                      Duis_5:
                        type: object
                  interpolations:
                    type: object
                    properties:
                      tempor_4:
                        type: object
                  permissions:
                    type: array
                    items:
                      type: string
              example:
                _links:
                  self: <string>
                  functions:
                  - <string>
                  - <string>
                translationKeys:
                  eiusmod5: {}
                  Duis_5: {}
                interpolations:
                  tempor_4: {}
                permissions:
                - asset:createImageCrop
                - lightbox:editDetails
        '401':
          description: The current user is not authorized to view this end-point.
        '403':
          description: The user does not have permission to perform this operation.
        '404':
          description: The asset was not found.
  /uploads:
    post:
      operationId: createAsset2
      summary: Create Asset
      description: Creates an asset and returns newly created asset information.
      tags:
      - Uploads
      parameters:
      - name: x-mv-api-version
        in: header
        required: false
        description: (Required) The requested API version
        schema:
          type: string
        example: '1.2'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                fileSizeInBytes:
                  type: integer
                filename:
                  type: string
                fileNameVersioning:
                  type: boolean
            example:
              id: <uuid>
              fileSizeInBytes: <long>
              filename: <string>
              fileNameVersioning: <boolean>
      responses:
        '201':
          description: The asset was successfully created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  uploadUrl:
                    type: string
                  uploadFileName:
                    type: string
                  mediaFileId:
                    type: string
                    format: uuid
                  _links:
                    type: object
                    properties:
                      self:
                        type: string
                      functions:
                        type: array
                        items:
                          type: string
                  translationKeys:
                    type: object
                    properties:
                      ut4:
                        type: object
                      sed_54:
                        type: object
                  interpolations:
                    type: object
                    properties:
                      nulla_9:
                        type: object
                  permissions:
                    type: array
                    items:
                      type: string
              example:
                id: <uuid>
                uploadUrl: <string>
                uploadFileName: <string>
                mediaFileId: <uuid>
                _links:
                  self: <string>
                  functions:
                  - <string>
                  - <string>
                translationKeys:
                  ut4: {}
                  sed_54: {}
                interpolations:
                  nulla_9: {}
                permissions:
                - lightbox:assignAsset
                - lightbox:editDetails
        '400':
          description: There was a problem with the data sent with the request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  _links:
                    type: object
                    properties:
                      self:
                        type: string
                      functions:
                        type: array
                        items:
                          type: string
                  translationKeys:
                    type: object
                    properties:
                      in1e:
                        type: object
                      officiaef:
                        type: object
                      deserunt8:
                        type: object
                  interpolations:
                    type: object
                    properties:
                      nisi_a:
                        type: object
                      consequat_7_:
                        type: object
                  permissions:
                    type: array
                    items:
                      type: string
              example:
                message: <string>
                _links:
                  self: <string>
                  functions:
                  - <string>
                  - <string>
                translationKeys:
                  in1e: {}
                  officiaef: {}
                  deserunt8: {}
                interpolations:
                  nisi_a: {}
                  consequat_7_: {}
                permissions:
                - asset:downloadFromMvd
                - lightbox:assignAsset
        '401':
          description: The current user is not authorized to view this end-point.
        '403':
          description: The user does not have permission to perform this operation.
        '500':
          description: The request failed because of a problem on the server.
  /uploads/validate:
    post:
      operationId: validateUploads
      summary: Validate Uploads
      description: Validate a collection of uploads.
      tags:
      - Uploads
      parameters:
      - name: x-mv-api-version
        in: header
        required: false
        description: (Required) The requested API version
        schema:
          type: string
        example: '1.2'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  fileName:
                    type: string
                  size:
                    type: integer
                  lastModifiedDate:
                    type: string
            example:
            - fileName: <string>
              size: <long>
              lastModifiedDate: <string>
            - fileName: <string>
              size: <long>
              lastModifiedDate: <string>
      responses:
        '200':
          description: Request was successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    fileName:
                      type: string
                    validationStatus:
                      type: integer
                    assetVersionMessage:
                      type: string
                    attributePolicy:
                      type: object
                      properties:
                        createUploadAttributes:
                          type: object
                          properties:
                            officia3a:
                              type: string
                            uta01:
                              type: string
                    message:
                      type: string
                    _links:
                      type: object
                      properties:
                        self:
                          type: string
                        functions:
                          type: array
                          items:
                            type: string
                    translationKeys:
                      type: object
                      properties:
                        ex08:
                          type: object
                        sed_ab4:
                          type: object
                        suntb3:
                          type: object
                        magna__:
                          type: object
                    interpolations:
                      type: object
                      properties:
                        dolor_18:
                          type: object
                        incididunt_a:
                          type: object
                    permissions:
                      type: array
                      items:
                        type: string
              example:
              - fileName: <string>
                validationStatus: <integer>
                assetVersionMessage: <string>
                attributePolicy:
                  createUploadAttributes:
                    officia3a: <string>
                    uta01: <string>
                message: <string>
                _links:
                  self: <string>
                  functions:
                  - <string>
                  - <string>
                translationKeys:
                  ex08: {}
                  sed_ab4: {}
                  suntb3: {}
                  magna__: {}
                interpolations:
                  dolor_18: {}
                  incididunt_a: {}
                permissions:
                - asset:shareAsLink
                - asset:shareAsWebGallery
              - fileName: <string>
                validationStatus: <integer>
                assetVersionMessage: <string>
                attributePolicy:
                  createUploadAttributes:
                    ut_1f3: <string>
                message: <string>
                _links:
                  self: <string>
                  functions:
                  - <string>
                  - <string>
                translationKeys:
                  mollite: {}
                interpolations:
                  Ut_8: {}
                permissions:
                - lightbox:assignAsset
                - asset:shareAsZippedFile
        '401':
          description: The current user is not authorized to view this end-point.
        '403':
          description: The user does not have permission to perform this operation.
        '500':
          description: The request failed because of a problem on the server.
  /uploads/{assetId}/keywords:
    post:
      operationId: createAssetAssociationWithKeywords
      summary: Create Asset Association With Keywords
      description: Associates list of keywords to specified asset.
      tags:
      - Uploads
      parameters:
      - name: assetId
        in: path
        required: true
        description: assetId path parameter.
        schema:
          type: string
      - name: x-mv-api-version
        in: header
        required: false
        description: (Required) The requested API version
        schema:
          type: string
        example: '1.2'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
            example:
            - <string>
            - <string>
      responses:
        '201':
          description: Successfully associated list of keywords to asset.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example:
              - <string>
              - <string>
        '401':
          description: The current user is not authorized to view this end-point.
        '403':
          description: The user does not have permission to perform this operation.
        '500':
          description: The request failed because of a problem on the server.
  /uploads/{assetId}/attributes:
    post:
      operationId: createAssetAttributes2
      summary: Create Asset Attributes
      description: Add attributes to an asset.
      tags:
      - Uploads
      parameters:
      - name: assetId
        in: path
        required: true
        description: assetId path parameter.
        schema:
          type: string
      - name: x-mv-api-version
        in: header
        required: false
        description: (Required) The requested API version
        schema:
          type: string
        example: '1.2'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  Utc4a:
                    type: string
                  labore_fc:
                    type: string
                  ind65:
                    type: string
            example:
            - Utc4a: <string>
              labore_fc: <string>
              ind65: <string>
            - incididunt8c2: <string>
      responses:
        '201':
          description: Successfully added attributes to asset.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    Utc4a:
                      type: string
                    labore_fc:
                      type: string
                    ind65:
                      type: string
              example:
              - Utc4a: <string>
                labore_fc: <string>
                ind65: <string>
              - incididunt8c2: <string>
        '400':
          description: There was a problem with the data sent with the request.
        '401':
          description: The current user is not authorized to view this end-point.
        '403':
          description: The user does not have permission to perform this operation.
        '500':
          description: The request failed because of a problem on the server.
  /uploads/{assetId}/categories:
    post:
      operationId: createAssetAssociationWithCategories
      summary: Create Asset Association With Categories
      description: Associates specified asset into list of categories.
      tags:
      - Uploads
      parameters:
      - name: assetId
        in: path
        required: true
        description: assetId path parameter.
        schema:
          type: string
      - name: x-mv-api-version
        in: header
        required: false
        description: (Required) The requested API version
        schema:
          type: string
        example: '1.2'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
            example:
            - <string>
            - <string>
      responses:
        '201':
          description: Asset successfully associated with list of categories.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example:
              - <string>
              - <string>
        '401':
          description: The current user is not authorized to view this end-point.
        '403':
          description: The user does not have permission to perform this operation.
        '500':
          description: The request failed because of a problem on the server.
  /uploads/{assetId}/lightboxes:
    post:
      operationId: createAssetAssociationWithLightbox
      summary: Create Asset Association With Lightbox
      description: Add asset to a lightbox.
      tags:
      - Uploads
      parameters:
      - name: assetId
        in: path
        required: true
        description: assetId path parameter.
        schema:
          type: string
      - name: x-mv-api-version
        in: header
        required: false
        description: (Required) The requested API version
        schema:
          type: string
        example: '1.2'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                name:
                  type: string
                description:
                  type: string
                approverId:
                  type: string
                  format: uuid
            example:
              id: <uuid>
              name: <string>
              description: <string>
              approverId: <uuid>
      responses:
        '201':
          description: The asset was successfully added to the lightbox.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  name:
                    type: string
                  description:
                    type: string
                  assetCount:
                    type: integer
                  owner:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      username:
                        type: string
                      firstName:
                        type: string
                      lastName:
                        type: string
                  approverId:
                    type: string
                    format: uuid
                  record:
                    type: object
                    properties:
                      createdAt:
                        type: string
                        format: date-time
                      createdBy:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                          username:
                            type: string
                          firstName:
                            type: string
                          lastName:
                            type: string
                      modifiedAt:
                        type: string
                        format: date-time
                      modifiedBy:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                          username:
                            type: string
                          firstName:
                            type: string
                          lastName:
                            type: string
                      softDeletedAt:
                        type: string
                        format: date-time
                      softDeletedBy:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                          username:
                            type: string
                          firstName:
                            type: string
                          lastName:
                            type: string
                      version:
                        type: object
                        properties:
                          version:
                            type: integer
                          current:
                            type: string
                            format: uuid
                          head:
                            type: string
                            format: uuid
                          parentid:
                            type: string
                            format: uuid
                          isversionable:
                            type: boolean
                          islatestversion:
                            type: boolean
                          ismajorversion:
                            type: boolean
                  requestedAt:
                    type: string
                    format: date-time
                  includedInBrandedPortalSync:
                    type: boolean
                  syncedBrandedPortals:
                    type: array
                    items:
                      type: string
                  _links:
                    type: object
                    properties:
                      self:
                        type: string
                      functions:
                        type: array
                        items:
                          type: string
                  translationKeys:
                    type: object
                    properties:
                      tempor_0c:
                        type: object
                      nisi_d6:
                        type: object
                  interpolations:
                    type: object
                    properties:
                      essea:
                        type: object
                  permissions:
                    type: array
                    items:
                      type: string
              example:
                id: <uuid>
                name: <string>
                description: <string>
                assetCount: <integer>
                owner:
                  id: <uuid>
                  username: <string>
                  firstName: <string>
                  lastName: <string>
                approverId: <uuid>
                record:
                  createdAt: <dateTime>
                  createdBy:
                    id: <uuid>
                    username: <string>
                    firstName: <string>
                    lastName: <string>
                  modifiedAt: <dateTime>
                  modifiedBy:
                    id: <uuid>
                    username: <string>
                    firstName: <string>
                    lastName: <string>
                  softDeletedAt: <dateTime>
                  softDeletedBy:
                    id: <uuid>
                    username: <string>
                    firstName: <string>
                    lastName: <string>
                  version:
                    version: <integer>
                    current: <uuid>
                    head: <uuid>
                    parentid: <uuid>
                    isversionable: <boolean>
                    islatestversion: <boolean>
                    ismajorversion: <boolean>
                requestedAt: <dateTime>
                includedInBrandedPortalSync: <boolean>
                syncedBrandedPortals:
                - <string>
                - <string>
                _links:
                  self: <string>
                  functions:
                  - <string>
                  - <string>
                translationKeys:
                  tempor_0c: {}
                  nisi_d6: {}
                interpolations:
                  essea: {}
           

# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mediavalet/refs/heads/main/openapi/mediavalet-uploads-api-openapi.yml