##### [Back to Pixelbin API docs](./README.md)
## Assets Methods
Asset Uploader Service
- [addCredentials](#addcredentials)
- [updateCredentials](#updatecredentials)
- [deleteCredentials](#deletecredentials)
- [getFileById](#getfilebyid)
- [getFileByFileId](#getfilebyfileid)
- [updateFile](#updatefile)
- [deleteFile](#deletefile)
- [deleteFiles](#deletefiles)
- [createFolder](#createfolder)
- [getFolderDetails](#getfolderdetails)
- [updateFolder](#updatefolder)
- [deleteFolder](#deletefolder)
- [getFolderAncestors](#getfolderancestors)
- [listFiles](#listfiles)
- [listFilesPaginator](#listfilespaginator)
- [getDefaultAssetForPlayground](#getdefaultassetforplayground)
- [getModules](#getmodules)
- [getModule](#getmodule)
- [addPreset](#addpreset)
- [getPresets](#getpresets)
- [updatePreset](#updatepreset)
- [deletePreset](#deletepreset)
- [getPreset](#getpreset)
- [fileUpload](#fileupload)
- [urlUpload](#urlupload)
- [createSignedUrl](#createsignedurl)
- [createSignedUrlV2](#createsignedurlv2)
## Methods with example and description
### addCredentials
**Summary**: Add credentials for a transformation module.
```javascript
// Promise
const promise = assets.addCredentials({
credentials: {
region: "ap-south-1",
accessKeyId: "123456789ABC",
secretAccessKey: "DUMMY1234567890",
},
pluginId: "awsRek",
});
// Async/Await
const data = await assets.addCredentials({
credentials: {
region: "ap-south-1",
accessKeyId: "123456789ABC",
secretAccessKey: "DUMMY1234567890",
},
pluginId: "awsRek",
});
```
| Argument | Type | Required | Description |
| ----------- | ------ | -------- | ----------------------------------------------------------- |
| credentials | string | yes | Credentials of the plugin |
| pluginId | string | yes | Unique identifier for the plugin this credential belongs to |
Add a transformation modules's credentials for an organization.
_Returned Response:_
[AddCredentialsResponse](#addcredentialsresponse)
Success
Example:
```json
{
"_id": "123ee789-7ae8-4336-b9bd-e4f33c049002",
"createdAt": "2022-10-04T09:52:09.545Z",
"updatedAt": "2022-10-04T09:52:09.545Z",
"orgId": 23,
"pluginId": "awsRek"
}
```
---
### updateCredentials
**Summary**: Update credentials of a transformation module.
```javascript
// Promise
const promise = assets.updateCredentials({
pluginId: "awsRek",
credentials: {
region: "ap-south-1",
accessKeyId: "123456789ABC",
secretAccessKey: "DUMMY1234567890",
},
});
// Async/Await
const data = await assets.updateCredentials({
pluginId: "awsRek",
credentials: {
region: "ap-south-1",
accessKeyId: "123456789ABC",
secretAccessKey: "DUMMY1234567890",
},
});
```
| Argument | Type | Required | Description |
| ----------- | ------ | -------- | ---------------------------------------------------- |
| pluginId | string | yes | ID of the plugin whose credentials are being updated |
| credentials | string | yes | Credentials of the plugin |
Update credentials of a transformation module, for an organization.
_Returned Response:_
[AddCredentialsResponse](#addcredentialsresponse)
Success
Example:
```json
{
"_id": "123ee789-7ae8-4336-b9bd-e4f33c049002",
"createdAt": "2022-10-04T09:52:09.545Z",
"updatedAt": "2022-10-04T09:52:09.545Z",
"orgId": 23,
"pluginId": "awsRek"
}
```
---
### deleteCredentials
**Summary**: Delete credentials of a transformation module.
```javascript
// Promise
const promise = assets.deleteCredentials({
pluginId: "awsRek",
});
// Async/Await
const data = await assets.deleteCredentials({
pluginId: "awsRek",
});
```
| Argument | Type | Required | Description |
| -------- | ------ | -------- | ---------------------------------------------------- |
| pluginId | string | yes | ID of the plugin whose credentials are being deleted |
Delete credentials of a transformation module, for an organization.
_Returned Response:_
[AddCredentialsResponse](#addcredentialsresponse)
Success
Example:
```json
{
"_id": "123ee789-7ae8-4336-b9bd-e4f33c049002",
"createdAt": "2022-10-04T09:52:09.545Z",
"updatedAt": "2022-10-04T09:52:09.545Z",
"orgId": 23,
"pluginId": "awsRek"
}
```
---
### getFileById
**Summary**: Get file details with \_id
```javascript
// Promise
const promise = assets.getFileById({
_id: "c9138153-94ea-4dbe-bea9-65d43dba85ae",
});
// Async/Await
const data = await assets.getFileById({
_id: "c9138153-94ea-4dbe-bea9-65d43dba85ae",
});
```
| Argument | Type | Required | Description |
| -------- | ------ | -------- | ------------ |
| \_id | string | yes | \_id of File |
_Returned Response:_
[FilesResponse](#filesresponse)
Success
Example:
```json
{
"_id": "dummy-uuid",
"name": "asset",
"path": "dir",
"fileId": "dir/asset",
"format": "jpeg",
"size": 1000,
"access": "private",
"isActive": true,
"tags": ["tag1", "tag2"],
"metadata": {
"key": "value"
},
"url": "https://domain.com/filename.jpeg"
}
```
---
### getFileByFileId
**Summary**: Get file details with fileId
```javascript
// Promise
const promise = assets.getFileByFileId({
fileId: "path/to/file/name",
});
// Async/Await
const data = await assets.getFileByFileId({
fileId: "path/to/file/name",
});
```
| Argument | Type | Required | Description |
| -------- | ------ | -------- | ---------------------------------------- |
| fileId | string | yes | Combination of `path` and `name` of file |
_Returned Response:_
[FilesResponse](#filesresponse)
Success
Example:
```json
{
"_id": "dummy-uuid",
"name": "asset",
"path": "dir",
"fileId": "dir/asset",
"format": "jpeg",
"size": 1000,
"access": "private",
"isActive": true,
"tags": ["tag1", "tag2"],
"metadata": {
"key": "value"
},
"url": "https://domain.com/filename.jpeg"
}
```
---
### updateFile
**Summary**: Update file details
```javascript
// Promise
const promise = assets.updateFile({
fileId: "path/to/file/name",
name: "asset",
path: "dir",
access: "private",
isActive: false,
tags: ["tag1", "tag2"],
metadata: { key: "value" },
});
// Async/Await
const data = await assets.updateFile({
fileId: "path/to/file/name",
name: "asset",
path: "dir",
access: "private",
isActive: false,
tags: ["tag1", "tag2"],
metadata: { key: "value" },
});
```
| Argument | Type | Required | Description |
| -------- | ------------------------- | -------- | --------------------------------------------------------------- |
| fileId | string | yes | Combination of `path` and `name` |
| name | string | no | Name of the file |
| path | string | no | Path of the file |
| access | [AccessEnum](#accessenum) | no | Access level of asset, can be either `public-read` or `private` |
| isActive | boolean | no | Whether the file is active |
| tags | [string] | no | Tags associated with the file |
| metadata | string | no | Metadata associated with the file |
_Returned Response:_
[FilesResponse](#filesresponse)
Success
Example:
```json
{
"_id": "dummy-uuid",
"name": "asset",
"path": "dir",
"fileId": "dir/asset",
"format": "jpeg",
"size": 1000,
"access": "private",
"isActive": true,
"tags": ["tag1", "tag2"],
"metadata": {
"key": "value"
},
"url": "https://domain.com/filename.jpeg"
}
```
---
### deleteFile
**Summary**: Delete file
```javascript
// Promise
const promise = assets.deleteFile({
fileId: "path/to/file/name",
});
// Async/Await
const data = await assets.deleteFile({
fileId: "path/to/file/name",
});
```
| Argument | Type | Required | Description |
| -------- | ------ | -------- | -------------------------------- |
| fileId | string | yes | Combination of `path` and `name` |
_Returned Response:_
[FilesResponse](#filesresponse)
Success
Example:
```json
{
"_id": "dummy-uuid",
"name": "asset",
"path": "dir",
"fileId": "dir/asset",
"format": "jpeg",
"size": 1000,
"access": "private",
"isActive": true,
"tags": ["tag1", "tag2"],
"metadata": {
"key": "value"
},
"url": "https://domain.com/filename.jpeg"
}
```
---
### deleteFiles
**Summary**: Delete multiple files
```javascript
// Promise
const promise = assets.deleteFiles({
ids: ["_id_1", "_id_2", "_id_3"],
});
// Async/Await
const data = await assets.deleteFiles({
ids: ["_id_1", "_id_2", "_id_3"],
});
```
| Argument | Type | Required | Description |
| -------- | -------- | -------- | ----------------------------- |
| ids | [string] | yes | Array of file \_ids to delete |
_Returned Response:_
[[FilesResponse]](#[filesresponse])
Success
Example:
```json
[
{
"_id": "dummy-uuid",
"name": "asset",
"path": "dir",
"fileId": "dir/asset",
"format": "jpeg",
"size": 1000,
"access": "private",
"isActive": true,
"tags": ["tag1", "tag2"],
"metadata": {
"key": "value"
},
"url": "https://domain.com/filename.jpeg"
}
]
```
---
### createFolder
**Summary**: Create folder
```javascript
// Promise
const promise = assets.createFolder({
name: "subDir",
path: "dir",
});
// Async/Await
const data = await assets.createFolder({
name: "subDir",
path: "dir",
});
```
| Argument | Type | Required | Description |
| -------- | ------ | -------- | ------------------ |
| name | string | yes | Name of the folder |
| path | string | no | Path of the folder |
Create a new folder at the specified path. Also creates the ancestors if they do not exist.
_Returned Response:_
[FoldersResponse](#foldersresponse)
Success - List of all created folders
Example:
```json
{
"_id": "dummy-uuid",
"name": "subDir",
"path": "dir",
"isActive": true
}
```
---
### getFolderDetails
**Summary**: Get folder details
```javascript
// Promise
const promise = assets.getFolderDetails({
path: "dir1/dir2",
name: "dir",
});
// Async/Await
const data = await assets.getFolderDetails({
path: "dir1/dir2",
name: "dir",
});
```
| Argument | Type | Required | Description |
| -------- | ------ | -------- | ----------- |
| path | string | no | Folder path |
| name | string | no | Folder name |
Get folder details
_Returned Response:_
[exploreItem](#exploreitem)
Success
Example:
```json
[
{
"_id": "dummy-uuid",
"createdAt": "2022-10-05T10:43:04.117Z",
"updatedAt": "2022-10-05T10:43:04.117Z",
"name": "asset2",
"type": "file",
"path": "dir",
"fileId": "dir/asset2",
"format": "jpeg",
"size": 1000,
"access": "private",
"metadata": {},
"height": 100,
"width": 100
}
]
```
---
### updateFolder
**Summary**: Update folder details
```javascript
// Promise
const promise = assets.updateFolder({
folderId: "path/to/folder/name",
isActive: false,
});
// Async/Await
const data = await assets.updateFolder({
folderId: "path/to/folder/name",
isActive: false,
});
```
| Argument | Type | Required | Description |
| -------- | ------- | -------- | -------------------------------- |
| folderId | string | yes | combination of `path` and `name` |
| isActive | boolean | no | whether the folder is active |
Update folder details. Eg: Soft delete it
by making `isActive` as `false`.
We currently do not support updating folder name or path.
_Returned Response:_
[FoldersResponse](#foldersresponse)
Success
Example:
```json
{
"_id": "dummy-uuid",
"name": "subDir",
"path": "dir",
"isActive": true
}
```
---
### deleteFolder
**Summary**: Delete folder
```javascript
// Promise
const promise = assets.deleteFolder({
_id: "c9138153-94ea-4dbe-bea9-65d43dba85ae",
});
// Async/Await
const data = await assets.deleteFolder({
_id: "c9138153-94ea-4dbe-bea9-65d43dba85ae",
});
```
| Argument | Type | Required | Description |
| -------- | ------ | -------- | ---------------------------- |
| \_id | string | yes | \_id of folder to be deleted |
Delete folder and all its children permanently.
_Returned Response:_
[FoldersResponse](#foldersresponse)
Success
Example:
```json
{
"_id": "dummy-uuid",
"name": "subDir",
"path": "dir",
"isActive": true
}
```
---
### getFolderAncestors
**Summary**: Get all ancestors of a folder
```javascript
// Promise
const promise = assets.getFolderAncestors({
_id: "c9138153-94ea-4dbe-bea9-65d43dba85ae",
});
// Async/Await
const data = await assets.getFolderAncestors({
_id: "c9138153-94ea-4dbe-bea9-65d43dba85ae",
});
```
| Argument | Type | Required | Description |
| -------- | ------ | -------- | ------------------ |
| \_id | string | yes | \_id of the folder |
Get all ancestors of a folder, using the folder ID.
_Returned Response:_
[GetAncestorsResponse](#getancestorsresponse)
Success
Example:
```json
{
"folder": {
"_id": "dummy-uuid",
"name": "subDir",
"path": "dir1/dir2",
"isActive": true
},
"ancestors": [
{
"_id": "dummy-uuid-2",
"name": "dir1",
"path": "",
"isActive": true
},
{
"_id": "dummy-uuid-2",
"name": "dir2",
"path": "dir1",
"isActive": true
}
]
}
```
---
### listFiles
**Summary**: List and search files and folders.
```javascript
// Promise
const promise = assets.listFiles({
name: "cat",
path: "cat-photos",
format: "jpeg",
tags: ["cats", "animals"],
onlyFiles: "false",
onlyFolders: "false",
pageNo: "1",
pageSize: "10",
sort: "name",
});
// Async/Await
const data = await assets.listFiles({
name: "cat",
path: "cat-photos",
format: "jpeg",
tags: ["cats", "animals"],
onlyFiles: "false",
onlyFolders: "false",
pageNo: "1",
pageSize: "10",
sort: "name",
});
```
| Argument | Type | Required | Description |
| ----------- | -------- | -------- | ---------------------------------------------------------------------------- |
| name | string | no | Find items with matching name |
| path | string | no | Find items with matching path |
| format | string | no | Find items with matching format |
| tags | [string] | no | Find items containing these tags |
| onlyFiles | boolean | no | If true will fetch only files |
| onlyFolders | boolean | no | If true will fetch only folders |
| pageNo | number | no | Page No. |
| pageSize | number | no | Page Size |
| sort | string | no | Key to sort results by. A "-" suffix will sort results in descending orders. |
List all files and folders in root folder. Search for files if name is provided. If path is provided, search in the specified path.
_Returned Response:_
[ListFilesResponse](#listfilesresponse)
Success
Example:
```json
{
"items": [
{
"_id": "dummy-uuid",
"name": "dir",
"type": "folder"
},
{
"_id": "dummy-uuid",
"name": "asset2",
"type": "file",
"path": "dir",
"fileId": "dir/asset2",
"format": "jpeg",
"size": 1000,
"access": "private"
},
{
"_id": "dummy-uuid",
"name": "asset1",
"type": "file",
"path": "dir",
"fileId": "dir/asset1",
"format": "jpeg",
"size": 1000,
"access": "private"
}
],
"page": {
"type": "number",
"size": 4,
"current": 1,
"hasNext": false
}
}
```
---
### listFilesPaginator
**Summary**: Paginator for listFiles
Paginator exposes `hasNext` and `next` methods to paginate through pages.
```javascript
const paginator = assets.listFilesPaginator({
name: "cat",
path: "cat-photos",
format: "jpeg",
tags: ["cats", "animals"],
onlyFiles: "false",
onlyFolders: "false",
pageSize: "10",
sort: "name",
});
while (paginator.hasNext()) {
const { items, page } = await paginator.next();
console.log(page.current); // 1
console.log(page.hasNext); // false
console.log(page.size); // 3
console.log(items.length); // 3
}
```
| Argument | Type | Required | Description |
| ----------- | -------- | -------- | ---------------------------------------------------------------------------- |
| name | string | no | Find items with matching name |
| path | string | no | Find items with matching path |
| format | string | no | Find items with matching format |
| tags | [string] | no | Find items containing these tags |
| onlyFiles | boolean | no | If true will fetch only files |
| onlyFolders | boolean | no | If true will fetch only folders |
| pageSize | number | no | Page Size |
| sort | string | no | Key to sort results by. A "-" suffix will sort results in descending orders. |
List all files and folders in root folder. Search for files if name is provided. If path is provided, search in the specified path.
_Returned Response:_
[ListFilesResponse](#listfilesresponse)
Success
Example:
```json
{
"items": [
{
"_id": "dummy-uuid",
"name": "dir",
"type": "folder"
},
{
"_id": "dummy-uuid",
"name": "asset2",
"type": "file",
"path": "dir",
"fileId": "dir/asset2",
"format": "jpeg",
"size": 1000,
"access": "private"
},
{
"_id": "dummy-uuid",
"name": "asset1",
"type": "file",
"path": "dir",
"fileId": "dir/asset1",
"format": "jpeg",
"size": 1000,
"access": "private"
}
],
"page": {
"type": "number",
"size": 4,
"current": 1,
"hasNext": false
}
}
```
### getDefaultAssetForPlayground
**Summary**: Get default asset for playground
```javascript
// Promise
const promise = assets.getDefaultAssetForPlayground();
// Async/Await
const data = await assets.getDefaultAssetForPlayground();
```
Get default asset for playground
_Returned Response:_
[UploadResponse](#uploadresponse)
Success
Example:
```json
{
"isActive": true,
"orgId": "1",
"type": "file",
"name": "abc.jpeg",
"path": "/xyz",
"fileId": "xyz/abc.jpeg",
"format": "jpeg",
"size": 100,
"tags": null,
"metadata": null,
"access": "public-read",
"width": null,
"height": null,
"meta": {},
"context": null,
"assetType": null,
"isOriginal": true,
"_id": "35675e3a-5dd8-4b19-a611-1cb64e676c5e",
"url": "https://cdn.pixelbin.io/v2/dummy-cloudname/original/xyz/abc.jpeg"
}
```
---
### getModules
**Summary**: Get all transformation modules
```javascript
// Promise
const promise = assets.getModules();
// Async/Await
const data = await assets.getModules();
```
Get all transformation modules.
_Returned Response:_
[TransformationModulesResponse](#transformationmodulesresponse)
Success
Example:
```json
{
"delimiters": {
"operationSeparator": "~",
"parameterSeparator": ":"
},
"plugins": {
"erase": {
"identifier": "erase",
"name": "EraseBG",
"description": "EraseBG Background Removal Module",
"credentials": {
"required": false
},
"operations": [
{
"params": {
"name": "Industry Type",
"type": "enum",
"enum": ["general", "ecommerce"],
"default": "general",
"identifier": "i",
"title": "Industry type"
},
"displayName": "Remove background of an image",
"method": "bg",
"description": "Remove the background of any image"
}
],
"enabled": true
}
},
"presets": [
{
"_id": "dummy-id",
"createdAt": "2022-02-14T10:06:17.803Z",
"updatedAt": "2022-02-14T10:06:17.803Z",
"isActive": true,
"orgId": "265",
"presetName": "compressor",
"transformation": "t.compress(q:95)",
"archived": false
}
]
}
```
---
### getModule
**Summary**: Get Transformation Module by module identifier
```javascript
// Promise
const promise = assets.getModule({
identifier: "t",
});
// Async/Await
const data = await assets.getModule({
identifier: "t",
});
```
| Argument | Type | Required | Description |
| ---------- | ------ | -------- | ----------------------------------- |
| identifier | string | yes | identifier of Transformation Module |
Get Transformation Module by module identifier
_Returned Response:_
[TransformationModuleResponse](#transformationmoduleresponse)
Success
Example:
```json
{
"identifier": "erase",
"name": "EraseBG",
"description": "EraseBG Background Removal Module",
"credentials": {
"required": false
},
"operations": [
{
"params": {
"name": "Industry Type",
"type": "enum",
"enum": ["general", "ecommerce"],
"default": "general",
"identifier": "i",
"title": "Industry type"
},
"displayName": "Remove background of an image",
"method": "bg",
"description": "Remove the background of any image"
}
],
"enabled": true
}
```
---
### addPreset
**Summary**: Add a preset.
```javascript
// Promise
const promise = assets.addPreset({
presetName: "pre-set_1",
transformation: "t.resize(w:$w,h:$h)~t.extract()",
params: {
w: { type: "integer", default: 200 },
h: { type: "integer", default: 400 },
},
});
// Async/Await
const data = await assets.addPreset({
presetName: "pre-set_1",
transformation: "t.resize(w:$w,h:$h)~t.extract()",
params: {
w: { type: "integer", default: 200 },
h: { type: "integer", default: 400 },
},
});
```
| Argument | Type | Required | Description |
| -------------- | ------ | -------- | ---------------------------------------------- |
| presetName | string | yes | Name of the preset |
| transformation | string | yes | A chain of transformations, separated by `~` |
| params | string | no | Parameters object for transformation variables |
Add a preset for an organization.
_Returned Response:_
[AddPresetResponse](#addpresetresponse)
Success
Example:
```json
{
"orgId": 23,
"presetName": "pre-set_1",
"transformation": "t.resize(w:$w,h:$h)~t.extract()",
"params": {
"w": {
"type": "integer",
"default": 200
},
"h": {
"type": "integer",
"default": 400
}
},
"_id": "821c6816-3cbb-40fd-8629-0098007fc949",
"createdAt": "2024-03-21T10:35:47.822Z",
"updatedAt": "2024-03-21T10:35:47.822Z",
"isActive": true,
"archived": false
}
```
---
### getPresets
**Summary**: Get presets for an organization
```javascript
// Promise
const promise = assets.getPresets({
pageNo: "1",
pageSize: "5",
name: "t_0",
transformation: "t.resize(a:0)",
archived: "false",
sort: ["updatedAt"],
});
// Async/Await
const data = await assets.getPresets({
pageNo: "1",
pageSize: "5",
name: "t_0",
transformation: "t.resize(a:0)",
archived: "false",
sort: ["updatedAt"],
});
```
| Argument | Type | Required | Description |
| -------------- | -------- | -------- | ----------------------------------------------- |
| pageNo | number | no | Page number |
| pageSize | number | no | Page size |
| name | string | no | Preset name |
| transformation | string | no | Transformation applied |
| archived | boolean | no | Indicates whether the preset is archived or not |
| sort | [string] | no | Sort the results by a specific key |
Retrieve presets for a specific organization.
_Returned Response:_
[GetPresetsResponse](#getpresetsresponse)
Success
Example:
```json
{
"items": [
{
"_id": "f1ae2fc0-a931-4cef-bd1a-3644dad5ae9b",
"createdAt": "2024-03-21T10:45:06.623Z",
"updatedAt": "2024-03-21T10:45:06.623Z",
"isActive": true,
"orgId": 23,
"presetName": "t_0",
"transformation": "t.resize(a:0)",
"archived": false,
"params": {}
},
{
"_id": "b40a03f1-7fa5-42b1-8cc6-ffe84c9e6629",
"createdAt": "2024-03-21T10:45:06.637Z",
"updatedAt": "2024-03-21T10:45:06.637Z",
"isActive": true,
"orgId": 23,
"presetName": "t_1",
"transformation": "t.resize(a:1)",
"archived": false,
"params": {}
}
],
"page": {
"type": "number",
"size": 2,
"current": 1,
"hasNext": true,
"itemTotal": 10
}
}
```
---
### updatePreset
**Summary**: Update a preset.
```javascript
// Promise
const promise = assets.updatePreset({
presetName: "p1",
archived: true,
});
// Async/Await
const data = await assets.updatePreset({
presetName: "p1",
archived: true,
});
```
| Argument | Type | Required | Description |
| ---------- | ------- | -------- | ----------------------------------------- |
| presetName | string | yes | Name of the preset to be updated |
| archived | boolean | yes | Indicates if the preset has been archived |
Update a preset of an organization.
_Returned Response:_
[AddPresetResponse](#addpresetresponse)
Success
Example:
```json
{
"orgId": 23,
"presetName": "pre-set_1",
"transformation": "t.resize(w:$w,h:$h)~t.extract()",
"params": {
"w": {
"type": "integer",
"default": 200
},
"h": {
"type": "integer",
"default": 400
}
},
"_id": "821c6816-3cbb-40fd-8629-0098007fc949",
"createdAt": "2024-03-21T10:35:47.822Z",
"updatedAt": "2024-03-21T10:35:47.822Z",
"isActive": true,
"archived": true
}
```
---
### deletePreset
**Summary**: Delete a preset.
```javascript
// Promise
const promise = assets.deletePreset({
presetName: "pre-set_1",
});
// Async/Await
const data = await assets.deletePreset({
presetName: "pre-set_1",
});
```
| Argument | Type | Required | Description |
| ---------- | ------ | -------- | -------------------------------- |
| presetName | string | yes | Name of the preset to be deleted |
Delete a preset of an organization.
_Returned Response:_
[AddPresetResponse](#addpresetresponse)
Success
Example:
```json
{
"orgId": 23,
"presetName": "pre-set_1",
"transformation": "t.resize(w:$w,h:$h)~t.extract()",
"params": {
"w": {
"type": "integer",
"default": 200
},
"h": {
"type": "integer",
"default": 400
}
},
"_id": "821c6816-3cbb-40fd-8629-0098007fc949",
"createdAt": "2024-03-21T10:35:47.822Z",
"updatedAt": "2024-03-21T10:35:47.822Z",
"isActive": true,
"archived": false
}
```
---
### getPreset
**Summary**: Get a preset.
```javascript
// Promise
const promise = assets.getPreset({
presetName: "p1",
});
// Async/Await
const data = await assets.getPreset({
presetName: "p1",
});
```
| Argument | Type | Required | Description |
| ---------- | ------ | -------- | -------------------------------- |
| presetName | string | yes | Name of the preset to be fetched |
Get a preset of an organization.
_Returned Response:_
[AddPresetResponse](#addpresetresponse)
Success
Example:
```json
{
"orgId": 23,
"presetName": "p1",
"transformation": "t.resize(w:$w,h:$h)~t.extract()",
"params": {
"w": {
"type": "integer",
"default": 200
},
"h": {
"type": "integer",
"default": 400
}
},
"_id": "821c6816-3cbb-40fd-8629-0098007fc949",
"createdAt": "2024-03-21T10:35:47.822Z",
"updatedAt": "2024-03-21T10:35:47.822Z",
"isActive": true,
"archived": false
}
```
---
### fileUpload
**Summary**: Upload File
```javascript
// Promise
const fs = require("fs");
const promise = assets.fileUpload({
file: fs.createReadStream("your-file-path"),
path: "path/to/containing/folder",
name: "filename",
access: "public-read",
tags: ["tag1", "tag2"],
metadata: {},
overwrite: false,
filenameOverride: true,
});
// Async/Await
const fs = require("fs");
const data = await assets.fileUpload({
file: fs.createReadStream("your-file-path"),
path: "path/to/containing/folder",
name: "filename",
access: "public-read",
tags: ["tag1", "tag2"],
metadata: {},
overwrite: false,
filenameOverride: true,
});
```
| Argument | Type | Required | Description |
| ---------------- | ------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| file | file | yes | Asset file |
| path | string | no | Path where you want to store the asset |
| name | string | no | Name of the asset, if not provided name of the file will be used. Note - The provided name will be slugified to make it URL safe |
| access | [AccessEnum](#accessenum) | no | Access level of asset, can be either `public-read` or `private` |
| tags | [string] | no | Asset tags |
| metadata | string | no | Asset related metadata |
| overwrite | boolean | no | Overwrite flag. If set to `true` will overwrite any file that exists with same path, name and type. Defaults to `false`. |
| filenameOverride | boolean | no | If set to `true` will add unique characters to name if asset with given name already exists. If overwrite flag is set to `true`, preference will be given to overwrite flag. If both are set to `false` an error will be raised. |
Upload File to Pixelbin
_Returned Response:_
[UploadResponse](#uploadresponse)
Success
Example:
```json
{
"_id": "dummy-uuid",
"name": "asset",
"path": "dir",
"fileId": "dir/asset",
"format": "jpeg",
"size": 1000,
"access": "private",
"isActive": true,
"tags": ["tag1", "tag2"],
"metadata": {
"key": "value"
},
"url": "https://domain.com/filename.jpeg"
}
```
---
### urlUpload
**Summary**: Upload Asset with url
```javascript
// Promise
const promise = assets.urlUpload({
url: "www.dummy.com/image.png",
path: "path/to/containing/folder",
name: "filename",
access: "public-read",
tags: ["tag1", "tag2"],
metadata: {},
overwrite: false,
filenameOverride: true,
});
// Async/Await
const data = await assets.urlUpload({
url: "www.dummy.com/image.png",
path: "path/to/containing/folder",
name: "filename",
access: "public-read",
tags: ["tag1", "tag2"],
metadata: {},
overwrite: false,
filenameOverride: true,
});
```
| Argument | Type | Required | Description |
| ---------------- | ------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| url | string | yes | Asset URL |
| path | string | no | Path where you want to store the asset |
| name | string | no | Name of the asset, if not provided name of the file will be used. Note - The provided name will be slugified to make it URL safe |
| access | [AccessEnum](#accessenum) | no | Access level of asset, can be either `public-read` or `private` |
| tags | [string] | no | Asset tags |
| metadata | string | no | Asset related metadata |
| overwrite | boolean | no | Overwrite flag. If set to `true` will overwrite any file that exists with same path, name and type. Defaults to `false`. |
| filenameOverride | boolean | no | If set to `true` will add unique characters to name if asset with given name already exists. If overwrite flag is set to `true`, preference will be given to overwrite flag. If both are set to `false` an error will be raised. |
Upload Asset with url
_Returned Response:_
[UploadResponse](#uploadresponse)
Success
Example:
```json
{
"_id": "dummy-uuid",
"name": "asset",
"path": "dir",
"fileId": "dir/asset",
"format": "jpeg",
"size": 1000,
"access": "private",
"isActive": true,
"tags": ["tag1", "tag2"],
"metadata": {
"key": "value"
},
"url": "https://domain.com/filename.jpeg"
}
```
---
### createSignedUrl
**Summary**: S3 Signed URL upload
```javascript
// Promise
const promise = assets.createSignedUrl({
name: "filename",
path: "path/to/containing/folder",
format: "jpeg",
access: "public-read",
tags: ["tag1", "tag2"],
metadata: {},
overwrite: false,
filenameOverride: true,
});
// Async/Await
const data = await assets.createSignedUrl({
name: "filename",
path: "path/to/containing/folder",
format: "jpeg",
access: "public-read",
tags: ["tag1", "tag2"],
metadata: {},
overwrite: false,
filenameOverride: true,
});
```
| Argument | Type | Required | Description |
| ---------------- | ------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name | string | no | name of the file |
| path | string | no | Path of the file |
| format | string | no | Format of the file |
| access | [AccessEnum](#accessenum) | no | Access level of asset, can be either `public-read` or `private` |
| tags | [string] | no | Tags associated with the file. |
| metadata | string | no | Metadata associated with the file. |
| overwrite | boolean | no | Overwrite flag. If set to `true` will overwrite any file that exists with same path, name and type. Defaults to `false`. |
| filenameOverride | boolean | no | If set to `true` will add unique characters to name if asset with given name already exists. If overwrite flag is set to `true`, preference will be given to overwrite flag. If both are set to `false` an error will be raised. |
For the given asset details, a S3 signed URL will be generated,
which can be then used to upload your asset.
_Returned Response:_
[SignedUploadResponse](#signeduploadresponse)
Success
Example:
```json
{
"s3PresignedUrl": {
"url": "https://domain.com/xyz",
"fields": {
"field1": "value",
"field2": "value"
}
}
}
```
---
### createSignedUrlV2
**Summary**: Signed multipart upload
```javascript
// Promise
const promise = assets.createSignedUrlV2({
name: "filename",
path: "path/to/containing/folder",
format: "jpeg",
access: "public-read",
tags: ["tag1", "tag2"],
metadata: {},
overwrite: false,
filenameOverride: true,
expiry: 3000,
});
// Async/Await
const data = await assets.createSignedUrlV2({
name: "filename",
path: "path/to/containing/folder",
format: "jpeg",
access: "public-read",
tags: ["tag1", "tag2"],
metadata: {},
overwrite: false,
filenameOverride: true,
expiry: 3000,
});
```
| Argument | Type | Required | Description |
| ---------------- | ------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name | string | no | name of the file |
| path | string | no | Path of containing folder. |
| format | string | no | Format of the file |
| access | [AccessEnum](#accessenum) | no | Access level of asset, can be either `public-read` or `private` |
| tags | [string] | no | Tags associated with the file. |
| metadata | string | no | Metadata associated with the file. |
| overwrite | boolean | no | Overwrite flag. If set to `true` will overwrite any file that exists with same path, name and type. Defaults to `false`. |
| filenameOverride | boolean | no | If set to `true` will add unique characters to name if asset with given name already exists. If overwrite flag is set to `true`, preference will be given to overwrite flag. If both are set to `false` an error will be raised. |
| expiry | number | no | Expiry time in seconds for the signed URL. Defaults to 3000 seconds. |
For the given asset details, a presigned URL will be generated, which can be then used to upload your asset in chunks via multipart upload.
_Returned Response:_
[SignedUploadV2Response](#signeduploadv2response)
Success
Example:
```json
{
"presignedUrl": {
"url": "https://api.pixelbin.io/service/public/assets/v1.0/signed-multipart?pbs=8b49e6cdd446be379aa4396e1a&pbe=1700600070390&pbt=92661&pbo=143209&pbu=5fe187e8-8649-4546-9a28-ff551839e0f5",
"fields": {
"x-pixb-meta-assetdata": "{\"orgId\":1,\"type\":\"file\",\"name\":\"filename.jpeg\",\"path\":\"\",\"fileId\":\"filename.jpeg\",\"format\":\"jpeg\",\"s3Bucket\":\"erase-erase-erasebg-assets\",\"s3Key\":\"uploads/floral-sun-9617c8/original/a34f1d3-28bf-489c-9aff-cc549ac9e003.jpeg\",\"access\":\"public-read\",\"tags\":[],\"metadata\":{\"source\":\"signedUrl\",\"publicUploadId\":\"5fe187e8-8649-4546-9a28-ff551839e0f5\"},\"overwrite\":false,\"filenameOverride\":false}"
}
}
}
```
---
### Schemas
#### folderItem
| Properties | Type | Nullable | Description |
| ---------- | ------ | -------- | ------------------------------------ |
| \_id | string | no | Id of the folder item |
| orgId | number | no | Organization Id |
| name | string | no | Name of the folder item |
| path | string | no | Path of the folder item |
| type | string | no | Type of the item. `file` or `folder` |
---
#### exploreItem
| Properties | Type | Nullable | Description |
| ---------- | ------------------------- | -------- | --------------------------------------------------------------- |
| \_id | string | no | id of the exploreItem |
| orgId | number | no | Organization Id |
| name | string | no | name of the item |
| type | string | no | Type of item whether `file` or `folder` |
| path | string | no | Path of the folder item |
| fileId | string | no | FileId associated with the item. `path`+`name` |
| format | string | no | Format of the file |
| size | number | no | Size of the file in bytes |
| access | [AccessEnum](#accessenum) | no | Access level of asset, can be either `public-read` or `private` |
| s3Bucket | string | no | Bucket Name |
| s3Key | string | no | s3 path of file |
---
#### page
| Properties | Type | Nullable | Description |
| ---------- | ------- | -------- | ----------------------------- |
| type | string | yes | Type of page |
| size | number | yes | Number of items on the page |
| current | number | yes | Current page number. |
| hasNext | boolean | yes | Whether the next page exists. |
| itemTotal | number | yes | Total number of items. |
---
#### exploreResponse
| Properties | Type | Nullable | Description |
| ---------- | ----------------------------- | -------- | ---------------------------- |
| items | [[exploreItem](#exploreitem)] | yes | exploreItems in current page |
| page | [page](#page) | yes | page details |
---
#### ListFilesResponse
| Properties | Type | Nullable | Description |
| ---------- | ----------------------------- | -------- | ---------------------------- |
| items | [[exploreItem](#exploreitem)] | no | exploreItems in current page |
| page | [page](#page) | no | page details |
---
#### FileUploadRequest
| Properties | Type | Nullable | Description |
| ---------------- | ------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| file | file | yes | Asset file |
| path | string | no | Path where you want to store the asset |
| name | string | no | Name of the asset, if not provided name of the file will be used. Note - The provided name will be slugified to make it URL safe |
| access | [AccessEnum](#accessenum) | no | Access level of asset, can be either `public-read` or `private` |
| tags | [string] | no | Asset tags |
| metadata | string | no | Asset related metadata |
| overwrite | boolean | no | Overwrite flag. If set to `true` will overwrite any file that exists with same path, name and type. Defaults to `false`. |
| filenameOverride | boolean | no | If set to `true` will add unique characters to name if asset with given name already exists. If overwrite flag is set to `true`, preference will be given to overwrite flag. If both are set to `false` an error will be raised. |
---
#### UrlUploadRequest
| Properties | Type | Nullable | Description |
| ---------------- | ------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| url | string | yes | Asset URL |
| path | string | no | Path where you want to store the asset |
| name | string | no | Name of the asset, if not provided name of the file will be used. Note - The provided name will be slugified to make it URL safe |
| access | [AccessEnum](#accessenum) | no | Access level of asset, can be either `public-read` or `private` |
| tags | [string] | no | Asset tags |
| metadata | string | no | Asset related metadata |
| overwrite | boolean | no | Overwrite flag. If set to `true` will overwrite any file that exists with same path, name and type. Defaults to `false`. |
| filenameOverride | boolean | no | If set to `true` will add unique characters to name if asset with given name already exists. If overwrite flag is set to `true`, preference will be given to overwrite flag. If both are set to `false` an error will be raised. |
---
#### UploadResponse
| Properties | Type | Nullable | Description |
| ---------- | ------------------------- | -------- | ----------------------------------------------------------- |
| \_id | string | yes | \_id of the item |
| fileId | string | yes | FileId associated with the item. path+name |
| name | string | yes | name of the item |
| path | string | yes | path to the parent folder |
| format | string | yes | format of the file |
| size | number | yes | size of file in bytes |
| access | [AccessEnum](#accessenum) | yes | Access level of asset, can be either public-read or private |
| tags | [string] | no | tags associated with the item |
| metadata | string | no | metadata associated with the item |
| url | string | no | url of the item |
| thumbnail | string | no | url of item thumbnail |
---
#### SignedUploadRequest
| Properties | Type | Nullable | Description |
| ---------------- | ------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name | string | no | name of the file |
| path | string | no | Path of the file |
| format | string | no | Format of the file |
| access | [AccessEnum](#accessenum) | no | Access level of asset, can be either `public-read` or `private` |
| tags | [string] | no | Tags associated with the file. |
| metadata | string | no | Metadata associated with the file. |
| overwrite | boolean | no | Overwrite flag. If set to `true` will overwrite any file that exists with same path, name and type. Defaults to `false`. |
| filenameOverride | boolean | no | If set to `true` will add unique characters to name if asset with given name already exists. If overwrite flag is set to `true`, preference will be given to overwrite flag. If both are set to `false` an error will be raised. |
---
#### SignedUploadResponse
| Properties | Type | Nullable | Description |
| -------------- | ----------------------------- | -------- | -------------------------------------------- |
| s3PresignedUrl | [PresignedUrl](#presignedurl) | yes | `signedDetails` for upload with frontend sdk |
| |
---
#### PresignedUrl
| Properties | Type | Nullable | Description |
| ---------- | ------ | -------- | ------------------------------------------- |
| url | string | no | `presigned url` for upload |
| |
| fields | string | no | signed fields to be sent along with request |
---
#### FilesResponse
| Properties | Type | Nullable | Description |
| ---------- | ------------------------- | -------- | -------------------------------------------------------------- |
| \_id | string | yes | \_id of the file |
| name | string | yes | name of the file |
| path | string | yes | path to the parent folder of the file |
| fileId | string | yes | FileId associated with the item. `path`+`name` |
| format | string | yes | format of the file |
| size | number | yes | size of the file in bytes |
| access | [AccessEnum](#accessenum) | yes | Access level of file, can be either `public-read` or `private` |
| isActive | boolean | yes | Whether the file is active |
| tags | [string] | no | Tags associated with the file |
| metadata | string | no | Metadata associated with the file |
| url | string | no | url of the file |
| thumbnail | string | no | url of the thumbnail of the file |
---
#### UpdateFileRequest
| Properties | Type | Nullable | Description |
| ---------- | ------------------------- | -------- | --------------------------------------------------------------- |
| name | string | no | Name of the file |
| path | string | no | Path of the file |
| access | [AccessEnum](#accessenum) | no | Access level of asset, can be either `public-read` or `private` |
| isActive | boolean | no | Whether the file is active |
| tags | [string] | no | Tags associated with the file |
| metadata | string | no | Metadata associated with the file |
---
#### FoldersResponse
| Properties | Type | Nullable | Description |
| ---------- | ------- | -------- | --------------------------------------- |
| \_id | string | yes | \_id of the folder |
| name | string | yes | name of the folder |
| path | string | yes | path to the parent folder of the folder |
| isActive | boolean | yes | whether the folder is active |
---
#### CreateFolderRequest
| Properties | Type | Nullable | Description |
| ---------- | ------ | -------- | ------------------ |
| name | string | yes | Name of the folder |
| path | string | no | Path of the folder |
---
#### UpdateFolderRequest
| Properties | Type | Nullable | Description |
| ---------- | ------- | -------- | ---------------------------- |
| isActive | boolean | no | whether the folder is active |
---
#### DeleteMultipleFilesRequest
| Properties | Type | Nullable | Description |
| ---------- | -------- | -------- | ----------------------------- |
| ids | [string] | yes | Array of file \_ids to delete |
---
#### Delimiter
| Properties | Type | Nullable | Description |
| ------------------ | ------ | -------- | ------------------------------------------------------------------------ |
| operationSeparator | string | no | separator to separate operations in the url pattern |
| parameterSeparator | string | no | separator to separate parameters used with operations in the url pattern |
---
#### AddCredentialsRequest
| Properties | Type | Nullable | Description |
| ----------- | ------ | -------- | ----------------------------------------------------------- |
| credentials | string | yes | Credentials of the plugin |
| pluginId | string | yes | Unique identifier for the plugin this credential belongs to |
---
#### UpdateCredentialsRequest
| Properties | Type | Nullable | Description |
| ----------- | ------ | -------- | ------------------------- |
| credentials | string | yes | Credentials of the plugin |
---
#### AddCredentialsResponse
| Properties | Type | Nullable | Description |
| ----------- | ------ | -------- | ----------- |
| credentials | string | no | |
---
#### GetAncestorsResponse
| Properties | Type | Nullable | Description |
| ---------- | ------------------------------------- | -------- | ----------- |
| folder | [folderItem](#folderitem) | no | |
| ancestors | [[FoldersResponse](#foldersresponse)] | no | |
---
#### AddPresetRequest
| Properties | Type | Nullable | Description |
| -------------- | ------ | -------- | ---------------------------------------------- |
| presetName | string | yes | Name of the preset |
| transformation | string | yes | A chain of transformations, separated by `~` |
| params | string | no | Parameters object for transformation variables |
---
#### AddPresetResponse
| Properties | Type | Nullable | Description |
| -------------- | ------- | -------- | ---------------------------------------------- |
| presetName | string | no | Name of the preset |
| transformation | string | no | A chain of transformations, separated by `~` |
| params | string | no | Parameters object for transformation variables |
| archived | boolean | no | Indicates if the preset has been archived |
| orgId | number | no | Organization Id |
| isActive | boolean | no | Indicates if the preset is active |
| createdAt | string | no | Preset creation ISO timestamp |
| updatedAt | string | no | Preset update ISO timestamp |
---
#### UpdatePresetRequest
| Properties | Type | Nullable | Description |
| ---------- | ------- | -------- | ----------------------------------------- |
| archived | boolean | yes | Indicates if the preset has been archived |
---
#### GetPresetsResponse
| Properties | Type | Nullable | Description |
| ---------- | ----------------------------------------- | -------- | ------------ |
| items | [[AddPresetResponse](#addpresetresponse)] | yes | |
| page | [page](#page) | yes | page details |
---
#### TransformationModuleResponse
| Properties | Type | Nullable | Description |
| ----------- | ------- | -------- | ----------------------------------------------- |
| identifier | string | no | identifier for the plugin type |
| name | string | no | name of the plugin |
| description | string | no | description of the plugin |
| credentials | string | no | credentials, if any, associated with the plugin |
| operations | [any] | no | supported operations in the plugin |
| enabled | boolean | no | whether the plugin is enabled |
---
#### TransformationModulesResponse
| Properties | Type | Nullable | Description |
| ---------- | ----------------------------------------------------------------------- | -------- | --------------------------------------------------- |
| delimiters | [Delimiter](#delimiter) | no | Delimiter for parsing plugin schema |
| plugins | [String: [TransformationModuleResponse](#transformationmoduleresponse)] | no | Transformations currently supported by the pixelbin |
| presets | [any] | no | List of saved presets |
---
#### SignedUploadRequestV2
| Properties | Type | Nullable | Description |
| ---------------- | ------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name | string | no | name of the file |
| path | string | no | Path of containing folder. |
| format | string | no | Format of the file |
| access | [AccessEnum](#accessenum) | no | Access level of asset, can be either `public-read` or `private` |
| tags | [string] | no | Tags associated with the file. |
| metadata | string | no | Metadata associated with the file. |
| overwrite | boolean | no | Overwrite flag. If set to `true` will overwrite any file that exists with same path, name and type. Defaults to `false`. |
| filenameOverride | boolean | no | If set to `true` will add unique characters to name if asset with given name already exists. If overwrite flag is set to `true`, preference will be given to overwrite flag. If both are set to `false` an error will be raised. |
| expiry | number | no | Expiry time in seconds for the signed URL. Defaults to 3000 seconds. |
---
#### SignedUploadV2Response
| Properties | Type | Nullable | Description |
| ------------ | --------------------------------- | -------- | ------------------------------------------- |
| presignedUrl | [PresignedUrlV2](#presignedurlv2) | yes | Presigned URL for uploading asset in chunks |
---
#### PresignedUrlV2
| Properties | Type | Nullable | Description |
| ---------- | ---------------- | -------- | ------------------------------------------- |
| url | string | no | Presigned URL for uploading asset in chunks |
| fields | [String: string] | no | signed fields to be sent along with request |
---
### Enums
#### [AccessEnum](#AccessEnum)
Type : string
| Name | Value | Description |
| ----------- | ----------- | ----------- |
| public-read | public-read | public-read |
| private | private | private |
---