This API requires an API key with appropriate permissions. See API Key
Documentation for more details.
Overview
The Report Create endpoint allows you to submit assets (URLs, domains, blockchain addresses, etc.) for review by the Chain Patrol team. This endpoint handles bulk submissions and provides detailed error reporting for validation failures.Quick Start
Authentication
Include your API key in theX-API-KEY
header:
Example Request
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
organizationSlug | string | Yes | Your organization identifier |
assets | string[] | Yes | Array of assets to report |
reason | string | No | Classification of the threat type |
description | string | No | Additional context about the reported assets |
Response
Success Response
Error Responses
422 Unprocessable Content
Returned when the request is syntactically valid but contains validation errors or duplicate assets. This is the most common error type and provides detailed per-asset error information.Error Type | Description | Resolution |
---|---|---|
DUPLICATE_ASSETS | Same asset appears multiple times in the report | Remove duplicate assets from submission |
INVALID_FORMAT | Asset format is invalid | Use valid URLs, domains, or blockchain addresses |
ASSET_NOT_FOUND | Asset could not be located or created | Verify asset format and accessibility |
ASSET_ALREADY_CORRECT | Asset already has the requested status | No action needed - asset is already in desired state |
ALREADY_PENDING_REVIEW | Asset has a pending proposal for the requested status | Wait for existing proposal to be processed |
REPORT_ALREADY_EXISTS | A pending report/proposal for this asset exists | Check existing reports or wait for processing |
PROCESSING_FAILED | Technical error occurred during asset processing | Retry the request or contact support |
DOMAIN_NOT_ALLOWED | Asset’s domain is on the ignore list | Domain is excluded from reports per content policy |
VALIDATION_ERROR | Generic validation error | Check asset format and requirements |
Example: Duplicate Assets
Example: Multiple Validation Errors
500 Internal Server Error
Returned for unexpected server conditions, including database errors and other technical failures. The response uses safe, generic messages to avoid exposing internal system details.Standard Error Response
Database Error Response
Best Practices
Asset Validation
URLs: Include the full protocol (https://
or http://
)
Domains: Use clean domain names without protocols or paths
Blockchain Addresses: Use EIP-155 format for Ethereum addresses
Avoid Duplicates: Each asset should appear only once per report
Error Handling
Always check thedata.errors
array in 422 responses for per-asset details
Use the suggestion
field in error responses to guide users
Implement retry logic for 500 errors with exponential backoff
Performance Tips
Batch multiple assets in a single request when possible Validate asset formats client-side before submission Handle rate limiting appropriatelyTroubleshooting
Common Issues
“INVALID_FORMAT” errors: Ensure URLs include protocol (https://
or http://
)
Verify domain names don’t include protocols or paths
Check blockchain address format matches EIP-155 standard
“DUPLICATE_ASSETS” errors:
Remove duplicate entries from the assets array
Check for case sensitivity differences
Verify URL normalization (trailing slashes, etc.)
“DOMAIN_NOT_ALLOWED” errors:
The domain is on Chain Patrol’s ignore list
Contact support if you believe this is incorrect
Consider reporting specific URLs instead of the entire domain
“ASSET_ALREADY_CORRECT” errors:
The asset already has the status you’re requesting
Check the current asset status before reporting
No action needed - the asset is already in the desired state
Rate Limiting
The endpoint implements rate limiting to prevent abuse. If you encounter rate limit errors: Implement exponential backoff in your retry logic Consider batching requests to reduce API calls Contact support for higher rate limits if neededNotes
Error payload shape is stable across 422 errors; checkdata.errors
for per-asset details
Provide the organizationSlug
and valid assets
to minimize 500s caused by invalid state
All assets must be valid for the report to be created
A report can only be created once per email address for a specific asset
For technical issues or questions about error responses, contact support@chainpatrol.io and include the full error response in your request.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