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

Admin 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

Admin field groups

Resource Description
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

Admin publishing channels

Resource Description
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

Admin user groups

Resource Description
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

Admin 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

Admin users

Resource Description
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 all projects of which user is a member

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 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
GET /api/v2/collections/:collection_id Get a collection
POST /api/v2/collections/:collection_id/asset Add asset to collection
GET /api/v2/collections/:collection_id/members Get all members of a collection
GET /api/v2/collections/:collection_id/assets Get all assets of a collection
POST /api/v2/collections/:collection_id/members Add user to collection
DELETE /api/v2/collections/:collection_id/members Remove user from 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
GET /api/v2/collections/:collection_id/user_groups Get collection user groups
POST /api/v2/collections/:collection_id/user_groups Add user group to collection
DELETE /api/v2/collections/:collection_id/user_groups Remove UserGroup from collection
POST /api/v2/collections/:collection_id/guests Add guests to collection

Comments

Resource Description
GET /api/v2/assets/:asset_id/comments Get comments for asset
POST /api/v2/assets/:asset_id/comments Create comment for asset
DELETE /api/v2/assets/:asset_id/comments/:comment_id Delete comment from asset
POST /api/v2/assets/:asset_id/comments/:comment_id Update comment for asset
GET /api/v2/projects/:project_id/comments Get comments for project
POST /api/v2/projects/:project_id/comments Create comment for project
DELETE /api/v2/projects/:project_id/comments/:comment_id Delete comment from project
POST /api/v2/projects/:project_id/comments/:comment_id Update comment for project

Custom fields

Resource Description
GET /api/v2/assets/:asset_id/custom_fields Returns custom fields for asset
POST /api/v2/assets/:asset_id/custom_fields/:field_group_id Update field group for asset, Including fields
DELETE /api/v2/assets/:asset_id/custom_fields/:field_group_id Remove field group from asset
DELETE /api/v2/assets/:asset_id/custom_fields/:field_group_id/:complex_field_group_id Delete complex field group from asset
GET /api/v2/projects/:project_id/custom_fields Returns custom fields for project
POST /api/v2/projects/:project_id/custom_fields/:field_group_id Update field group for project, Including fields
DELETE /api/v2/projects/:project_id/custom_fields/:field_group_id Remove field group from project
DELETE /api/v2/projects/:project_id/custom_fields/:field_group_id/:complex_field_group_id Delete complex field group from project

Drop folders

Resource Description
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
GET /api/v2/drop_folders/:drop_folder_id/members Get all members of a drop folder
POST /api/v2/drop_folders/:drop_folder_id/members Add user to drop folder
DELETE /api/v2/drop_folders/:drop_folder_id/members Remove user from drop folder
POST /api/v2/drop_folders/:drop_folder_id/guests Add guests to drop folder
GET /api/v2/drop_folders/:drop_folder_id/user_groups Get drop folder user groups
POST /api/v2/drop_folders/:drop_folder_id/user_groups Add user group to drop folder
DELETE /api/v2/drop_folders/:drop_folder_id/user_groups Remove user group from 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

History

Resource Description
GET /api/v2/assets/:asset_id/history Get asset history
GET /api/v2/projects/:project_id/history Get project history
GET /api/v2/collections/:collection_id/history Get collection history
GET /api/v2/drop_folders/:drop_folder_id/history Get drop folder history
GET /api/v2/assets/history Get all assets history in a given timeframe
GET /api/v2/projects/history Get all projects history in a given timeframe
GET /api/v2/history Get all events in a given timeframe

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

Projects

Resource Description
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/members Get project members
GET /api/v2/projects/:project_id/user_groups Get project UserGroups
POST /api/v2/projects/:project_id/user_groups Add UserGroup to project
DELETE /api/v2/projects/:project_id/user_groups Remove UserGroup from project
POST /api/v2/projects/:project_id/members Add user to project
DELETE /api/v2/projects/:project_id/members Remove user from project
POST /api/v2/projects/:project_id/guests Add guest to project
GET /api/v2/projects/:project_id/assets Get assets and subproject for a project
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
GET /api/v2/projects/:project_id/tags Get tags and ai tags for project including all subprojects and assets
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/public Sets project as public
POST /api/v2/projects/:project_id/private Sets project as private
POST /api/v2/projects/:project_id/assets Creates a new asset 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

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 links

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
PUT /api/v2/table_presets/:table_preset_id Change details of a table preset
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

User profile

Resource Description
GET /api/v2/user/profile Get users profile
PUT /api/v2/user/profile Update 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

Users

Resource Description
GET /api/v2/users List users

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