API Documentation
Your guide to integrating with the CopySight API.
Base URL
All API requests should be made to the following base URL:
https://api.copysight.ai/v1Endpoints
POST/verify
Analyzes an image to detect intellectual property and returns a list of findings.
Headers
| Key | Description |
|---|---|
| X-API-Key | Your unique API key for authentication. |
Request Body
The request should be a multipart/form-data payload containing the image file to be analyzed.
Successful Response (200 OK)
A JSON array of detected intellectual property objects.
[
{
"category": "Characters",
"name": "Mickey Mouse",
"author": "Walt Disney and Ub Iwerks",
"owner": "The Walt Disney Company",
"bounding_box": {
"x": 120,
"y": 80,
"width": 250,
"height": 300
},
"confidence": 98
}
]Response Object Schema
| Field | Type | Description |
|---|---|---|
| category | String | Category of the IP. Can be 'Trademarks', 'Brand and iconic designs', 'Characters', 'Celebrities and famous people', 'Art and artists'. |
| name | String | Name of the intellectual property. |
| author | String | Original creator of the intellectual property. |
| owner | String | Current owner or rights holder of the intellectual property. |
| bounding_box | Object | Coordinates and dimensions of the detected IP: {"x": number, "y": number, "width": number, "height": number} |
| confidence | Number | The confidence level of the detection (0-100). |
Error Responses
When an error occurs, the API returns an appropriate HTTP status code along with a JSON error response.
401Unauthorized
Invalid or missing API key. Ensure your X-API-Key header is correct.
{
"error": "Unauthorized",
"message": "Invalid API key"
}400Bad Request
Invalid file format or corrupted file. Only image files+gif's are supported for now. BETA Support for videos is comming.
{
"error": "Bad Request",
"message": "Unsupported file format or corrupted file"
}429Too Many Requests
Rate limit exceeded. Please wait before making another request.
{
"error": "Too Many Requests",
"message": "Rate limit exceeded. Try again later.",
"retry_after": 60
}