POST
/
api
/
assets
curl --request POST \
  --url https://admin.snagsolutions.io/api/assets \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <api-key>' \
  --data '{
  "organizationId": "123e4567-e89b-12d3-a456-426614174222",
  "websiteId": "123e4567-e89b-12d3-a456-426614174111",
  "userId": "123e4567-e89b-12d3-a456-426614174333",
  "filePath": "images",
  "fileName": "example.png"
}'
{
  "signedUrl": "https://snag-assets.s3.us-west-2.amazonaws.com/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://local-snag-assets.s3.us-west-2.amazonaws.com/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)

Example:

"example.png"

organizationId
string

UUID of the organization (optional, converted to lowercase)

Example:

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

websiteId
string

UUID of the website (optional, converted to lowercase)

Example:

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

userId
string

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
Example:

"images"

Response

200
application/json
200

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

signedUrl
string
required

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

Example:

"https://snag-assets.s3.us-west-2.amazonaws.com/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
required

The URL of the uploaded file.

Example:

"https://local-snag-assets.s3.us-west-2.amazonaws.com/organizations/123e4567-e89b-12d3-a456-426614174222/websites/123e4567-e89b-12d3-a456-426614174111/images/example.png"