POST
/
api
/
assets
JavaScript
import SnagSolutions from '@snagsolutions/sdk';

const client = new SnagSolutions({
  apiKey: 'My API Key',
});

const response = await client.assets.createAsset({ fileName: 'example.png', fileSize: 1024 });

console.log(response.signedUrl);
{
  "signedUrl": "https://assets.snagsolutions.io/organizations/123e4567-e89b-12d3-a456-426614174222/websites/123e4567-e89b-12d3-a456-426614174111/images/example.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ABJSSMZGO3T2ZKBVJOG2%2F20240702%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20240702T072637Z&X-Amz-Expires=60&X-Amz-Signature=6f7952568b7861edd14afb0915870970c9b048ba5237f7a70a16b0f10b96587e&X-Amz-SignedHeaders=host&x-id=PutObject",
  "url": "https://assets.snagsolutions.io/organizations/123e4567-e89b-12d3-a456-426614174222/websites/123e4567-e89b-12d3-a456-426614174111/images/example.png"
}

Authorizations

X-API-KEY
string
header
required

Body

application/json

Body

Schema for uploading an asset with organization, website, and user details.

fileName
string
required

The name of the file, must match the regex pattern (converted to lowercase) and have a valid extension.

Example:

"example.png"

fileSize
number
required

Size of the file in bytes. Uploaded file must match this file size. 1mb for images and 10mb for videos.

Example:

1024

organizationId
string<uuid>

UUID of the organization (optional, converted to lowercase)

Example:

"123e4567-e89b-12d3-a456-426614174222"

websiteId
string<uuid>

UUID of the website (optional, converted to lowercase)

Example:

"123e4567-e89b-12d3-a456-426614174111"

userId
string<uuid>

UUID of the user (optional, converted to lowercase)

Example:

"123e4567-e89b-12d3-a456-426614174333"

filePath
enum<string>

The file path, must be a valid enum value.

Available options:
announcements,
images,
videos,
banners,
fonts,
posts,
profiles,
minting,
loyalty,
tokenClaims
Example:

"images"

Response

200

Response returned upon successful generation of the signed URL for uploading the file.

signedUrl
string<uri>
required

The pre-signed URL to be used for uploading the file.

Example:

"https://assets.snagsolutions.io/organizations/123e4567-e89b-12d3-a456-426614174222/websites/123e4567-e89b-12d3-a456-426614174111/images/example.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ABJSSMZGO3T2ZKBVJOG2%2F20240702%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20240702T072637Z&X-Amz-Expires=60&X-Amz-Signature=6f7952568b7861edd14afb0915870970c9b048ba5237f7a70a16b0f10b96587e&X-Amz-SignedHeaders=host&x-id=PutObject"

url
string<uri>
required

The URL of the uploaded file.

Example:

"https://assets.snagsolutions.io/organizations/123e4567-e89b-12d3-a456-426614174222/websites/123e4567-e89b-12d3-a456-426614174111/images/example.png"