API Documentation
Identity
- POSTCreate user device
- GETGet user metadata
- POSTCreate user metadata
- GETGet users
- GETUser count
- POSTConnect a user to User Group
- POSTDisconnect a user from User Group
- GETConnect Auth
- POSTPost apiusersverify
- GETGet all website user attributes
- POSTCreate a new website user attribute
- DELDelete a website user attribute
- GETGet all website user attribute values
- POSTCreate a new website user attribute value
Loyalty
- GETGet loyalty accounts
- GETGet the rank of a user based on their loyalty points
- GETGet loyalty account streaks
- GETGet loyalty currencies
- POSTCreate a loyalty currency
- GETGet Loyalty Multipliers
- POSTCreate Loyalty Multiplier
- DELDelete Loyalty Multiplier by External Identifier
- POSTUpdate Loyalty Multiplier
- DELDelete Loyalty Multiplier by ID
- GETGet Loyalty Rule Edits
- POSTRestore Loyalty Rule Edit
- GETGet Loyalty Rule Groups
- POSTCreate Loyalty Rule Groups
- POSTUpdate Loyalty Rule Group
- DELDelete Loyalty Rule Group
- GETGet Loyalty Rules
- POSTCreate Loyalty Rule
- POSTUpdate Loyalty Rule
- DELDelete Loyalty Rule
- POSTComplete Loyalty Rule
- GETGet Processing status for a specific user on loyalty rules
- POSTCreate Loyalty Transaction
- GETGet Loyalty Transaction Entries
- GETGet Loyalty Rule Chains
- GETGet Loyalty Rule Statuses
- POSTUpdate Loyalty Rule Status
Badge
Minting
Question
Website
Landing Page
Asset
Get Asset upload URL
This endpoint enables you to upload a file to the resource. Returns a presigned URL and the asset’s public URL. Call PUT with the file as the body to upload the asset using the presigned URL.
POST
/
api
/
assets
Copy
Ask AI
import SnagSolutions from '@snagsolutions/sdk';
const client = new SnagSolutions({
apiKey: process.env['X_API_KEY'], // This is the default and can be omitted
});
const response = await client.assets.createAsset({ fileName: 'example.png', fileSize: 1024 });
console.log(response.signedUrl);
Copy
Ask AI
{
"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
Body
application/json
Body
Schema for uploading an asset with organization, website, and user details.
Response
200
application/json
200
Response returned upon successful generation of the signed URL for uploading the file.
Was this page helpful?
Copy
Ask AI
import SnagSolutions from '@snagsolutions/sdk';
const client = new SnagSolutions({
apiKey: process.env['X_API_KEY'], // This is the default and can be omitted
});
const response = await client.assets.createAsset({ fileName: 'example.png', fileSize: 1024 });
console.log(response.signedUrl);
Copy
Ask AI
{
"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"
}
Assistant
Responses are generated using AI and may contain mistakes.