Add assets to organization allowlist
Organization Assets
Add Organization Assets
Batch add multiple assets to your organization’s allowlist. Each asset will be automatically parsed, classified, and approved as ALLOWED status. Supports optional group assignment.
POST
Add assets to organization allowlist
Documentation Index
Fetch the complete documentation index at: https://chainpatrol-knowledge-update-chainpatrol-vs-blockaid-comple.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Batch add multiple assets to your organization’s allowlist. Each asset will be automatically parsed, classified by type, and approved withALLOWED status. This endpoint supports adding up to 1,000 assets per request with optional metadata like name, description, and group assignment.
Quick Start
Authentication
Include your API key in theX-API-KEY header:
Example Request
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| assets | array | Yes | Array of assets to add (maximum 1,000 per request) |
| assets[].content | string | Yes | Asset content: URL, blockchain address, social media handle, email, domain, etc. |
| assets[].name | string | No | Display name for the asset. Useful for identifying assets in your dashboard. |
| assets[].description | string | No | Description providing context about the asset’s purpose or usage. |
| assets[].groupId | number | No | Group ID to assign the asset to. Must be a valid group belonging to your organization. |
Supported Asset Types
The endpoint automatically detects and classifies the following asset types:- URL - Full URLs with protocol (e.g.,
https://example.com) - ADDRESS - Blockchain addresses (e.g., Ethereum, Bitcoin addresses)
- PAGE - Web page identifiers
- DISCORD - Discord server or channel identifiers
- TELEGRAM - Telegram channel or group identifiers
- TWITTER - Twitter/X handles (e.g.,
@username) - INSTAGRAM - Instagram handles
- MEDIUM - Medium publication or user identifiers
- GITHUB - GitHub repository or user identifiers
- YOUTUBE - YouTube channel identifiers
- LINKEDIN - LinkedIn profile identifiers
- TWITCH - Twitch channel identifiers
- TIKTOK - TikTok handle identifiers
- EMAIL - Email addresses
Response
Success Response
Partial Success Response
When some assets succeed and others fail:Response Fields
| Field | Type | Description |
|---|---|---|
| results | array | Array of result objects, one for each submitted asset |
| results[].content | string | The asset content that was submitted |
| results[].success | boolean | Whether the asset was successfully added |
| results[].id | number | Asset ID (only present when success is true) |
| results[].error | string | Error message (only present when success is false) |
| successCount | number | Total number of assets successfully added |
| errorCount | number | Total number of assets that failed to be added |
Error Responses
400 Bad Request
Returned when the request is malformed or exceeds limits:401 Unauthorized
Returned when the API key is missing, invalid, or doesn’t have organization access:404 Not Found
Returned when a specified group ID doesn’t exist:Common Error Messages
| Error Message | Cause | Resolution |
|---|---|---|
| Invalid asset format | Asset content format not recognized | Verify the asset format matches a supported type |
| Asset already exists in organization | Duplicate asset in your organization | Asset is already in your allowlist, no action needed |
| Maximum 1000 assets allowed per request | Request contains more than 1,000 assets | Split into multiple requests |
| Group with ID not found | Invalid group ID | Use a valid group ID from your organization |
| Content is required | Missing content field | Provide the content field for each asset |
| Invalid group ID | Group ID format is invalid | Provide a valid numeric group ID |
Best Practices
Batch Operations
- Maximize throughput: Use the full 1,000 asset limit per request when bulk importing
- Handle partial failures: Always check both
successCountanderrorCountin responses - Retry failed assets: Extract failed assets from results and retry with corrected data
Asset Format
- URLs: Include protocol (
https://orhttp://)- ✅
https://example.com - ❌
example.com(will be interpreted as domain, not URL)
- ✅
- Blockchain addresses: Use full address format
- ✅
0x1234567890abcdef1234567890abcdef12345678
- ✅
- Social handles: Include the
@symbol for Twitter/social platforms- ✅
@username - ✅
username(also works)
- ✅
Metadata
- Names: Use descriptive names for easier identification in your dashboard
- Descriptions: Add context about the asset’s purpose, especially for addresses and URLs
- Groups: Organize assets by type, project, or purpose using groups
Error Handling
- Check the
resultsarray for per-asset success/failure status - Use
successCountanderrorCountfor aggregate reporting - Log failed assets with their error messages for debugging
- Implement retry logic for failed assets after correcting issues
Use Cases
Import from Spreadsheet
Add Multiple Asset Types
Notes
- Assets are automatically parsed and classified by type
- All successfully added assets receive
ALLOWEDstatus - Duplicate assets (already in your organization) will fail with an appropriate error
- The endpoint returns partial success - some assets may succeed while others fail
- Organization is automatically determined from your API key
- Group IDs must belong to your organization
- Asset validation happens during processing; invalid formats will be reported in the results
Authorizations
Your API key. This is required by most endpoints to access our API programatically. Reach out to us at support@chainpatrol.io to get an API key for your use.
Body
application/json
Required array length:
1 - 1000 elements