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
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
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
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
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
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
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
Shares
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
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