MediaValet Keywords API

The controlled keyword vocabulary and per-asset tagging, with keyword approval workflow. 3 operations.

Business capability
Metadata Cataloguing BC-3710.20

Operations 3

GET /keywords Retrieve Keywords #
POST /keywords Create Keyword #
PATCH /keywords/{keyword} Update Keyword #

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-keywords-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

mediavalet-keywords-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: MediaValet Keywords 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.
  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: Keywords
  description: Keyword vocabulary and per-asset tagging.
paths:
  /keywords:
    get:
      operationId: retrieveKeywords
      summary: Retrieve Keywords
      description: Returns all keywords in library.
      tags:
      - Keywords
      parameters:
      - name: x-mv-api-version
        in: header
        required: false
        description: (Required) The requested API version
        schema:
          type: string
        example: '1.2'
      responses:
        '200':
          description: Request was accepted.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                    keywordName:
                      type: string
                    isSearchable:
                      type: boolean
                    isApproved:
                      type: boolean
                    groupName:
                      type: string
                    groupPath:
                      type: string
                    approvedAt:
                      type: string
                      format: date-time
                    approvedBy:
                      type: string
                      format: uuid
                    requestedAt:
                      type: string
                      format: date-time
                    approvalStatus:
                      type: string
                    requestedBy:
                      type: string
                      format: uuid
                    _links:
                      type: object
                      properties:
                        self:
                          type: string
                        functions:
                          type: array
                          items:
                            type: string
                    translationKeys:
                      type: object
                      properties:
                        sit0:
                          type: object
                        consecteturcc:
                          type: object
                        officia_3f:
                          type: object
                        irure_e:
                          type: object
                    interpolations:
                      type: object
                      properties:
                        dolore99c:
                          type: object
                        voluptate__b:
                          type: object
                    permissions:
                      type: array
                      items:
                        type: string
              example:
              - id: <string>
                keywordName: <string>
                isSearchable: <boolean>
                isApproved: <boolean>
                groupName: <string>
                groupPath: <string>
                approvedAt: <dateTime>
                approvedBy: <uuid>
                requestedAt: <dateTime>
                approvalStatus: <string>
                requestedBy: <uuid>
                _links:
                  self: <string>
                  functions:
                  - <string>
                  - <string>
                translationKeys:
                  sit0: {}
                  consecteturcc: {}
                  officia_3f: {}
                  irure_e: {}
                interpolations:
                  dolore99c: {}
                  voluptate__b: {}
                permissions:
                - asset:shareAsBrandedPortal
                - asset:shareAsLightbox
              - id: <string>
                keywordName: <string>
                isSearchable: <boolean>
                isApproved: <boolean>
                groupName: <string>
                groupPath: <string>
                approvedAt: <dateTime>
                approvedBy: <uuid>
                requestedAt: <dateTime>
                approvalStatus: <string>
                requestedBy: <uuid>
                _links:
                  self: <string>
                  functions:
                  - <string>
                  - <string>
                translationKeys:
                  sit_c: {}
                interpolations:
                  elitfb5: {}
                  temporb4: {}
                  suntb: {}
                permissions:
                - asset:downloadFromMvd
                - asset:shareAsLightbox
        '403':
          description: The user does not have permission to perform this operation.
        '500':
          description: The request failed because of a problem on the server.
    post:
      operationId: createKeyword
      summary: Create Keyword
      description: Creates a keyword in the library.
      tags:
      - Keywords
      parameters:
      - name: x-mv-api-version
        in: header
        required: false
        description: (Required) The requested API version
        schema:
          type: string
        example: '1.2'
      requestBody:
        required: false
        content:
          text/plain:
            schema:
              type: string
      responses:
        '202':
          description: Request was accepted.
        '403':
          description: The user does not have permission to perform this operation.
        '500':
          description: The request failed because of a problem on the server.
  /keywords/{keyword}:
    patch:
      operationId: updateKeyword
      summary: Update Keyword
      description: Update a keyword.
      tags:
      - Keywords
      parameters:
      - name: keyword
        in: path
        required: true
        description: keyword 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:
        '202':
          description: Request was accepted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  keywordName:
                    type: string
                  isSearchable:
                    type: boolean
                  isApproved:
                    type: boolean
                  groupName:
                    type: string
                  groupPath:
                    type: string
                  approvedAt:
                    type: string
                    format: date-time
                  approvedBy:
                    type: string
                    format: uuid
                  requestedAt:
                    type: string
                    format: date-time
                  approvalStatus:
                    type: string
                  requestedBy:
                    type: string
                    format: uuid
                  _links:
                    type: object
                    properties:
                      self:
                        type: string
                      functions:
                        type: array
                        items:
                          type: string
                  translationKeys:
                    type: object
                    properties:
                      magna_ca:
                        type: object
                      velit__7:
                        type: object
                      minim_6c:
                        type: object
                  interpolations:
                    type: object
                    properties:
                      pariatur7d4:
                        type: object
                  permissions:
                    type: array
                    items:
                      type: string
              example:
                id: <string>
                keywordName: <string>
                isSearchable: <boolean>
                isApproved: <boolean>
                groupName: <string>
                groupPath: <string>
                approvedAt: <dateTime>
                approvedBy: <uuid>
                requestedAt: <dateTime>
                approvalStatus: <string>
                requestedBy: <uuid>
                _links:
                  self: <string>
                  functions:
                  - <string>
                  - <string>
                translationKeys:
                  magna_ca: {}
                  velit__7: {}
                  minim_6c: {}
                interpolations:
                  pariatur7d4: {}
                permissions:
                - asset:createVideoClip
                - asset:createVideoClip
        '403':
          description: The user does not have permission to perform this operation.
        '500':
          description: The request failed because of a problem on the server.
components:
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 / OpenID Connect issued by https://iam.mediavalet.com via https://login.mediavalet.com. Send the access token as a Bearer Authorization header.
      flows:
        authorizationCode:
          authorizationUrl: https://login.mediavalet.com/connect/authorize
          tokenUrl: https://login.mediavalet.com/connect/token
          refreshUrl: https://login.mediavalet.com/connect/token
          scopes:
            openid: OpenID Connect identity
            profile: User profile claims
            api: Access the MediaValet API
            api:service_principal: Service-principal (machine) access to the MediaValet API
            iam.admin: Administer MediaValet identity and access management
            iam.provisioning: Provision users and organizations
            offline_access: Obtain a refresh token
        clientCredentials:
          tokenUrl: https://login.mediavalet.com/connect/token
          scopes:
            api: Access the MediaValet API
            api:service_principal: Service-principal (machine) access to the MediaValet API
        password:
          tokenUrl: https://login.mediavalet.com/connect/token
          scopes:
            openid: OpenID Connect identity
            api: Access the MediaValet API
            offline_access: Obtain a refresh token
    subscriptionKey:
      type: apiKey
      in: header
      name: Ocp-Apim-Subscription-Key
      description: Per-account API subscription key issued through the MediaValet Developer Portal (Azure API Management).