This document provides a general description of Media Pocket API. Please setup API keys in UI under your profile settings. In case of problems email support@mediapocket.io

Resources

Allowed domains

Resource Description
GET /api/v2/admin/allowed_domains Get all allowed domains
POST /api/v2/admin/allowed_domains Add allowed domain
POST /api/v2/admin/allowed_domains/:allowed_domain_id Update allowed domain
DELETE /api/v2/admin/allowed_domains/:allowed_domain_id Remove allowed domain

Api keys

Resource Description
GET /api/v2/user/api_keys Get API keys for current user
POST /api/v2/user/api_keys Create new API key
POST /api/v2/user/api_keys/:api_key_id Delete API key

Articles

Resource Description
GET /api/v2/assets/:asset_id/article Get article content
PUT /api/v2/assets/:asset_id/article Update article content

Assets

Resource Description
GET /api/v2/assets/:asset_id/comments All comments
POST /api/v2/assets/:asset_id/comments Create comment
POST /api/v2/assets/:asset_id/comments/:comment_id Update comment
DELETE /api/v2/assets/:asset_id/comments/:comment_id Delete comment
GET /api/v2/assets/:asset_id/comments/:comment_id Get comment by ID
GET /api/v2/assets/:asset_id/dag_actions List DAG actions for asset
POST /api/v2/assets/:asset_id/dag_actions/:dag_action_id Start an action for asset
GET /api/v2/assets/:asset_id/dag_action_runs List DAG action runs for asset
GET /api/v2/assets/:asset_id/history/:cursor Get history
GET /api/v2/assets/:asset_id Get asset
GET /api/v2/assets/:asset_id/file_metadata Get file metadata for assets original file. Includes EXIF/IPTC/XMP metadata and mediainfo.
GET /api/v2/assets/:asset_id/collections Get collections that have the asset
GET /api/v2/assets/:asset_id/media Get asset media and preview URLs
GET /api/v2/assets/:asset_id/media/:media_id/download_url Get media download URL
POST /api/v2/assets/:asset_id/media Add media to asset
POST /api/v2/assets Create asset
PUT /api/v2/assets/:asset_id Update asset
POST /api/v2/assets/:asset_id/trash_bin Move asset to trash bin from where it will be deleted after 14 days
POST /api/v2/assets/:asset_id/restore Restores asset from trash bin
DELETE /api/v2/assets/:asset_id Permanently delete asset
POST /api/v2/assets/:asset_id/assign Assign asset to project
DELETE /api/v2/assets/:asset_id/unassign Unassign asset from project
DELETE /api/v2/assets/:asset_id/media Remove media from asset

Attachments

Resource Description
GET /api/v2/assets/:asset_id/attachments Get attachments for an asset
POST /api/v2/assets/:asset_id/attachments Create attachment for an asset
GET /api/v2/projects/:project_id/attachments Get attachments for project
POST /api/v2/projects/:project_id/attachments Create attachment for a project

Collections

Resource Description
POST /api/v2/collections/:collection_id/public Set as public
POST /api/v2/collections/:collection_id/private Set as private
GET /api/v2/collections/:collection_id/all_users List all users who are allowed to see this entity
GET /api/v2/collections/:collection_id/users List users
POST /api/v2/collections/:collection_id/users/:user_id Add user
DELETE /api/v2/collections/:collection_id/users/:user_id Remove user
POST /api/v2/collections/:collection_id/guests Invite guest by email
GET /api/v2/collections/:collection_id/user_groups Get user groups
POST /api/v2/collections/:collection_id/user_groups/:user_group_id Add user group
DELETE /api/v2/collections/:collection_id/user_groups/:user_group_id Remove user group
GET /api/v2/collections/:collection_id/history/:cursor Get history
GET /api/v2/collections List collection IDs for current user
GET /api/v2/collections/:collection_id Get a collection
POST /api/v2/collections/:collection_id/asset Add asset to collection
PUT /api/v2/collections/:collection_id Update collection metadata
POST /api/v2/collections Create a new collection
DELETE /api/v2/collections/:collection_id Delete collection

Custom fields

