API Guide

Overview of the Nomad Media REST API — base URLs, authentication, common patterns, versioning, and webhook endpoints.

Nomad Media API Documentation

Overview

The Nomad Media API Gateway is a comprehensive media management platform that provides RESTful APIs for asset management, live streaming, content delivery, search, security, and third-party integrations. The platform is served through two primary API entry points — the Admin API for administrative operations and the Portal API for end-user-facing functionality.


Base URLs

APIBase PathDescription
Admin API/admin/...Administrative operations — asset management, security, users, scheduling, statistics, setup
Portal API/api/...User-facing operations — media delivery, search, content groups, payments, embedded players
V1 Legacy API/v1/...Legacy endpoints for backward compatibility

Authentication

All authenticated endpoints require a JWT Bearer token in the Authorization header:

Authorization: Bearer <your-access-token>

Tokens are obtained through the login flow and have a limited lifetime. Use refresh tokens to obtain new access tokens before expiration.

For full details, see Authentication & Account Management.


API Documentation Index

Core APIs

DocumentDescriptionKey Endpoints
Authentication & AccountLogin, registration, tokens, password management, facial recognition27 endpoints
Asset ManagementAsset CRUD, uploads, clips, screenshots, annotations, transcription69 endpoints
SearchFull-text search, filters, sorting, pagination, saved searches~15 endpoints
Content ManagementContent metadata, batch actions, content definitions~10 endpoints
Portal APIPortal groups, featured content, saved searches, profiles~35 endpoints

Streaming & Media

DocumentDescriptionKey Endpoints
Live StreamingChannels, inputs, output profiles, schedule events, operators57 endpoints
System AdministrationMedia groups, items, media builders, MRSS/Roku feeds~50 endpoints

Administration

DocumentDescriptionKey Endpoints
Security & UsersSecurity groups, permissions, user management, audit~20 endpoints
System AdministrationSystem setup, scheduling, statistics, collections, tags, payments~90 endpoints

Integrations

DocumentDescriptionKey Endpoints
Third-Party IntegrationsShares, encoding webhooks, AI processing, streaming, DAM imports~35 endpoints

Reference

DocumentDescription
Enums & LookupsComplete reference of enumeration types and lookup values
Error HandlingError response format, HTTP status codes, error scenarios
Models ReferenceIndex of all request and response model types

Common Response Patterns

Successful Responses

StatusDescription
200 OKRequest succeeded. Response body contains the result.
204 No ContentRequest succeeded. No content to return.

Error Responses

StatusDescription
400 Bad RequestInvalid parameters, missing required fields, or business rule violation.
401 UnauthorizedBearer token is missing, expired, or invalid.
403 ForbiddenAuthenticated user lacks required permissions.
404 Not FoundRequested resource does not exist.
500 Internal Server ErrorUnexpected server error.

Error responses return a JSON body with the errors array. See Error Handling for full details.


Common Response Types

IdModel

Returned by create and delete operations:

{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

ListResultModel<T>

Returned by search and list operations:

{
  "items": [...],
  "totalItemCount": 150,
  "hasItems": true,
  "relatedItems": [...]
}

BatchResultModel

Returned by bulk operations (collections, tags, related content):

{
  "totalCount": 10,
  "successCount": 8,
  "errorCount": 2,
  "errors": [...]
}

LookupModel

Used for reference values throughout the API:

{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "description": "Display Name"
}

For the complete models reference, see Models Reference.


API Versioning

Current API (v2)

The current API is the default version and is accessed without a version prefix. All new development should target these endpoints.

  • Admin endpoints: admin/{resource} (e.g., admin/asset, admin/schedule)
  • Portal endpoints: {resource} (e.g., media, payment, comment)
  • Core endpoints: {resource} (e.g., account, asset, ping)

V1 Legacy API

The V1 API provides backward-compatible endpoints for older integrations. These endpoints are prefixed with v1/ and are maintained for existing clients.

V1 endpoints include:

  • v1/config — Application configuration
  • v1/content — Content CRUD
  • v1/contentDefinition — Content definition schemas
  • v1/contentDefinitionGroup — Content definition groups
  • v1/contentInstance — Content instances
  • v1/contentLabel — Content labels
  • v1/contentType — Content types
  • v1/field — Field definitions
  • v1/lookup — Lookup values

Migration Notes:

  • V1 endpoints return data in the legacy Vibrant CMS format
  • Current API endpoints return data in the Nomad Media format
  • V1 endpoints are fully documented but new integrations should use the current API
  • Both API versions share the same authentication mechanism (JWT Bearer tokens)

Webhook Endpoints

Several endpoints receive callbacks from external services and do not require Bearer token authentication:

RouteServiceDescription
s3/webhookAWS S3S3 bucket event notifications
twelve-labs/notificationTwelve LabsVideo understanding task callbacks
mobius-labs/notification/{id}/{callbackType}Mobius LabsAI feature extraction callbacks
admin/job/{id}Encoding ServicesTranscoding job completion callbacks
admin/transcribe-job/notificationTranscriptionTranscription job callbacks
red5/notificationRed5 ProLive streaming event callbacks
theolive/notificationTHEOliveLive streaming event callbacks
bitmovin/notificationBitmovinEncoding completion callbacks
hybrik/notificationHybrikEncoding completion callbacks
phenix/notificationPhenixRTS event callbacks

See Third-Party Integrations and System Administration for full details.


Background Processing

Many long-running operations support a background query parameter (default: true):

POST /admin/schedule/{scheduleId}/start?background=true
POST /admin/canto/import?background=true
POST /admin/statistics/exportjournal?background=true

When background=true, the API immediately returns a response while the operation is processed asynchronously via a message queue. When background=false, the operation runs synchronously and the response is returned upon completion.


Content Types

The API primarily produces and consumes JSON (application/json), with the following exceptions:

Content TypeEndpoints
application/jsonDefault for all endpoints
text/htmlembedded/iframe-media, embedded/share-media
text/xml / application/xmlmrss/feed, edge-caster endpoints
text/plainmedia/routes, media/sitemap/{baseUrl}
application/vnd.openxmlformats-officedocument.spreadsheetml.sheetStatistics journal export