# authorship: generated by API Evangelist tooling. Stamped 2026-08-18
# on the file's own generator header (roadmap#64). An unmarked file is
# NOT assumed to be ours -- absence of evidence was never stamped.
x-method: generated
overlay: 1.0.0
info:
title: API Evangelist enhancements for Vidmob Creative Scoring API
version: 1.0.0
extends: openapi/vidmob-creative-scoring-openapi.json
x-generated: '2026-08-05'
x-method: generated
x-source: >-
Enhancements derived from the Vidmob developer documentation
(https://vidmob-api-docs.readme.io/) and the artifacts in this repo. The harvested spec is never mutated.
actions:
- target: $.info
update:
description: >-
Submit an external media asset for evaluation against the guidelines configured for a Vidmob workspace and read
back a weighted score and adherencePercent per advertising channel, plus a per-guideline PASS / FAIL /
NOT_APPLICABLE / NO_DATA_* breakdown. Asynchronous: POST the media, poll status every 10-15 minutes, then fetch
scores.
contact:
name: Vidmob Support
email: support@vidmob.com
url: https://help.vidmob.com/en/
x-apievangelist-slug: vidmob
x-apievangelist-conventions: conventions/vidmob-conventions.yml
x-apievangelist-errors: errors/vidmob-problem-types.yml
x-apievangelist-data-model: data-model/vidmob-data-model.yml
x-idempotency:
supported: true
mechanism: natural-key deduplication on id + version + source
signal: 'HTTP 409 returns the existing uniqueId; treat as a successful deduplicated submit'
x-rate-limits:
documented: partial
statement: Per-organization throttling applied to all endpoints; numeric limits available from Vidmob support only.
- target: $.servers
update:
- url: https://public-api.vidmob.com
description: Production
- target: $.components.securitySchemes.sec0
update:
description: >-
Organization-scoped API key sent as `Authorization: Bearer <api-key>`. Generated by an Organizational Admin at
https://acs.vidmob.com/api-key-management. Scoring operations require the scoring:read scope; POST /v1/media
requires scoring:read_write.
- target: $.paths['/v1/media'].post
update:
x-async: true
x-poll-operation: get-media-scoring-status
x-poll-interval: PT15M
x-idempotent: true
x-idempotency-key-fields: [id, version, source]
- target: $.paths['/v1/media/{mediaId}/status'].get
update:
x-terminal-statuses: [COMPLETE, UNSUPPORTED, FAILED]
x-retryable-statuses: [PROCESSING, ERROR]
- target: $.paths['/v1/scoring/media/{mediaId}/scores'].get
update:
x-result-codes: errors/vidmob-no-data-codes.yml
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.