MediaValet Keyword Groups API
Groupings of controlled-vocabulary keywords.
Groupings of controlled-vocabulary keywords.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/mediavalet:mediavalet-keywordgroups-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 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).