API Reference

The Script Network REST API lets you programmatically create projects, upload data, manage annotations, and download certified datasets.

Authentication

All API requests require authentication via an API key passed in the Authorization header:

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.scriptnetwork.com/v1/projects

Base URL

https://api.scriptnetwork.com/v1

Endpoints

MethodEndpoint
POST/v1/projects
GET/v1/projects
GET/v1/projects/:id
POST/v1/batches
GET/v1/batches/:id
GET/v1/batches/:id/download
POST/v1/uploads
GET/v1/webhooks
POST/v1/webhooks
DELETE/v1/webhooks/:id

Example: Create a Project

curl -X POST https://api.scriptnetwork.com/v1/projects \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Object Detection Dataset",
    "annotation_type": "object_detection",
    "export_format": "coco_json",
    "quality_level": "standard"
  }'

Response:

{
  "id": "proj_abc123",
  "name": "Object Detection Dataset",
  "annotation_type": "object_detection",
  "export_format": "coco_json",
  "quality_level": "standard",
  "status": "active",
  "created_at": "2025-01-15T10:30:00Z"
}

Rate Limits

API requests are rate-limited based on your plan: Starter (60 req/min), Growth (300 req/min), Enterprise (custom). Rate limit headers are included in every response.

Error Handling

The API returns standard HTTP status codes. Errors include a JSON body with error and message fields.

{
  "error": "invalid_request",
  "message": "The annotation_type field is required."
}