REST API
Authentication
curl https://api.ojin.ai/v1/model-configs \
-H "X-API-Key: $OJIN_API_KEY"Model Configurations
API key for authenticated access to the Ojin REST API.
Filter model configurations by the model_variant_id.
Filter items by ownership source. Use 'org' for items owned by the user's organization, 'template' for items from the template organization. Defaults to 'org'.
orgPossible values: Number of items to return per page.
20Number of items to skip for pagination.
0A paginated list of model configurations.
Invalid request payload or parameters.
Authentication token is missing, invalid, or expired.
Authenticated principal does not have permission.
API key for authenticated access to the Ojin REST API.
Payload for creating a new Model Configuration.
Model Configuration created.
Invalid request payload or parameters.
Authentication token is missing, invalid, or expired.
Authenticated principal does not have permission.
Referenced ModelVariant not found.
API key for authenticated access to the Ojin REST API.
The unique identifier (UUID) of the Model Configuration.
Model Configuration details.
Represents a specific configuration of a ModelVariant.
Server-generated unique ID.
Owning organization ID (from external IdP).
ID of the parent Model, derived from the Model Variant.
ID of the ModelVariant being configured. NOT NULL.
Creator's user ID (from external IdP).
Title for the configuration. NOT NULL, unique per organization_id.
Timestamp of creation. Defaults to CURRENT_TIMESTAMP.
Timestamp of last update. Auto-updates.
Authentication token is missing, invalid, or expired.
Authenticated principal does not have permission.
The requested resource was not found.
API key for authenticated access to the Ojin REST API.
The unique identifier (UUID) of the Model Configuration.
Payload for updating a Model Configuration (title and parameters only).
Model Configuration updated.
Represents a specific configuration of a ModelVariant.
Server-generated unique ID.
Owning organization ID (from external IdP).
ID of the parent Model, derived from the Model Variant.
ID of the ModelVariant being configured. NOT NULL.
Creator's user ID (from external IdP).
Title for the configuration. NOT NULL, unique per organization_id.
Timestamp of creation. Defaults to CURRENT_TIMESTAMP.
Timestamp of last update. Auto-updates.
Invalid request payload or parameters.
Authentication token is missing, invalid, or expired.
Authenticated principal does not have permission.
The requested resource was not found.
API key for authenticated access to the Ojin REST API.
The unique identifier (UUID) of the Model Configuration.
Delete reference to the agent configuration.
Operation successful, no content to return.
Authentication token is missing, invalid, or expired.
Authenticated principal does not have permission.
The requested resource was not found.
Conflict - Cannot delete, referenced by AgentConfig.
No content
Model Variants
API key for authenticated access to the Ojin REST API.
Filter model variants by parent model_id.
Filter by status.
Filter model variants by a comma-separated list of tags (AND logic).
Number of items to return per page.
20Number of items to skip for pagination.
0A paginated list of model variants.
Invalid request payload or parameters.
Authentication token is missing, invalid, or expired.
Authenticated principal does not have permission.
API key for authenticated access to the Ojin REST API.
The unique identifier of the model variant.
Model Variant details.
Represents a specific variant of a Model.
Client-provided unique identifier (e.g., "ojin/oris-v1/standard").
ojin/oris-1.0/standardIdentifier of the parent Model. NOT NULL.
ojin/oris-1.0Display name for the variant. NOT NULL, unique per model_id.
Standard QualityURL for a preview media.
https://cdn.ojin.ai/previews/variant.jpgList of descriptive tags. NOT NULL, defaults to '[]'.
["general-purpose","real-time"]Status (e.g., 'available', 'deprecated'). NOT NULL. List managed in code.
availableTimestamp of creation. Server-generated. Defaults to CURRENT_TIMESTAMP.
Timestamp of last update. Server-generated. Auto-updates.
Authentication token is missing, invalid, or expired.
Authenticated principal does not have permission.
The requested resource was not found.
Assets
API key for authenticated access to the Ojin REST API.
Payload to initiate a multipart asset upload.
Original filename of the asset.
conference_highlights.movCategory for the asset (e.g., 'video', 'image').
videoClient-declared MIME type of the file.
video/quicktimeClient-declared file size in bytes.
52428800Multipart upload initiated successfully. Returns asset_id and upload_id.
Response from initiating a multipart asset upload.
A unique ID generated by Core API for this asset transaction.
The multipart upload ID from S3, used to identify this multipart upload session.
The S3 key for this asset.
Invalid request payload or parameters.
Authentication token is missing, invalid, or expired.
Authenticated principal does not have permission.
API key for authenticated access to the Ojin REST API.
Payload to get a pre-signed URL for uploading a specific part of a multipart upload.
The S3 key for this asset.
The asset ID from the initiate upload response.
The multipart upload ID from the initiate upload response.
The part number for this upload part (1-10000).
Pre-signed URL generated successfully for the specified part.
Response containing the pre-signed URL for uploading a specific part.
The pre-signed S3 URL to PUT this specific part to.
The part number this URL is for.
Invalid request payload or parameters.
Authentication token is missing, invalid, or expired.
Authenticated principal does not have permission.
Multipart upload session not found.
API key for authenticated access to the Ojin REST API.
Payload to finalize a multipart asset upload and create the asset metadata record in DB.
The unique ID received from the 'initiate-upload' step.
The multipart upload ID from the 'initiate-upload' step.
The original filename (must be consistent with initiate request).
The asset category (must be consistent with initiate request).
Final confirmed MIME type of the asset.
Final confirmed size of the asset in bytes.
Multipart upload completed successfully and Asset record created in DB.
Invalid request payload or parameters.
Authentication token is missing, invalid, or expired.
Authenticated principal does not have permission.
Multipart upload session not found.
Conflict with the current state of the resource.
API key for authenticated access to the Ojin REST API.
Filter items by ownership source. Use 'org' for items owned by the user's organization, 'template' for items from the template organization. Defaults to 'org'.
orgPossible values: Filter assets by category.
Filter assets by name (e.g., for partial match - specific behavior TBD by implementation).
Number of items to return per page.
20Number of items to skip for pagination.
0A paginated list of Asset metadata.
Invalid request payload or parameters.
Authentication token is missing, invalid, or expired.
Authenticated principal does not have permission.
API key for authenticated access to the Ojin REST API.
The unique identifier (UUID) of the Asset.
Successfully retrieved Asset metadata, including a download URL.
Represents a digital asset managed by the Core API.
Unique identifier for the Asset, generated during upload initiation.
123e4567-e89b-12d3-a456-426614174000ID of the Organisation (from external IdP) that owns this Asset. Server-set.
org_123abcUser ID of the creator (from external IdP). Server-set.
user_789defThe original file name of the Asset. NOT NULL.
product_promo.mp4Primary category of the Asset (e.g., 'video', 'image', 'weight'). NOT NULL. List of values managed in code.
videoThe MIME type of the asset. NOT NULL.
video/mp4The size of the asset in bytes. NOT NULL.
10485760The ETag of the S3 object, used for integrity checking. NOT NULL.
"d41d8cd98f00b204e9800998ecf8427e"Timestamp of when this Asset record was created (finalized). Server-generated. Defaults to CURRENT_TIMESTAMP.
Timestamp of the last update to this Asset record. Server-generated. Auto-updates on modification.
A temporary, pre-signed URL to download the asset's content. This URL will expire.
https://s3.amazonaws.com/ojin-assets/asset.mp4?X-Amz-Algorithm=...Authentication token is missing, invalid, or expired.
Authenticated principal does not have permission.
The requested resource was not found.
API key for authenticated access to the Ojin REST API.
The unique identifier (UUID) of the Asset.
Successfully retrieved Asset metadata.
Represents a digital asset managed by the Core API.
Unique identifier for the Asset, generated during upload initiation.
123e4567-e89b-12d3-a456-426614174000ID of the Organisation (from external IdP) that owns this Asset. Server-set.
org_123abcUser ID of the creator (from external IdP). Server-set.
user_789defThe original file name of the Asset. NOT NULL.
product_promo.mp4Primary category of the Asset (e.g., 'video', 'image', 'weight'). NOT NULL. List of values managed in code.
videoThe MIME type of the asset. NOT NULL.
video/mp4The size of the asset in bytes. NOT NULL.
10485760The ETag of the S3 object, used for integrity checking. NOT NULL.
"d41d8cd98f00b204e9800998ecf8427e"Timestamp of when this Asset record was created (finalized). Server-generated. Defaults to CURRENT_TIMESTAMP.
Timestamp of the last update to this Asset record. Server-generated. Auto-updates on modification.
Authentication token is missing, invalid, or expired.
Authenticated principal does not have permission.
The requested resource was not found.
API key for authenticated access to the Ojin REST API.
The unique identifier (UUID) of the Asset.
Operation successful, no content to return.
Authentication token is missing, invalid, or expired.
Authenticated principal does not have permission.
The requested resource was not found.
No content
API key for authenticated access to the Ojin REST API.
Request payload to trigger idle video generation.
The ID of the source image asset to use for generating the idle video.
123e4567-e89b-12d3-a456-426614174000The reference motion template to use (e.g., 'v1', 'v2', 'v3').
v1Possible values: Job accepted and queued for processing.
Invalid request payload or parameters.
Authentication token is missing, invalid, or expired.
Authenticated principal does not have permission.
Source asset not found.
Public Widget Endpoints
The unique identifier (UUID) of the Model Configuration.
Model Configuration details (without internal fields).
Public variant of ModelConfig for widget embedding. Strips internal fields (organization_id, created_by) that are not needed by the widget.
Server-generated unique ID.
ID of the parent Model, derived from the Model Variant.
ID of the ModelVariant being configured.
Title for the configuration.
Timestamp of creation.
Timestamp of last update.
The requested resource was not found.
The unique identifier (UUID) of the Asset.
Successfully retrieved Asset metadata with download URL (without internal fields).
Public variant of Asset for widget embedding. Strips internal fields (organization_id, created_by) and includes a pre-signed download URL.
Unique identifier for the Asset.
123e4567-e89b-12d3-a456-426614174000The original file name of the Asset.
product_promo.mp4Primary category of the Asset (e.g., 'video', 'image', 'weight').
videoThe MIME type of the asset.
video/mp4The size of the asset in bytes.
10485760The ETag of the S3 object.
"d41d8cd98f00b204e9800998ecf8427e"Timestamp of creation.
Timestamp of last update.
A temporary, pre-signed URL to download the asset's content. This URL will expire.
https://s3.amazonaws.com/ojin-assets/asset.mp4?X-Amz-Algorithm=...The requested resource was not found.
Schemas
Last updated
Was this helpful?