TurboSteed Public API (1.0.0)

Download OpenAPI specification:

Public APIs for TurboSteed Web Hosting Platform.

Authentication Types

Standard API Key

For authenticated access to account resources from external apps.

  • Header: Authorization: Basic <base64(accountSid:apiKey)>

Public API Key (Contact Forms)

For untrusted sources (website visitors submitting contact forms).

  • Header: Authorization: Basic <base64(hashedSiteId:sitePublicKey)>
  • Alternative header: X-Tsa: <sitePublicKey>

Retrieve your Public API Key via GET /users/{accountSid}/sites/{siteId}/pubapikey

Sites

Site management (Standard API Key)

Get all sites for an account

Retrieve all sites associated with the authenticated account.

Authorizations:
StandardApiKey
path Parameters
accountSid
required
string

Your account SID

Responses

Response samples

Content type
application/json
{
  • "siteCount": 2,
  • "sites": [
    ]
}

Get a specific site

Retrieve details of a specific site.

Authorizations:
StandardApiKey
path Parameters
accountSid
required
string

Your account SID

siteId
required
string

The site ID

Responses

Response samples

Content type
application/json
{
  • "siteId": "string",
  • "siteName": "string",
  • "createdAt": 0,
  • "lastUpdatedAt": 0,
  • "siteSource": "string",
  • "customDomain": "string"
}

Site Content

Site content upload (Standard API Key)

Upload site content (multipart)

Upload site content as a ZIP file via multipart form data. The ZIP must contain an index.html file. Max upload size: 5MB.

Authorizations:
StandardApiKey
path Parameters
accountSid
required
string

Your account SID

siteId
required
string

The site ID

Request Body schema: multipart/form-data
required
file
string <binary>

ZIP file containing site content

Responses

Response samples

Content type
application/json
{
  • "message": "Zip file processed and uploaded"
}

Upload site content (from S3 presigned URL)

Upload site content from a presigned S3 URL. Use this for larger uploads after obtaining a presigned URL.

Authorizations:
StandardApiKey
path Parameters
accountSid
required
string

Your account SID

siteId
required
string

The site ID

Request Body schema: application/json
required
s3Url
required
string

Presigned S3 URL containing the uploaded ZIP file

Responses

Request samples

Content type
application/json
{
  • "s3Url": "string"
}

Response samples

Content type
application/json
{
  • "message": "Invalid credentials"
}

Contact Forms

Contact form APIs

Get all contact form submissions

Retrieve all contact form submissions for a site. Results are paginated (10 per page).

Authorizations:
StandardApiKey
path Parameters
accountSid
required
string

Your account SID

siteId
required
string

The site ID

query Parameters
lastForm
string

Last form ID for pagination (from previous response)

Responses

Response samples

Content type
application/json
{
  • "formCount": 5,
  • "forms": [
    ],
  • "moreItems": true
}

Get a specific contact form submission

Retrieve details of a specific contact form submission.

Authorizations:
StandardApiKey
path Parameters
accountSid
required
string

Your account SID

siteId
required
string

The site ID

formId
required
string

Responses

Response samples

Content type
application/json
{
  • "formId": "string",
  • "formDate": "02162026",
  • "formEmail": "string",
  • "formSubject": "string",
  • "formMessage": "string",
  • "formName": "string"
}

Submit a contact form (Public API Key)

Submit a contact form from a website visitor.

Authentication: Uses Public API Key (not Standard API Key).

  • The accountSid in the path is the hashed site ID (publicSiteId)
  • Use Authorization: Basic <base64(hashedSiteId:sitePublicKey)>
  • Or use header X-Tsa: <sitePublicKey>

Retrieve these credentials via GET /users/{accountSid}/sites/{siteId}/pubapikey

Authorizations:
PublicApiKey
path Parameters
accountSid
required
string

The hashed site ID (publicSiteId), NOT the real accountSid

header Parameters
X-Cf-Version
integer
Default: 1
Enum: 1 2

Contact form version (1 or 2). Defaults to 1.

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "formData": {
    }
}

Response samples

Content type
application/json
{
  • "message": "Form submitted"
}

Stats

Site statistics (Standard API Key)

Get site statistics

Retrieve statistics for a site including:

  • Visit counts (this week, this month)
  • Weekly breakdown by day
  • Most popular day
  • Bandwidth usage for the month
  • Contact form usage for the month
  • Total asset size
Authorizations:
StandardApiKey
path Parameters
accountSid
required
string

Your account SID

siteId
required
string

The site ID

Responses

Response samples

Content type
application/json
{
  • "message": {
    }
}

Public API Key

Retrieve public API key for contact forms (Standard API Key)

Get public API key for a site

Retrieve the public API key credentials for a site. Use these credentials to submit contact forms from untrusted sources.

Returns:

  • publicSiteId: The hashed site ID (use as accountSid in contact form submission)
  • publicKey: The site's public key
Authorizations:
StandardApiKey
path Parameters
accountSid
required
string

Your account SID

siteId
required
string

The site ID

Responses

Response samples

Content type
application/json
{
  • "siteId": "string",
  • "publicSiteId": "string",
  • "publicKey": "string"
}