API Reference

REST API

Complete API reference for programmatic access to Platphorm Design.

Base URL
All API requests use this base URL
https://phorm.platphormnews.com
Authentication
API authentication methods

Public endpoints require no authentication. For rate-limited access, include an API key in the request headers:

curl -X GET "https://phorm.platphormnews.com/api/v1/designs" \
  -H "X-PlatPhorm-API-Key: $PLATPHORM_API_KEY" \
  -H "Content-Type: application/json"
Rate Limiting
Request limits and quotas
Anonymous requests100 / hour
Authenticated requests1000 / hour
Export requests50 / hour

Endpoints

GET/api/health
Health check endpoint with system status
{
  "status": "healthy",
  "timestamp": "2024-01-01T00:00:00.000Z",
  "version": "1.0.0",
  "services": {
    "canvas": "operational",
    "export": "operational",
    "ai": "operational"
  }
}
GET/api/v1/designs
List all designs with pagination
{
  "designs": [
    {
      "id": "design_abc123",
      "name": "My Design",
      "created_at": "2024-01-01T00:00:00.000Z",
      "updated_at": "2024-01-01T00:00:00.000Z",
      "element_count": 15
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 100
  }
}
POST/api/v1/designs
Create a new design
{
  "id": "design_xyz789",
  "name": "New Design",
  "created_at": "2024-01-01T00:00:00.000Z"
}
GET/api/v1/designs/:id
Get a specific design by ID
{
  "id": "design_abc123",
  "name": "My Design",
  "elements": [...],
  "canvas": {...},
  "metadata": {...}
}
PUT/api/v1/designs/:id
Update a design
{
  "id": "design_abc123",
  "updated_at": "2024-01-01T00:00:00.000Z"
}
DELETE/api/v1/designs/:id
Delete a design
{
  "deleted": true
}
POST/api/v1/export
Export design to various formats
{
  "url": "https://...",
  "format": "png",
  "width": 2400,
  "height": 1260,
  "size": 125000
}
POST/api/v1/submit/design
Submit design to docs.platphormnews.com
{
  "submission_id": "sub_abc123",
  "url": "https://docs.platphormnews.com/submissions/sub_abc123",
  "status": "submitted"
}
Error Codes
Standard HTTP error responses
400Bad Request - Invalid parameters
401Unauthorized - Missing or invalid API key
403Forbidden - Insufficient permissions
404Not Found - Resource does not exist
429Too Many Requests - Rate limit exceeded
500Internal Server Error