Resource Description
GET /api/v2/assets/:asset_id/custom_fields Get all custom fields for asset
POST /api/v2/assets/:asset_id/custom_fields/:field_group_id Create or update assets custom fields
DELETE /api/v2/assets/:asset_id/custom_fields/:field_group_id Delete assets custom fields
DELETE /api/v2/assets/:asset_id/custom_fields/:field_group_id/:complex_field_group_id Delete assets complex custom fields
GET /api/v2/projects/:project_id/custom_fields Get all custom fields for project
POST /api/v2/projects/:project_id/custom_fields/:field_group_id Create or update projects custom fields
DELETE /api/v2/projects/:project_id/custom_fields/:field_group_id Delete projects custom fields
DELETE /api/v2/projects/:project_id/custom_fields/:field_group_id/:complex_field_group_id Delete projects complex custom fields

Drop folders

Resource Description
POST /api/v2/drop_folders/:drop_folder_id/public Set as public
POST /api/v2/drop_folders/:drop_folder_id/private Set as private
GET /api/v2/drop_folders/:drop_folder_id/all_users List all users who are allowed to see this entity
GET /api/v2/drop_folders/:drop_folder_id/users List users
POST /api/v2/drop_folders/:drop_folder_id/users/:user_id Add user
DELETE /api/v2/drop_folders/:drop_folder_id/users/:user_id Remove user
POST /api/v2/drop_folders/:drop_folder_id/guests Invite guest by email
GET /api/v2/drop_folders/:drop_folder_id/user_groups Get user groups
POST /api/v2/drop_folders/:drop_folder_id/user_groups/:user_group_id Add user group
DELETE /api/v2/drop_folders/:drop_folder_id/user_groups/:user_group_id Remove user group
GET /api/v2/drop_folders/:drop_folder_id/history/:cursor Get history
GET /api/v2/drop_folders Get all drop folders
GET /api/v2/drop_folders/:drop_folder_id Get a drop folder
POST /api/v2/drop_folders Create drop folder
PUT /api/v2/drop_folders/:drop_folder_id Update drop folder metadata
DELETE /api/v2/drop_folders/:drop_folder_id Delete drop folder
GET /api/v2/drop_folders/:drop_folder_id/incoming_assets Get all incoming assets of a drop folder
GET /api/v2/drop_folders/:drop_folder_id/outgoing_assets Get all outgoing assets of a drop folder
POST /api/v2/drop_folders/:drop_folder_id/incoming_asset Add incoming asset to drop folder
POST /api/v2/drop_folders/:drop_folder_id/outgoing_asset Add outgoing asset to drop folder
POST /api/v2/drop_folders/:drop_folder_id/assets/incoming Create incoming asset to drop folder
POST /api/v2/drop_folders/:drop_folder_id/assets/outgoing Create outgoing asset to drop folder

External ids

Resource Description
GET /api/v2/external_ids/:external_id Get asset or project by external ID
GET /api/v2/external_ids Get all assets and projects which contain external ID

Favorites

Resource Description
POST /api/v2/favorites Add entity to favorites
DELETE /api/v2/favorites Remove entity from favorites

Field groups

Resource Description
GET /api/v2/field_groups Get all field groups
GET /api/v2/field_groups/:field_group_id Get field group by id
POST /api/v2/admin/field_groups Create field group
POST /api/v2/admin/field_groups/:field_group_id Update field group
POST /api/v2/admin/field_groups/:field_group_id/fields Add field to field group
DELETE /api/v2/admin/field_groups/:field_group_id Delete field group
DELETE /api/v2/admin/field_groups/:field_group_id/fields/:field_id Delete field from field group
POST /api/v2/admin/field_groups/:field_group_id/fields/:field_id Update field

Image crops

Resource Description
GET /api/v2/assets/:asset_id/image_crops Get all assets image crops
POST /api/v2/assets/:asset_id/image_crops Create new image asset crop
POST /api/v2/assets/:asset_id/image_crops/:image_crop_id Update image asset crop
DELETE /api/v2/assets/:asset_id/image_crops/:image_crop_id Delete image asset crop

Passwords

Resource Description
POST /api/v2/users/password Set password for user
POST /api/v2/users/password/reset Request a password reset
PUT /api/v2/users/password Reset password for user with password reset token

Permissions

Resource Description
GET /api/v2/permissions Get permissions for current user and user role

Ping

