API Documentation

RESTful API for the PlatPhorm News Network onboarding service.

Base URL

https://onboard.platphormnews.com/api

Version

v1

Format

JSON

Endpoints

GET/health

Health check endpoint

Response

{
  "status": "healthy",
  "timestamp": "2026-03-13T00:00:00.000Z",
  "version": "1.0.0"
}
GET/v1/check-subdomain

Check if a subdomain is available for registration

Parameters

NameTypeRequiredDescription
subdomainstringYesThe subdomain to check (3-63 chars, lowercase alphanumeric with hyphens)

Response

{
  "subdomain": "mysite",
  "available": true,
  "fullDomain": "mysite.platphormnews.com",
  "message": "This subdomain is available!"
}

Error Response

{
  "subdomain": "admin",
  "available": false,
  "reason": "This subdomain is reserved",
  "suggestions": ["admin2026", "admin-hub", "admin-news"]
}
POST/v1/applications

Submit a new onboarding application

Parameters

NameTypeRequiredDescription
publicUrlstringYesYour existing website URL
emailstringYesContact email address
requestedSubdomainstringYesDesired subdomain
displayNamestringNoSite display name
descriptionstringNoBrief site description
creatorTypesstring[]NoCreator categories

Response

{
  "id": "app_1710288000000_abc12345",
  "success": true,
  "siteId": "site_1710288000000_xyz98765",
  "domain": "mysite.platphormnews.com",
  "token": "tok_...",
  "trackingUrl": "https://docs.platphormnews.com/onboarding/app_..."
}
GET/v1/applications/{id}

Get application status and deployment info

Parameters

NameTypeRequiredDescription
idstringYesApplication ID from submission

Response

{
  "id": "app_1710288000000_abc12345",
  "status": "deployed",
  "subdomain": "mysite",
  "siteName": "My Site",
  "repoUrl": "https://github.com/PlatPhormNews/mysite-site",
  "siteUrl": "https://mysite.platphormnews.com",
  "dashboardUrl": "https://vercel.com/platphormnews/mysite-site",
  "deployedAt": "2026-03-13T00:05:00.000Z"
}
GET/v1/network/sites

List all sites in the network

Parameters

NameTypeRequiredDescription
categorystringNoFilter by category
limitnumberNoMax results (default: 50)

Response

{
  "sites": [
    {
      "host": "platphormnews.com",
      "subdomain": "www",
      "name": "PlatPhorm News",
      "category": "infrastructure",
      "status": "active"
    }
  ],
  "total": 84,
  "categories": ["infrastructure", "productivity", "entertainment", ...]
}

Authentication

Most endpoints are publicly accessible without authentication. For site management endpoints, include your API key in the Authorization header:

Authorization: Bearer tok_your_api_key_here

Rate Limits

EndpointLimitWindow
/v1/check-subdomain30 requests1 minute
/v1/applications5 requests1 hour
All other endpoints100 requests1 minute