TypeScript SDK Reference
Installation
Usage
Instantiate and use the client with the following:
Request And Response Types
The SDK exports all request and response types as TypeScript interfaces. Simply import them with the following namespace:
Exception Handling
When the API returns a non-success status code (4xx or 5xx response), a subclass of the following error will be thrown.
Advanced
Additional Headers
If you would like to send additional headers as part of the request, use the headers request option.
Additional Query String Parameters
If you would like to send additional query string parameters as part of the request, use the queryParams request option.
Retries
The SDK is instrumented with automatic retries with exponential backoff. A request will be retried as long as the request is deemed retryable and the number of retry attempts has not grown larger than the configured retry limit (default: 2).
A request is deemed retryable when any of the following HTTP status codes is returned:
- 408 (Timeout)
- 429 (Too Many Requests)
- 5XX (Internal Server Errors)
Use the maxRetries request option to configure this behavior.
Timeouts
The SDK defaults to a 60 second timeout. Use the timeoutInSeconds option to configure this behavior.
Aborting Requests
The SDK allows users to abort requests at any point by passing in an abort signal.
Access Raw Response Data
The SDK provides access to raw response data, including headers, through the .withRawResponse() method. The .withRawResponse() method returns a promise that results to an object with a data and a rawResponse property.
Runtime Compatibility
The SDK works in the following runtimes:
- Node.js 18+
- Vercel
- Cloudflare Workers
- Deno v1.25+
- Bun 1.0+
- React Native
Customizing Fetch Client
The SDK provides a way for you to customize the underlying HTTP client / Fetch function. If you’re running in an unsupported environment, this provides a way for you to break glass and ensure the SDK works.
Reference
Account Permissions
client.accountPermissions.index(accountId, { ...params }) -> core.Page<Frameio.AccountUserRole>
List user roles for a given account.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
request: Frameio.AccountPermissionsIndexRequest
requestOptions: AccountPermissions.RequestOptions
Accounts
client.accounts.index({ ...params }) -> core.Page<Frameio.Account>
List accounts for the current user.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
request: Frameio.AccountsIndexRequest
requestOptions: Accounts.RequestOptions
client.accounts.auditlogIndex(accountId, { ...params }) -> Frameio.AuditLogsWithIncludesResponse
List audit logs with filtering capabilities via query params.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.FrameOrAdobeId —
request: Frameio.AuditlogIndexRequest
requestOptions: Accounts.RequestOptions
Auth
new ServerToServerAuth({ clientId, clientSecret, ... })
Authenticate using the OAuth 2.0 client_credentials grant. This flow does not involve a user and does not return a refresh token. When the access token expires the SDK automatically requests a new one using the client credentials.
Parameters
clientId: string — Adobe IMS OAuth client ID.
clientSecret: string — Adobe IMS OAuth client secret.
scopes: string — Space-separated scopes (OAuth 2.0 RFC 6749). Defaults to the server-to-server scopes.
imsBaseUrl: string — IMS base URL for staging/alternative environments. Defaults to production.
fetch: typeof fetch — Custom fetch implementation (for proxy, TLS, etc.).
onTokenRefreshed: OnTokenRefreshed — Optional callback fired after every token fetch.
timeout: number — HTTP request timeout in milliseconds. Defaults to 30000.
maxRetries: number — Maximum retries for transient failures. Defaults to 2.
refreshBuffer: number — Seconds before expiry to trigger proactive refresh. Defaults to 60.
logger: Logger — Logger instance for diagnostic output.
Methods
getToken(): Promise<string> — Return a valid access token, refreshing if necessary. Pass it to the client: new FrameioClient({ token: () => auth.getToken() }).
authenticate(): Promise<TokenResponse> — Explicitly fetch a new access token.
revoke(): Promise<void> — Revoke tokens server-side and clear local state.
exportTokens(): ExportedTokens — Export current token state for persistence.
importTokens(data: ExportedTokens): void — Restore token state from a previously exported object.
new WebAppAuth({ clientId, clientSecret, redirectUri, ... })
Authenticate using the OAuth 2.0 authorization_code grant. Use this for server-side applications that can securely store a client secret.
Parameters
clientId: string — Adobe IMS OAuth client ID.
clientSecret: string — Adobe IMS OAuth client secret.
redirectUri: string — Registered redirect URI.
scopes: string — Space-separated scopes (OAuth 2.0 RFC 6749).
imsBaseUrl: string — IMS base URL for staging/alternative environments. Defaults to production.
fetch: typeof fetch — Custom fetch implementation (for proxy, TLS, etc.).
onTokenRefreshed: OnTokenRefreshed — Optional callback fired after every token refresh.
timeout: number — HTTP request timeout in milliseconds. Defaults to 30000.
maxRetries: number — Maximum retries for transient failures. Defaults to 2.
refreshBuffer: number — Seconds before expiry to trigger proactive refresh. Defaults to 60.
logger: Logger — Logger instance for diagnostic output.
Methods
getToken(): Promise<string> — Return a valid access token, refreshing if necessary.
getAuthorizationUrl({ state }): string — Build the Adobe IMS authorization URL. Pass an opaque CSRF/state value that will be echoed back.
exchangeCode(code: string): Promise<TokenResponse> — Exchange an authorization code for access and refresh tokens.
refresh(): Promise<TokenResponse> — Manually trigger a token refresh.
revoke(): Promise<void> — Revoke tokens server-side and clear local state.
exportTokens(): ExportedTokens — Export current token state for persistence.
importTokens(data: ExportedTokens): void — Restore token state from a previously exported object.
new SPAAuth({ clientId, redirectUri, ... })
Authenticate using authorization_code + PKCE (no client secret). Use this for browser-based single-page apps that cannot securely store a client secret.
Parameters
clientId: string — Adobe IMS OAuth client ID.
redirectUri: string — Registered redirect URI.
scopes: string — Space-separated scopes (OAuth 2.0 RFC 6749).
imsBaseUrl: string — IMS base URL for staging/alternative environments. Defaults to production.
fetch: typeof fetch — Custom fetch implementation (for proxy, TLS, etc.).
onTokenRefreshed: OnTokenRefreshed — Optional callback fired after every token refresh.
timeout: number — HTTP request timeout in milliseconds. Defaults to 30000.
maxRetries: number — Maximum retries for transient failures. Defaults to 2.
refreshBuffer: number — Seconds before expiry to trigger proactive refresh. Defaults to 60.
logger: Logger — Logger instance for diagnostic output.
Methods
getToken(): Promise<string> — Return a valid access token, refreshing if necessary.
getAuthorizationUrl({ state }): Promise<AuthorizationUrlResult> — Build the Adobe IMS authorization URL with a PKCE challenge. Returns an AuthorizationUrlResult with url and codeVerifier.
exchangeCode({ code, codeVerifier }): Promise<TokenResponse> — Exchange an authorization code + PKCE verifier for tokens.
refresh(): Promise<TokenResponse> — Manually trigger a token refresh.
revoke(): Promise<void> — Revoke tokens server-side and clear local state.
exportTokens(): ExportedTokens — Export current token state for persistence.
importTokens(data: ExportedTokens): void — Restore token state from a previously exported object.
new NativeAppAuth({ clientId, redirectUri, ... })
Authenticate using authorization_code + PKCE for desktop and mobile applications. Shares the same API as SPAAuth; use a custom-scheme redirect URI (e.g. myapp://callback).
Parameters
clientId: string — Adobe IMS OAuth client ID.
redirectUri: string — Registered redirect URI (custom scheme supported).
scopes: string — Space-separated scopes (OAuth 2.0 RFC 6749).
imsBaseUrl: string — IMS base URL for staging/alternative environments. Defaults to production.
fetch: typeof fetch — Custom fetch implementation (for proxy, TLS, etc.).
onTokenRefreshed: OnTokenRefreshed — Optional callback fired after every token refresh.
timeout: number — HTTP request timeout in milliseconds. Defaults to 30000.
maxRetries: number — Maximum retries for transient failures. Defaults to 2.
refreshBuffer: number — Seconds before expiry to trigger proactive refresh. Defaults to 60.
logger: Logger — Logger instance for diagnostic output.
Methods
Same as SPAAuth: getToken(), getAuthorizationUrl({ state }), exchangeCode({ code, codeVerifier }), refresh(), revoke(), exportTokens(), importTokens(data).
AuthorizationUrlResult
Object returned by SPAAuth.getAuthorizationUrl() and NativeAppAuth.getAuthorizationUrl(). Holds the authorization URL and the PKCE code verifier.
Properties
url: string — The full authorization URL to redirect the user to.
codeVerifier: string — The PKCE code verifier to store and pass to exchangeCode().
Auth Exceptions
All auth errors extend FrameioAuthError and are importable from frameio.
Collections
client.collections.index(accountId, projectId, { ...params }) -> Frameio.CollectionsResponse
List collections for a project.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
projectId: Frameio.Uuid —
request: Frameio.CollectionsIndexRequest
requestOptions: Collections.RequestOptions
client.collections.show(accountId, collectionId, { ...params }) -> Frameio.CollectionResponse
Show collection details.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
collectionId: Frameio.Uuid —
request: Frameio.CollectionsShowRequest
requestOptions: Collections.RequestOptions
Comments
client.comments.show(accountId, commentId, { ...params }) -> Frameio.CommentWithIncludesResponse
Show a single comment on a file.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
commentId: Frameio.Uuid —
request: Frameio.CommentsShowRequest
requestOptions: Comments.RequestOptions
client.comments.delete(accountId, commentId) -> void
Delete comment from an asset.
Rate Limits: 60 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
commentId: Frameio.Uuid —
requestOptions: Comments.RequestOptions
client.comments.update(accountId, commentId, { ...params }) -> Frameio.CommentResponse
Update comment on given asset.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
commentId: Frameio.Uuid —
request: Frameio.UpdateCommentParams
requestOptions: Comments.RequestOptions
client.comments.index(accountId, fileId, { ...params }) -> core.Page<Frameio.CommentWithIncludes>
List comments on a given asset.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
fileId: Frameio.Uuid —
request: Frameio.CommentsIndexRequest
requestOptions: Comments.RequestOptions
client.comments.create(accountId, fileId, { ...params }) -> Frameio.CommentResponse
Create a comment on a file.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
fileId: Frameio.Uuid —
request: Frameio.CreateCommentParams
requestOptions: Comments.RequestOptions
client.comments.createAttachment(accountId, commentId, { ...params }) -> Frameio.CommentAttachmentResponse
Create an attachment for an existing comment.
Rate Limits: 60 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.FrameOrAdobeId —
commentId: Frameio.Uuid —
request: Frameio.CreateAttachmentParams
requestOptions: Comments.RequestOptions
client.comments.deleteAttachment(accountId, commentId, attachmentId) -> void
Delete an attachment from a comment.
Rate Limits: 60 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.FrameOrAdobeId —
commentId: Frameio.Uuid —
attachmentId: Frameio.Uuid —
requestOptions: Comments.RequestOptions
Custom Actions
client.customActions.actionsIndex(accountId, workspaceId, { ...params }) -> Frameio.ActionsWithIncludesResponse
List actions in a given workspace.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.FrameOrAdobeId —
workspaceId: Frameio.Uuid —
request: Frameio.ActionsIndexRequest
requestOptions: CustomActions.RequestOptions
client.customActions.actionsShow(accountId, actionId, { ...params }) -> Frameio.ActionWithIncludesResponse
Show custom action details.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.FrameOrAdobeId —
actionId: Frameio.Uuid —
request: Frameio.ActionsShowRequest
requestOptions: CustomActions.RequestOptions
client.customActions.actionsCreate(accountId, workspaceId, { ...params }) -> Frameio.ActionCreateResponse
Create a custom action in a workspace.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.FrameOrAdobeId —
workspaceId: Frameio.Uuid —
request: Frameio.ActionCreateParams
requestOptions: CustomActions.RequestOptions
client.customActions.actionsUpdate(accountId, actionId, { ...params }) -> Frameio.ActionResponse
Update custom action details.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.FrameOrAdobeId —
actionId: Frameio.Uuid —
request: Frameio.ActionUpdateParams
requestOptions: CustomActions.RequestOptions
client.customActions.actionsDelete(accountId, actionId) -> void
Delete a custom action.
Rate Limits: 60 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.FrameOrAdobeId —
actionId: Frameio.Uuid —
requestOptions: CustomActions.RequestOptions
Files
client.files.list(accountId, folderId, { ...params }) -> Frameio.AssetsWithIncludesResponse
List files in a given folder.
Rate Limits: 5 calls per 1 second(s) per account_user
Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
request: Frameio.FilesListRequest
requestOptions: Files.RequestOptions
client.files.create(accountId, folderId, { ...params }) -> Frameio.FileWithUploadUrlsResponse
Create new file under parent folder. Create file (local upload) and Create file (remote upload) have replaced this endpoint.
Rate Limits: 5 calls per 1 second(s) per account_user
Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
request: Frameio.FileCreateParams
requestOptions: Files.RequestOptions
client.files.show(accountId, fileId, { ...params }) -> Frameio.FileWithIncludesResponse
Show file details.
Use the include query parameter to selectively include additional properties in the response.
media_links.original and the user does not have permission to download the file then this endpoint will respond with a 403 Forbidden error. If the content is inaccessible because watermarking is required for this user and isn’t supported by the requested media_links, then the request will succeed but the unsupported media links will be set to null. Similarly, if a requested transcode link does not exist for a particular file (e.g. including media_links.video_h264_180 on a static image file) or transoding process hasn’t completed (i.e. the file’s status is “uploaded” rather than “transcoded”), then the link will also be set to null in the response payload. In short, the client must handle null media links gracefully.Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
request: Frameio.FilesShowRequest
requestOptions: Files.RequestOptions
client.files.delete(accountId, fileId) -> void
Delete file by ID.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
fileId: Frameio.Uuid —
requestOptions: Files.RequestOptions
client.files.update(accountId, fileId, { ...params }) -> Frameio.FileResponse
Update file details.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
fileId: Frameio.Uuid —
request: Frameio.FileUpdateParams
requestOptions: Files.RequestOptions
client.files.copy(accountId, fileId, { ...params }) -> Frameio.FileCopyResponse
Copy file.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
fileId: Frameio.Uuid —
request: Frameio.FileCopyParams
requestOptions: Files.RequestOptions
client.files.createRemoteUpload(accountId, folderId, { ...params }) -> Frameio.FileRemoteUploadResponse
Create new file under parent folder through remote upload.
Rate Limits: 5 calls per 1 second(s) per account_user
Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
request: Frameio.FileCreateRemoteUploadParams
requestOptions: Files.RequestOptions
client.files.move(accountId, fileId, { ...params }) -> Frameio.FileResponse
Move file to a folder or version_stack.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
fileId: Frameio.Uuid —
request: Frameio.FileMoveParams
requestOptions: Files.RequestOptions
client.files.createLocalUpload(accountId, folderId, { ...params }) -> Frameio.FileWithUploadUrlsResponse
Create new file under parent folder through local upload.
Rate Limits: 5 calls per 1 second(s) per account_user
Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
request: Frameio.FileCreateLocalUploadParams
requestOptions: Files.RequestOptions
client.files.showFileUploadStatus(accountId, fileId) -> Frameio.FileUploadStatusResponse
Show file upload status details.
Rate Limits: 5 calls per 1 second(s) per account_user
Parameters
accountId: Frameio.Uuid —
fileId: Frameio.Uuid —
requestOptions: Files.RequestOptions
client.files.importFile(accountId, folderId, { ...params }) -> Frameio.FileResponse
Import a file from a storage location configured on the account.
Rate Limits: 5 calls per 1 second(s) per account_user
Parameters
accountId: Frameio.FrameOrAdobeId —
folderId: Frameio.FrameOrAdobeId —
request: Frameio.FileImportParams
requestOptions: Files.RequestOptions
Folder Permissions
client.folderPermissions.folderUserRolesIndex(accountId, folderId, { ...params }) -> Frameio.UserRolesResponse
List user roles for a given folder.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
request: Frameio.FolderUserRolesIndexRequest
requestOptions: FolderPermissions.RequestOptions
client.folderPermissions.folderUserRolesUpdate(accountId, folderId, userId, { ...params }) -> Frameio.UpdateUserRolesResponse
Update user roles for the given folder if the user is already added to the folder. If the user is not added to the folder, the user will be added with the given role.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
userId: Frameio.Uuid —
request: Frameio.UpdateUserRolesParams
requestOptions: FolderPermissions.RequestOptions
client.folderPermissions.delete(accountId, folderId, userId) -> void
Remove a user from a given folder.
Rate Limits: 60 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
userId: Frameio.Uuid —
requestOptions: FolderPermissions.RequestOptions
Folders
client.folders.show(accountId, folderId, { ...params }) -> Frameio.FolderWithIncludesResponse
Show folder details.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
projectId: Frameio.Uuid —
request: Frameio.FoldersShowRequest
requestOptions: Folders.RequestOptions
client.folders.delete(accountId, folderId) -> void
Delete folder by id.
Rate Limits: 60 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
requestOptions: Folders.RequestOptions
client.folders.update(accountId, folderId, { ...params }) -> Frameio.FolderResponse
Update folder details.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
request: Frameio.FolderUpdateParams
requestOptions: Folders.RequestOptions
client.folders.index(accountId, folderId, { ...params }) -> Frameio.AssetsWithIncludesResponse
List the children in the given folder.
Use the include query parameter to selectively include additional properties in the response.
media_links.original and the user does not have permission to download files in the corresponding project, then this endpoint will respond with a 403 Forbidden error. If the content is inaccessible because watermarking is required for this user and isn’t supported by the requested media_links, then the request will succeed but the unsupported media links will be set to null. Similarly, if a requested transcode link does not exist for a particular file (e.g. including media_links.video_h264_180 on a static image file) or transoding process hasn’t finished (i.e. the file’s status is “uploaded” rather than “transcoded”), then the a media link will also be set to null in the response payload. In short, the client must handle null media links gracefully.Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
request: Frameio.FolderIndexRequest
requestOptions: Folders.RequestOptions
client.folders.copy(accountId, folderId, { ...params }) -> Frameio.FolderCopyResponse
Copy folder.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
request: Frameio.FolderCopyParams
requestOptions: Folders.RequestOptions
client.folders.list(accountId, folderId, { ...params }) -> Frameio.FoldersWithIncludesResponse
List folders in a given folder.
Rate Limits: 5 calls per 1 second(s) per account_user
Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
request: Frameio.FoldersListRequest
requestOptions: Folders.RequestOptions
client.folders.create(accountId, folderId, { ...params }) -> Frameio.FolderResponse
Create a new folder inside the given folder_id path param.
Rate Limits: 3 calls per 1 second(s) per account_user
Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
request: Frameio.FolderCreateParams
requestOptions: Folders.RequestOptions
client.folders.move(accountId, folderId, { ...params }) -> Frameio.FolderResponse
Move folder to a folder.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
request: Frameio.FolderMoveParams
requestOptions: Folders.RequestOptions
Groups
client.groups.index(accountId, { ...params }) -> Frameio.GroupsWithIncludesResponse
List groups in account.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.FrameOrAdobeId —
request: Frameio.GroupsIndexRequest
requestOptions: Groups.RequestOptions
client.groups.show(accountId, groupId, { ...params }) -> Frameio.GroupWithIncludesResponse
Show group details.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.FrameOrAdobeId —
groupId: Frameio.Uuid —
request: Frameio.GroupsShowRequest
requestOptions: Groups.RequestOptions
client.groups.create(accountId, { ...params }) -> Frameio.GroupResponse
Create group for the current account.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.FrameOrAdobeId —
request: Frameio.CreateGroupParams
requestOptions: Groups.RequestOptions
client.groups.update(accountId, groupId, { ...params }) -> Frameio.GroupResponse
Update group details.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.FrameOrAdobeId —
groupId: Frameio.Uuid —
request: Frameio.UpdateGroupParams
requestOptions: Groups.RequestOptions
Metadata
client.metadata.bulkUpdate(accountId, projectId, { ...params }) -> void
Update metadata values across multiple files.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
projectId: Frameio.Uuid —
request: Frameio.BulkUpdateMetadataParams
requestOptions: Metadata.RequestOptions
client.metadata.show(accountId, fileId, { ...params }) -> Frameio.MetadataResponse
Show the metadata of a file.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
fileId: Frameio.Uuid —
request: Frameio.MetadataShowRequest
requestOptions: Metadata.RequestOptions
Metadata Fields
client.metadataFields.metadataFieldDefinitionsDelete(accountId, fieldDefinitionId) -> void
Delete account level custom field definitions.
Rate Limits: 60 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
fieldDefinitionId: Frameio.Uuid —
requestOptions: MetadataFields.RequestOptions
client.metadataFields.metadataFieldDefinitionsUpdate(accountId, fieldDefinitionId, { ...params }) -> Frameio.FieldDefinitionResponse
Update account level custom field definitions.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid` —
fieldDefinitionId: Frameio.Uuid —
request: Frameio.UpdateFieldDefinitionParams
requestOptions: MetadataFields.RequestOptions
client.metadataFields.metadataFieldDefinitionsIndex(accountId, { ...params }) -> Frameio.FieldDefinitionsWithIncludesResponse
List account level field definitions.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
request: Frameio.MetadataFieldDefinitionsIndexRequest
requestOptions: MetadataFields.RequestOptions
client.metadataFields.metadataFieldDefinitionsCreate(accountId, { ...params }) -> Frameio.FieldDefinitionResponse
Create account level field definitions.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
request: Frameio.CreateFieldDefinitionParams
requestOptions: MetadataFields.RequestOptions
Project Permissions
client.projectPermissions.index(accountId, projectId, { ...params }) -> core.Page<Frameio.UserRole
List user roles for a given project.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
projectId: Frameio.Uuid —
request: Frameio.ProjectPermissionsIndexRequest
requestOptions: ProjectPermissions.RequestOptions
client.projectPermissions.delete(accountId, projectId, userId) -> void
Remove a user from a given project.
Rate Limits: 60 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid` —
projectId: Frameio.Uuid —
userId: Frameio.Uuid —
requestOptions: ProjectPermissions.RequestOptions
client.projectPermissions.projectUserRolesUpdate(accountId, projectId, userId, { ...params }) -> Frameio.UpdateUserRolesResponse
Update user roles for the given project if the user is already added to the project. If the user is not added to the project, the user will be added with the given role.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
projectId: Frameio.Uuid —
UserId: Frameio.Uuid —
request: Frameio.UpdateUserRolesParams
requestOptions: ProjectPermissions.RequestOptions
Projects
client.projects.show(accountId, projectId, { ...params }) -> Frameio.ProjectWithIncludesResponse
Show project details.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
projectId: Frameio.Uuid —
request: Frameio.ProjectsShowRequest
requestOptions: Projects.RequestOptions
client.projects.delete(accountId, projectId) -> void
Delete a project.
Rate Limits: 60 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid` —
projectId: Frameio.Uuid —
requestOptions: Projects.RequestOptions
client.projects.update(accountId, projectId, { ...params }) -> Frameio.ProjectResponse
Update project details.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
projectId: Frameio.Uuid —
request: Frameio.ProjectUpdateParams
requestOptions: Projects.RequestOptions
client.projects.index(accountId, workspaceId, { ...params }) -> core.Page<Frameio.ProjectWithIncludes>
List projects in a given workspace.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
workspaceId: Frameio.Uuid —
request: Frameio.ProjectsIndexRequest
requestOptions: Projects.RequestOptions
client.projects.create(accountId, workspaceId, { ...params }) -> Frameio.ProjectResponse
Create project in a given workspace.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
workspaceId: Frameio.Uuid —
request: Frameio.ProjectsParams
requestOptions: Projects.RequestOptions
client.projects.accountProjectsIndex(accountId, { ...params }) -> Frameio.ProjectsWithIncludesResponse
List all projects the authenticated user has access to within the specified account.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.FrameOrAdobeId —
request: Frameio.AccountProjectsIndexRequest
requestOptions: Projects.RequestOptions
client.projects.invitedProjectsIndex(accountId, { ...params }) -> Frameio.ProjectsWithIncludesResponse
List projects that the current user has been invited to within the specified account, but does not have workspace-level access to. These are projects where the user has project-specific collaborator access without broader team/workspace permissions.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.FrameOrAdobeId —
request: Frameio.InvitedProjectsIndexRequest
requestOptions: Projects.RequestOptions
Search
client.search.search(accountId, { ...params }) -> Frameio.SearchResponse
Search across assets, folders, and projects within an account.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
request: Frameio.SearchParams
requestOptions: Search.RequestOptions
Shares
Users
client.users.show() -> Frameio.ProfileResponse
Inspect details of the user associated with the bearer token.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
requestOptions: Users.RequestOptions
Version Stacks
client.versionStacks.index(accountId, versionStackId, { ...params }) -> Frameio.AssetsWithIncludesResponse
List the children (files) in a given version stack.
Use the include query parameter to selectively include additional properties in the response.
media_links.original and the user does not have permission to download files in the corresponding project, then this endpoint will respond with a 403 Forbidden error. If the content is inaccessible because watermarking is required for this user and isn’t supported by the requested media_links, then the request will succeed but the unsupported media links will be set to null. Similarly, if a requested transcode link does not exist for a particular file (e.g. including media_links.video_h264_180 on a static image file) or transoding process hasn’t finished (i.e. the file’s status is “uploaded” rather than “transcoded”), then the a media link will also be set to null in the response payload. In short, the client must handle null media links gracefully.Parameters
accountId: Frameio.Uuid —
projectId: Frameio.Uuid —
request: Frameio.VersionStacksIndexRequest
requestOptions: VersionStacks.RequestOptions
client.versionStacks.show(accountId, versionStackId, { ...params }) -> Frameio.VersionStackWithIncludesResponse
Show version stack details.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
versionStackId: Frameio.Uuid —
request: Frameio.VersionStacksShowRequest
requestOptions: VersionStacks.RequestOptions
client.versionStacks.copy(accountId, versionStackId, { ...params }) -> Frameio.VersionStackCopyResponse
Copy version stack.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
versionStackId: Frameio.Uuid —
request: Frameio.VersionStackCopyParams
requestOptions: VersionStacks.RequestOptions
client.versionStacks.list(accountId, folderId, { ...params }) -> Frameio.VersionStacksWithIncludesResponse
List version stacks in a given folder.
Rate Limits: 5 calls per 1 second(s) per account_user
Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
request: Frameio.VersionStacksListRequest
requestOptions: VersionStacks.RequestOptions
client.versionStacks.create(accountId, folderId, { ...params }) -> Frameio.VersionStackWithIncludesResponse
Create a new Version Stack under the parent folder.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
request: Frameio.VersionStackCreateParams
requestOptions: VersionStacks.RequestOptions
client.versionStacks.move(accountId, versionStackId, { ...params }) -> Frameio.VersionStackResponse
Move version stack to a folder.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
folderId: Frameio.Uuid —
request: Frameio.VersionStackMoveParams
requestOptions: VersionStacks.RequestOptions
Webhooks
client.webhooks.index(accountId, workspaceId, { ...params }) -> core.Page<Frameio.WebhookWithIncludes>
List webhooks for the given workspace.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
workspaceId: Frameio.Uuid —
request: Frameio.WebhooksIndexRequest
requestOptions: Webhooks.RequestOptions
client.webhooks.create(accountId, workspaceId, { ...params }) -> Frameio.WebhookCreateResponse
Creates a single webhook with secret.
Valid events:
file.created,
file.deleted,
file.ready,
file.updated,
file.upload.completed,
file.versioned,
file.copied,
folder.created,
folder.deleted,
folder.updated,
folder.copied,
comment.completed,
comment.created,
comment.deleted,
comment.uncompleted,
comment.updated,
customfield.created,
customfield.updated,
customfield.deleted,
metadata.value.updated,
project.created,
project.deleted,
project.updated,
collection.created,
collection.updated,
collection.deleted,
share.created,
share.updated,
share.deleted,
share.viewed
Rate Limits: 10 calls per 1.00 minute(s) per account
Parameters
accountId: Frameio.Uuid —
workspaceId: Frameio.Uuid —
request: Frameio.WebhookCreateParams
requestOptions: Webhooks.RequestOptions
client.webhooks.show(accountId, webhookId, { ...params }) -> Frameio.WebhookWithIncludesResponse
Show webhook details.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
webhookId: Frameio.Uuid —
request: Frameio.WebhooksShowRequest
requestOptions: Webhooks.RequestOptions
client.webhooks.delete(accountId, webhookId) -> void
Delete a webhook.
Rate Limits: 60 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
webhookId: Frameio.Uuid —
requestOptions: Webhooks.RequestOptions
client.webhooks.update(accountId, webhookId, { ...params }) -> Frameio.WebhookResponse
Update webhook details.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
webhookId: Frameio.Uuid —
request: Frameio.WebhookUpdateParams`
requestOptions: Webhooks.RequestOptions
Workspace Permissions
client.workspacePermissions.index(accountId, workspaceId, { ...params }) -> core.Page<Frameio.UserRole>
List user roles for a given workspace.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
workspaceId: Frameio.Uuid —
request: Frameio.WorkspacePermissionsIndexRequest
requestOptions: WorkspacePermissions.RequestOptions
client.workspacePermissions.workspaceUserRolesDelete(accountId, workspaceId, userId) -> void
Remove a user from a given workspace.
Rate Limits: 60 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
workspaceId: Frameio.Uuid —
userId: Frameio.Uuid —
requestOptions: WorkspacePermissions.RequestOptions
client.workspacePermissions.workspaceUserRolesUpdate(accountId, workspaceId, userId, { ...params }) -> Frameio.UpdateUserRolesResponse
Update user roles for the given workspace if the user is already added to the workspace. If the user is not added to the workspace, the user will be added with the given role.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
workspaceId: Frameio.Uuid —
userId: Frameio.Uuid —
request: Frameio.UpdateUserRolesParams
requestOptions: WorkspacePermissions.RequestOptions
Workspaces
client.workspaces.show(accountId, workspaceId, { ...params }) -> Frameio.WorkspaceWithIncludesResponse
Show workspace details.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
workspaceId: Frameio.Uuid —
request: Frameio.WorkspacesShowRequest
requestOptions: Workspaces.RequestOptions
client.workspaces.delete(accountId, workspaceId) -> void
Delete workspace from account.
Rate Limits: 60 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
workspaceId: Frameio.Uuid —
requestOptions: Workspaces.RequestOptions
client.workspaces.update(accountId, workspaceId, { ...params }) -> Frameio.WorkspaceResponse
Update a workspace.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
workspaceId: Frameio.Uuid —
request: Frameio.WorkspaceParams
requestOptions: Workspaces.RequestOptions
client.workspaces.index(accountId, { ...params }) -> core.Page<Frameio.WorkspaceWithIncludes>
List workspaces for a given account.
Rate Limits: 100 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
request: Frameio.WorkspacesIndexRequest
requestOptions: Workspaces.RequestOptions
client.workspaces.create(accountId, { ...params }) -> Frameio.WorkspaceResponse
Create workspace from an account.
Rate Limits: 10 calls per 1.00 minute(s) per account_user
Parameters
accountId: Frameio.Uuid —
request: Frameio.WorkspaceParams
requestOptions: Workspaces.RequestOptions