Resource Description
GET /api/v2/health Check health of all services
GET /api/v2/ping Ping service

Plugins

Resource Description
GET /api/v2/plugins Get all plugins

Preference

Resource Description
GET /api/v2/user/preference Get user preference
PUT /api/v2/user/preference Update user preference
DELETE /api/v2/user/preference/table_preset Remove chosen table preset, reset chosen table preset to default
POST /api/v2/user/preference/search_options Add a search option
DELETE /api/v2/user/preference/search_options/:search_option_id Remove search option

Projects

Resource Description
GET /api/v2/projects/:project_id/comments All comments
POST /api/v2/projects/:project_id/comments Create comment
POST /api/v2/projects/:project_id/comments/:comment_id Update comment
DELETE /api/v2/projects/:project_id/comments/:comment_id Delete comment
GET /api/v2/projects/:project_id/comments/:comment_id Get comment by ID
POST /api/v2/projects/:project_id/public Set as public
POST /api/v2/projects/:project_id/private Set as private
GET /api/v2/projects/:project_id/all_users List all users who are allowed to see this entity
GET /api/v2/projects/:project_id/users List users
POST /api/v2/projects/:project_id/users/:user_id Add user
DELETE /api/v2/projects/:project_id/users/:user_id Remove user
POST /api/v2/projects/:project_id/guests Invite guest by email
GET /api/v2/projects/:project_id/user_groups Get user groups
POST /api/v2/projects/:project_id/user_groups/:user_group_id Add user group
DELETE /api/v2/projects/:project_id/user_groups/:user_group_id Remove user group
GET /api/v2/projects/:project_id/history/:cursor Get history
GET /api/v2/projects List top level project IDs for current user
GET /api/v2/projects/:project_id Get project
GET /api/v2/projects/:project_id/projects Get child projects
GET /api/v2/projects/:project_id/assets Get assets and subproject for a project
GET /api/v2/projects/:project_id/stats Get project stats
POST /api/v2/projects Create project
PUT /api/v2/projects/:project_id Update project
POST /api/v2/projects/:project_id/trash_bin Move project and all related projects and assets to trash bin from where it will be deleted after 14 days
POST /api/v2/projects/:project_id/restore Restores project and all related projects and assets from trash bin
DELETE /api/v2/projects/:project_id Permanently delete project and all related projects and assets
POST /api/v2/projects/:project_id/assign Assign subproject to project
DELETE /api/v2/projects/:project_id/unassign Unassign subproject from project
PUT /api/v2/projects/:project_id/thumbnail Set project thumbnail
DELETE /api/v2/projects/:project_id/thumbnail Delete project thumbnail
POST /api/v2/projects/:project_id/assets Creates a new asset to project
POST /api/v2/projects/:project_id/projects Creates a new subproject to project

Publishing channels

Resource Description
GET /api/v2/publishing_channels Returns publishing channels for current user
GET /api/v2/publishing_channels/:publishing_channel_id Returns publishing channel by id
POST /api/v2/publishing_channels/:publishing_channel_id/share Share to publishing channel
POST /api/v2/admin/publishing_channels/aspera Create aspera publishing channel
POST /api/v2/admin/publishing_channels/ftp Create FTP publishing channel
POST /api/v2/admin/publishing_channels/scp Create SCP publishing channel
POST /api/v2/admin/publishing_channels/aws_s3 Create AWS S3 publishing channel
POST /api/v2/admin/publishing_channels/azure_blob Create Azure Blob publishing channel
POST /api/v2/admin/publishing_channels/:publishing_channel_id Update publishing channel
DELETE /api/v2/admin/publishing_channels/:publishing_channel_id Delete publishing channel

Registrations

Resource Description
POST /api/v2/users/sign_up Sign up new user

Review

Resource Description
POST /api/v2/assets/:asset_id/review/approve Set assets status to approved
POST /api/v2/assets/:asset_id/review/reject Set assets status to rejected
POST /api/v2/assets/:asset_id/review Set assets status to review

Search

Resource Description
POST /api/v2/search Search assets and projects

Sessions

Resource Description
POST /api/v2/users/sign_in Sign in user
POST /api/v2/users/sign_in/google Sign in user with Google
POST /api/v2/users/sign_in/azure Sign in user with Azure
DELETE /api/v2/users/sign_out Sign out user

