openapi: 3.0.3 info: title: MediaValet Persons 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: Persons description: Person/face recognition records used to tag people in assets. paths: /categories/{categoryId}/persons: get: operationId: personsGetPersonsInCategoryAsync summary: Persons Get Persons In Category Async tags: - Persons parameters: - name: categoryId in: path required: true description: categoryId 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: object properties: personCount: type: integer persons: type: array items: type: object properties: id: type: string format: uuid thumbnailUrl: type: string numberOfAssets: type: integer name: type: string identified: type: boolean example: personCount: persons: - id: thumbnailUrl: numberOfAssets: name: identified: - id: thumbnailUrl: numberOfAssets: name: identified: '400': description: There was a problem with the data sent with the request. '403': description: The user does not have permission to perform this operation. '500': description: The request failed because of a problem on the server. /persons/{identificationType}/mostViewed: get: operationId: retrieveFacesInMostViewedAssets summary: Retrieve Faces in Most viewed Assets description: Returns list faces of most viewed assets. tags: - Persons parameters: - name: identificationType in: path required: true description: identificationType 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: object properties: id: type: string format: uuid thumbnailUrl: type: string name: type: string identified: type: boolean libaryId: type: string format: uuid example: id: thumbnailUrl: name: identified: libaryId: '403': description: The user does not have permission to perform this operation. /categories/{categoryId}/persons/identified: get: operationId: personsGetIdentifiedPersonsInCategoryAsync summary: Persons Get Identified Persons In Category Async tags: - Persons parameters: - name: categoryId in: path required: true description: categoryId 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: object properties: personCount: type: integer persons: type: array items: type: object properties: id: type: string format: uuid thumbnailUrl: type: string numberOfAssets: type: integer name: type: string identified: type: boolean example: personCount: persons: - id: thumbnailUrl: numberOfAssets: name: identified: - id: thumbnailUrl: numberOfAssets: name: identified: '400': description: There was a problem with the data sent with the request. '403': description: The user does not have permission to perform this operation. '500': description: The request failed because of a problem on the server. /categories/{categoryId}/persons/unidentified: get: operationId: personsGetUnidentifiedPersonsInCategoryAsync summary: Persons Get Unidentified Persons In Category Async tags: - Persons parameters: - name: categoryId in: path required: true description: categoryId 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: object properties: personCount: type: integer persons: type: array items: type: object properties: id: type: string format: uuid thumbnailUrl: type: string numberOfAssets: type: integer name: type: string identified: type: boolean example: personCount: persons: - id: thumbnailUrl: numberOfAssets: name: identified: - id: thumbnailUrl: numberOfAssets: name: identified: '400': description: There was a problem with the data sent with the request. '403': description: The user does not have permission to perform this operation. '500': description: The request failed because of a problem on the server. /persons/{identificationType}/recentlyUploaded: get: operationId: retrieveFacesOfRecentlyUploadedAssets summary: Retrieve Faces of recently Uploaded Assets description: Returns list of faces recently uploaded assets. tags: - Persons parameters: - name: identificationType in: path required: true description: identificationType 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: object properties: id: type: string format: uuid thumbnailUrl: type: string name: type: string identified: type: boolean libaryId: type: string format: uuid example: id: thumbnailUrl: name: identified: libaryId: '403': description: The user does not have permission to perform this operation. /persons/identified/search: post: operationId: personsGetIdentifiedPersons summary: Persons Get Identified Persons tags: - Persons 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: Filters: type: string Debug: type: boolean ThresholdStrategy: type: string Count: type: integer Offset: type: integer OrderBy: type: string ContainerFilter: type: string SearchTerm: type: string SearchFields: type: string IncludeTotalCount: type: boolean IncludeSoftDeleted: type: boolean UseSemanticSearch: type: boolean UseRrf: type: boolean SemanticSearchSimilarity: type: number FileId: type: string FileUrl: type: string FileSearchExactMatch: type: boolean example: Filters: Debug: ThresholdStrategy: Count: Offset: OrderBy: ContainerFilter: SearchTerm: SearchFields: IncludeTotalCount: IncludeSoftDeleted: UseSemanticSearch: UseRrf: SemanticSearchSimilarity: FileId: FileUrl: FileSearchExactMatch: responses: '200': description: Request was successful. content: application/json: schema: type: object properties: personCount: type: integer persons: type: array items: type: object properties: id: type: string format: uuid thumbnailUrl: type: string numberOfAssets: type: integer name: type: string identified: type: boolean example: personCount: persons: - id: thumbnailUrl: numberOfAssets: name: identified: - id: thumbnailUrl: numberOfAssets: name: identified: '400': description: There was a problem with the data sent with the request. '403': description: The user does not have permission to perform this operation. '500': description: The request failed because of a problem on the server. /persons/unidentified/search: post: operationId: personsGetUnidentifiedPersons summary: Persons Get Unidentified Persons tags: - Persons 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: Filters: type: string Debug: type: boolean ThresholdStrategy: type: string Count: type: integer Offset: type: integer OrderBy: type: string ContainerFilter: type: string SearchTerm: type: string SearchFields: type: string IncludeTotalCount: type: boolean IncludeSoftDeleted: type: boolean UseSemanticSearch: type: boolean UseRrf: type: boolean SemanticSearchSimilarity: type: number FileId: type: string FileUrl: type: string FileSearchExactMatch: type: boolean example: Filters: Debug: ThresholdStrategy: Count: Offset: OrderBy: ContainerFilter: SearchTerm: SearchFields: IncludeTotalCount: IncludeSoftDeleted: UseSemanticSearch: UseRrf: SemanticSearchSimilarity: FileId: FileUrl: FileSearchExactMatch: responses: '200': description: Request was successful. content: application/json: schema: type: object properties: personCount: type: integer persons: type: array items: type: object properties: id: type: string format: uuid thumbnailUrl: type: string numberOfAssets: type: integer name: type: string identified: type: boolean example: personCount: persons: - id: thumbnailUrl: numberOfAssets: name: identified: - id: thumbnailUrl: numberOfAssets: name: identified: '400': description: There was a problem with the data sent with the request. '403': description: The user does not have permission to perform this operation. '500': description: The request failed because of a problem on the server. /persons/{personId}: patch: operationId: updatePersonName summary: Update person name description: Update person name. tags: - Persons parameters: - name: personId in: path required: true description: personId 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: path: value: {} from: - op: path: value: {} from: responses: '200': description: Request was successful. content: application/json: schema: type: object properties: id: type: string format: uuid thumbnailUrl: type: string name: type: string identified: type: boolean libaryId: type: string format: uuid example: id: thumbnailUrl: name: identified: libaryId: '400': description: There was a problem with the data sent with the request. '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).