openapi: 3.0.3
info:
title: MediaValet Open Assets Keywords API
description: 'The MediaValet Open API is a RESTful, JSON, hypermedia-driven interface to the MediaValet cloud digital asset management (DAM) platform. It lets developers and partners automate the management of digital assets, categories, attributes, keywords, uploads, and users. Requests are made to the API gateway at https://api.mediavalet.com and must carry two credentials: an OAuth 2.0 (OIDC) Bearer access token obtained from https://login.mediavalet.com/connect/token, and a per-account subscription key sent in the Ocp-Apim-Subscription-Key header. Access to the API requires a MediaValet subscription and Developer Portal registration. The paths documented here are modeled from MediaValet''s public developer documentation and community SDKs; verify exact request/response schemas against the live reference at docs.mediavalet.com.'
version: '1.0'
contact:
name: MediaValet
url: https://www.mediavalet.com
servers:
- url: https://api.mediavalet.com
description: MediaValet API gateway (public)
security:
- oauth2: []
subscriptionKey: []
tags:
- name: Keywords
description: Keyword vocabulary and per-asset tagging.
paths:
/keywords:
get:
operationId: listKeywords
tags:
- Keywords
summary: List keywords
description: List the keyword vocabulary for the library.
responses:
'200':
description: A list of keywords.
content:
application/json:
schema:
type: object
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createKeyword
tags:
- Keywords
summary: Create a keyword
description: Add a new keyword to the library vocabulary.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Keyword'
responses:
'201':
description: The created keyword.
content:
application/json:
schema:
$ref: '#/components/schemas/Keyword'
'401':
$ref: '#/components/responses/Unauthorized'
/keywords/{keywordId}:
get:
operationId: getKeyword
tags:
- Keywords
summary: Get a keyword
description: Retrieve a single keyword by its identifier.
parameters:
- name: keywordId
in: path
required: true
schema:
type: string
responses:
'200':
description: The requested keyword.
content:
application/json:
schema:
$ref: '#/components/schemas/Keyword'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/keywordGroups:
get:
operationId: listKeywordGroups
tags:
- Keywords
summary: List keyword groups
description: List the keyword groups that organize the keyword vocabulary.
responses:
'200':
description: A list of keyword groups.
content:
application/json:
schema:
type: object
'401':
$ref: '#/components/responses/Unauthorized'
components:
responses:
Unauthorized:
description: Authentication failed - missing or invalid access token or subscription key.
NotFound:
description: The requested resource was not found.
schemas:
Keyword:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
keywordGroupId:
type: string
format: uuid
securitySchemes:
oauth2:
type: oauth2
description: OAuth 2.0 / OpenID Connect. Obtain an access token from https://login.mediavalet.com/connect/token using the authorization code flow (interactive apps) or password / client-credential grants, with scopes openid api offline_access. Send the token as a Bearer Authorization header.
flows:
authorizationCode:
authorizationUrl: https://login.mediavalet.com/connect/authorize
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.