Settings

Resource Description
GET /api/v2/settings Get settings
GET /api/v2/login_settings Get settings

Shareable links

Resource Description
GET /api/v2/shareable_links/:key Get shareable link
POST /api/v2/shareable_links Create shareable link
POST /api/v2/shareable_links/share Send shareable links by email

Table presets

Resource Description
GET /api/v2/table_presets Get all table presets for the user
POST /api/v2/table_presets Create a new table preset
POST /api/v2/table_presets/:table_preset_id/table_preset_columns Create a table preset column
PUT /api/v2/table_presets/:table_preset_id Change details of a table preset
PUT /api/v2/table_presets/:table_preset_id/table_preset_columns/:table_preset_column_id Change the details of a table preset column
DELETE /api/v2/table_presets/:table_preset_id Delete a table preset

Tokens

Resource Description
GET /api/v2/tokens/reset_password_token Find user by reset password token and return user email
GET /api/v2/tokens/confirmation_token Find user by confirmation token and return user email

User avatar

Resource Description
POST /api/v2/user/avatar Upload user avatar
DELETE /api/v2/user/avatar Delete user avatar

User groups

Resource Description
GET /api/v2/user_groups Get all user groups
POST /api/v2/admin/user_groups Create new UserGroup
POST /api/v2/admin/user_groups Update UserGroup
DELETE /api/v2/admin/user_groups/:user_group_id Delete UserGroup
POST /api/v2/admin/user_groups/:user_group_id/users Add User to UserGroup
DELETE /api/v2/admin/user_groups/:user_group_id/users Remove User from UserGroup

User profile

Resource Description
GET /api/v2/user/profile Get users profile
GET /api/v2/user/profile/terms Agree to terms
GET /api/v2/user/profile/email_notifications Returns true if email notifications are enabled
POST /api/v2/user/profile/email_notifications Enable or disable email notifications

User roles

Resource Description
GET /api/v2/admin/user_roles Get all UserRoles, included users
POST /api/v2/admin/user_roles Create new UserRole
DELETE /api/v2/admin/user_roles/:user_role_id Delete UserRole
POST /api/v2/admin/user_roles/:user_role_id Update UserRole
POST /api/v2/admin/user_roles/:user_role_id/permissions/:permission_id Update permission for UserRole

Users

Resource Description
GET /api/v2/users List users
POST /api/v2/admin/users/invite Invite new user
POST /api/v2/admin/users/:user_id Update user details
DELETE /api/v2/admin/users/:user_id Delete user
GET /api/v2/admin/users Get all users as an admin
GET /api/v2/admin/users/:user_id Get on user as an admin
GET /api/v2/admin/users/:user_id/projects Get Ids for all top level projects of which the user is a member
GET /api/v2/admin/users/:user_id/collections Get Ids for all collections of which the user is a member
GET /api/v2/admin/users/:user_id/drop_folders Get all drop folders that the user is a member of

Video clips

Resource Description
GET /api/v2/assets/:asset_id/video_clips Get all assets video clips
POST /api/v2/assets/:asset_id/video_clips Create a new video clip
POST /api/v2/assets/:asset_id/video_clips/:video_clip_id/render Render video clip
DELETE /api/v2/assets/:asset_id/video_clips/:video_clip_id Delete video clip

Webhooks

Resource Description
GET /api/v2/admin/webhooks Get all webhooks
GET /api/v2/admin/webhooks/:webhook_id/success Get webhook success log
GET /api/v2/admin/webhooks/:webhook_id/failed Get webhook failure log
POST /api/v2/admin/webhooks Create new webhook
POST /api/v2/admin/webhooks/:webhook_id Update webhook
DELETE /api/v2/admin/webhooks/:webhook_id Delete webhook
POST /api/v2/admin/webhooks/:webhook_id/webhook_headers Create new webhook header
DELETE /api/v2/admin/webhooks/:webhook_id/webhook_headers/:webhook_header_id Delete webhook header
POST /api/v2/admin/webhooks/:webhook_id/webhook_users Create new webhook user
DELETE /api/v2/admin/webhooks/:webhook_id/webhook_users/:webhook_user_id Delete webhook user