MediaValet Keyword Groups API

Groupings of controlled-vocabulary keywords.

Business capability
Metadata Cataloguing BC-3710.20

Operations 5

GET /keywordGroups Retrieve All Keyword Groups #
POST /keywordGroups Create A Keyword Group #
GET /keywordGroups/{keywordGroupId}/subGroups Retrieve Keyword Groups By Parent Keyword Group Id #
DELETE /keywordGroups/{keywordGroupId} Remove Keyword Group #
PATCH /keywordGroups/{keywordGroupId} Update Keyword Group #

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-keywordgroups-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-keywordgroups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: MediaValet Keyword Groups 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: keywordgroups
  description: Groupings of controlled-vocabulary keywords.
paths:
  /keywordGroups:
    get:
      operationId: retrieveAllKeywordGroups
      summary: Retrieve All Keyword Groups
      description: Returns a collection of keyword groups.
      tags:
      - keywordgroups
      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 successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                    groupKeywordCount:
                      type: integer
                    groupTreePath:
                      type: string
                    name:
                      type: string
                    keywordsInGroup:
                      type: string
                    subGroupCount:
                      type: integer
                    parentId:
                      type: string
                      format: uuid
                    _links:
                      type: object
                      properties:
                        self:
                          type: string
                        functions:
                          type: array
                          items:
                            type: string
                    translationKeys:
                      type: object
                      properties:
                        nostrud8:
                          type: object
                        eta0:
                          type: object
                    interpolations:
                      type: object
                      properties:
                        Excepteur7:
                          type: object
                    permissions:
                      type: array
                      items:
                        type: string
              example:
              - id: <uuid>
                groupKeywordCount: <integer>
                groupTreePath: <string>
                name: <string>
                keywordsInGroup: <string>
                subGroupCount: <integer>
                parentId: <uuid>
                _links:
                  self: <string>
                  functions:
                  - <string>
                  - <string>
                translationKeys:
                  nostrud8: {}
                  eta0: {}
                interpolations:
                  Excepteur7: {}
                permissions:
                - asset:shareAsZippedFile
                - asset:shareAsCdnLink
              - id: <uuid>
                groupKeywordCount: <integer>
                groupTreePath: <string>
                name: <string>
                keywordsInGroup: <string>
                subGroupCount: <integer>
                parentId: <uuid>
                _links:
                  self: <string>
                  functions:
                  - <string>
                  - <string>
                translationKeys:
                  nostrud_e0: {}
                  labore_d1_: {}
                interpolations:
                  mollit856: {}
                  tempor_741: {}
                  ad_90: {}
                  incididunt_4: {}
                permissions:
                - asset:shareAsLightbox
                - lightbox:editDetails
        '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: createAKeywordGroup
      summary: Create A Keyword Group
      description: Creates a keyword group in the library.
      tags:
      - keywordgroups
      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
                groupKeywordCount:
                  type: integer
                groupTreePath:
                  type: string
                name:
                  type: string
                keywordsInGroup:
                  type: string
                subGroupCount:
                  type: integer
                parentId:
                  type: string
                  format: uuid
                _links:
                  type: object
                  properties:
                    self:
                      type: string
                    functions:
                      type: array
                      items:
                        type: string
                translationKeys:
                  type: object
                  properties:
                    enim6e:
                      type: object
                    aute6b2:
                      type: object
                interpolations:
                  type: object
                  properties:
                    minim069:
                      type: object
                    culpa_226:
                      type: object
                    qui_8:
                      type: object
                permissions:
                  type: array
                  items:
                    type: string
            example:
              id: <uuid>
              groupKeywordCount: <integer>
              groupTreePath: <string>
              name: <string>
              keywordsInGroup: <string>
              subGroupCount: <integer>
              parentId: <uuid>
              _links:
                self: <string>
                functions:
                - <string>
                - <string>
              translationKeys:
                enim6e: {}
                aute6b2: {}
              interpolations:
                minim069: {}
                culpa_226: {}
                qui_8: {}
              permissions:
              - asset:downloadFromPortal
              - lightbox:transferOwnership
      responses:
        '202':
          description: Request was accepted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  groupKeywordCount:
                    type: integer
                  groupTreePath:
                    type: string
                  name:
                    type: string
                  keywordsInGroup:
                    type: string
                  subGroupCount:
                    type: integer
                  parentId:
                    type: string
                    format: uuid
                  _links:
                    type: object
                    properties:
                      self:
                        type: string
                      functions:
                        type: array
                        items:
                          type: string
                  translationKeys:
                    type: object
                    properties:
                      enim6e:
                        type: object
                      aute6b2:
                        type: object
                  interpolations:
                    type: object
                    properties:
                      minim069:
                        type: object
                      culpa_226:
                        type: object
                      qui_8:
                        type: object
                  permissions:
                    type: array
                    items:
                      type: string
              example:
                id: <uuid>
                groupKeywordCount: <integer>
                groupTreePath: <string>
                name: <string>
                keywordsInGroup: <string>
                subGroupCount: <integer>
                parentId: <uuid>
                _links:
                  self: <string>
                  functions:
                  - <string>
                  - <string>
                translationKeys:
                  enim6e: {}
                  aute6b2: {}
                interpolations:
                  minim069: {}
                  culpa_226: {}
                  qui_8: {}
                permissions:
                - asset:downloadFromPortal
                - lightbox:transferOwnership
        '403':
          description: The user does not have permission to perform this operation.
        '409':
          description: Conflict has occurred. Group name already exist.
        '500':
          description: The request failed because of a problem on the server.
  /keywordGroups/{keywordGroupId}/subGroups:
    get:
      operationId: retrieveKeywordGroupsByParentKeywordGroupId
      summary: Retrieve Keyword Groups By Parent Keyword Group Id
      description: Returns all keyword groups for the parent keyword group.
      tags:
      - keywordgroups
      parameters:
      - name: keywordGroupId
        in: path
        required: true
        description: keywordGroupId 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'
      responses:
        '200':
          description: Request was successful.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                    groupKeywordCount:
                      type: integer
                    groupTreePath:
                      type: string
                    name:
                      type: string
                    keywordsInGroup:
                      type: string
                    subGroupCount:
                      type: integer
                    parentId:
                      type: string
                      format: uuid
                    _links:
                      type: object
                      properties:
                        self:
                          type: string
                        functions:
                          type: array
                          items:
                            type: string
                    translationKeys:
                      type: object
                      properties:
                        nostrud8:
                          type: object
                        eta0:
                          type: object
                    interpolations:
                      type: object
                      properties:
                        Excepteur7:
                          type: object
                    permissions:
                      type: array
                      items:
                        type: string
              example:
              - id: <uuid>
                groupKeywordCount: <integer>
                groupTreePath: <string>
                name: <string>
                keywordsInGroup: <string>
                subGroupCount: <integer>
                parentId: <uuid>
                _links:
                  self: <string>
                  functions:
                  - <string>
                  - <string>
                translationKeys:
                  nostrud8: {}
                  eta0: {}
                interpolations:
                  Excepteur7: {}
                permissions:
                - asset:shareAsZippedFile
                - asset:shareAsCdnLink
              - id: <uuid>
                groupKeywordCount: <integer>
                groupTreePath: <string>
                name: <string>
                keywordsInGroup: <string>
                subGroupCount: <integer>
                parentId: <uuid>
                _links:
                  self: <string>
                  functions:
                  - <string>
                  - <string>
                translationKeys:
                  nostrud_e0: {}
                  labore_d1_: {}
                interpolations:
                  mollit856: {}
                  tempor_741: {}
                  ad_90: {}
                  incididunt_4: {}
                permissions:
                - asset:shareAsLightbox
                - lightbox:editDetails
        '403':
          description: The user does not have permission to perform this operation.
        '500':
          description: The request failed because of a problem on the server.
  /keywordGroups/{keywordGroupId}:
    delete:
      operationId: removeKeywordGroup
      summary: Remove Keyword Group
      description: Removes a keyword group from the library.
      tags:
      - keywordgroups
      parameters:
      - name: keywordGroupId
        in: path
        required: true
        description: keywordGroupId 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'
      responses:
        '204':
          description: No Content, Request was successful Response is null.
        '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: updateKeywordGroup
      summary: Update Keyword Group
      description: Updates a keyword group in the library.
      tags:
      - keywordgroups
      parameters:
      - name: keywordGroupId
        in: path
        required: true
        description: keywordGroupId 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
                    format: uuid
                  groupKeywordCount:
                    type: integer
                  groupTreePath:
                    type: string
                  name:
                    type: string
                  keywordsInGroup:
                    type: string
                  subGroupCount:
                    type: integer
                  parentId:
                    type: string
                    format: uuid
                  _links:
                    type: object
                    properties:
                      self:
                        type: string
                      functions:
                        type: array
                        items:
                          type: string
                  translationKeys:
                    type: object
                    properties:
                      enim6e:
                        type: object
                      aute6b2:
                        type: object
                  interpolations:
                    type: object
                    properties:
                      minim069:
                        type: object
                      culpa_226:
                        type: object
                      qui_8:
                        type: object
                  permissions:
                    type: array
                    items:
                      type: string
              example:
                id: <uuid>
                groupKeywordCount: <integer>
                groupTreePath: <string>
                name: <string>
                keywordsInGroup: <string>
                subGroupCount: <integer>
                parentId: <uuid>
                _links:
                  self: <string>
                  functions:
                  - <string>
                  - <string>
                translationKeys:
                  enim6e: {}
                  aute6b2: {}
                interpolations:
                  minim069: {}
                  culpa_226: {}
                  qui_8: {}
                permissions:
                - asset:downloadFromPortal
                - lightbox:transferOwnership
        '403':
          description: The user does not have permission to perform this operation.
        '409':
          description: Conflict has occurred.
        '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).