Busabase
OpenAPI Reference

Websites

An AirApp's website (the Website engine): its state, the members-only preview, Go live, taking it offline, and custom domains.

GET
/api/v1/airapps/{nodeId}/site

Path Parameters

nodeId*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/airapps/string/site"
{  "engine": "available",  "address": "string",  "publication": "not-live",  "isPublic": true,  "previewUrl": "string",  "previewVersion": "string",  "liveVersion": "string",  "currentVersion": "string",  "previewStale": true,  "previewDeployedAt": "string",  "liveDeployedAt": "string",  "blockers": [    {      "code": "not-a-site-app"    }  ]}
POST
/api/v1/airapps/{nodeId}/site/preview

Path Parameters

nodeId*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/airapps/string/site/preview"
{  "outcome": "ok",  "state": {    "engine": "available",    "address": "string",    "publication": "not-live",    "isPublic": true,    "previewUrl": "string",    "previewVersion": "string",    "liveVersion": "string",    "currentVersion": "string",    "previewStale": true,    "previewDeployedAt": "string",    "liveDeployedAt": "string",    "blockers": [      {        "code": "not-a-site-app"      }    ]  }}
POST
/api/v1/airapps/{nodeId}/site/go-live

Path Parameters

nodeId*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/airapps/string/site/go-live"
{  "outcome": "ok",  "state": {    "engine": "available",    "address": "string",    "publication": "not-live",    "isPublic": true,    "previewUrl": "string",    "previewVersion": "string",    "liveVersion": "string",    "currentVersion": "string",    "previewStale": true,    "previewDeployedAt": "string",    "liveDeployedAt": "string",    "blockers": [      {        "code": "not-a-site-app"      }    ]  }}
POST
/api/v1/airapps/{nodeId}/site/republish

Path Parameters

nodeId*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/airapps/string/site/republish"
{  "outcome": "ok",  "state": {    "engine": "available",    "address": "string",    "publication": "not-live",    "isPublic": true,    "previewUrl": "string",    "previewVersion": "string",    "liveVersion": "string",    "currentVersion": "string",    "previewStale": true,    "previewDeployedAt": "string",    "liveDeployedAt": "string",    "blockers": [      {        "code": "not-a-site-app"      }    ]  }}
POST
/api/v1/airapps/{nodeId}/site/unpublish

Path Parameters

nodeId*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/airapps/string/site/unpublish"
{  "outcome": "ok",  "state": {    "engine": "available",    "address": "string",    "publication": "not-live",    "isPublic": true,    "previewUrl": "string",    "previewVersion": "string",    "liveVersion": "string",    "currentVersion": "string",    "previewStale": true,    "previewDeployedAt": "string",    "liveDeployedAt": "string",    "blockers": [      {        "code": "not-a-site-app"      }    ]  }}
GET
/api/v1/airapps/{nodeId}/site/domains

Path Parameters

nodeId*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/airapps/string/site/domains"
{  "available": true,  "cnameTarget": "string",  "bindings": [    {      "hostname": "string",      "url": "string",      "status": "pending",      "hostnameStatus": "string",      "sslStatus": "string",      "dnsRecords": [        {          "type": "string",          "name": "string",          "value": "string"        }      ],      "errors": [        "string"      ],      "issues": []    }  ]}
POST
/api/v1/airapps/{nodeId}/site/domains

Path Parameters

nodeId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/airapps/string/site/domains" \  -H "Content-Type: application/json" \  -d '{    "hostname": "string"  }'
{  "available": true,  "cnameTarget": "string",  "bindings": [    {      "hostname": "string",      "url": "string",      "status": "pending",      "hostnameStatus": "string",      "sslStatus": "string",      "dnsRecords": [        {          "type": "string",          "name": "string",          "value": "string"        }      ],      "errors": [        "string"      ],      "issues": []    }  ]}
DELETE
/api/v1/airapps/{nodeId}/site/domains/{hostname}

Path Parameters

nodeId*string
hostname*string
Match^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z](?:[a-z0-9-]{0,61}[a-z0-9])?$
Lengthlength <= 253

Response Body

application/json

curl -X DELETE "https://example.com/api/v1/airapps/string/site/domains/string"
{  "available": true,  "cnameTarget": "string",  "bindings": [    {      "hostname": "string",      "url": "string",      "status": "pending",      "hostnameStatus": "string",      "sslStatus": "string",      "dnsRecords": [        {          "type": "string",          "name": "string",          "value": "string"        }      ],      "errors": [        "string"      ],      "issues": []    }  ]}