NNO Provisioning Service API
Cloudflare resource provisioning, platform bootstrapping, and auth worker management.
Provision a new platform
Request Body
application/json
1 <= length1 <= lengthemail1 <= length"prod""dev" | "stg" | "prod"Response Body
application/json
application/json
curl -X POST "https://provisioning.svc.nno.app/api/v1/provision/platform" \ -H "Content-Type: application/json" \ -d '{ "platformId": "string", "planTier": "string", "billingEmail": "user@example.com" }'{
"jobId": "string",
"status": "QUEUED"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Activate a feature
Request Body
application/json
1 <= length1 <= length1 <= length1 <= length"dev" | "stg" | "prod"Response Body
application/json
application/json
curl -X POST "https://provisioning.svc.nno.app/api/v1/provision/feature/activate" \ -H "Content-Type: application/json" \ -d '{ "platformId": "string", "entityId": "string", "featureId": "string", "featureVersion": "string", "environment": "dev" }'{
"jobId": "string",
"status": "QUEUED"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Deactivate a feature
Request Body
application/json
1 <= length1 <= length1 <= length"dev" | "stg" | "prod"falseResponse Body
application/json
application/json
curl -X POST "https://provisioning.svc.nno.app/api/v1/provision/feature/deactivate" \ -H "Content-Type: application/json" \ -d '{ "platformId": "string", "entityId": "string", "featureId": "string", "environment": "dev" }'{
"jobId": "string",
"status": "QUEUED"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Activate a stack
Request Body
application/json
1 <= length1 <= length1 <= length1 <= length"prod""dev" | "stg" | "prod"Response Body
application/json
application/json
curl -X POST "https://provisioning.svc.nno.app/api/v1/provision/stack/activate" \ -H "Content-Type: application/json" \ -d '{ "platformId": "string", "stackId": "string", "stackVersion": "string" }'{
"jobId": "string",
"status": "QUEUED"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Deactivate a stack
Request Body
application/json
1 <= length1 <= length"prod""dev" | "stg" | "prod"falseResponse Body
application/json
application/json
curl -X POST "https://provisioning.svc.nno.app/api/v1/provision/stack/deactivate" \ -H "Content-Type: application/json" \ -d '{ "platformId": "string", "stackInstanceId": "string" }'{
"jobId": "string",
"status": "QUEUED"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Onboard a new platform
Request Body
application/json
1 <= length1 <= length1 <= length"starter""starter" | "growth" | "scale"1 <= lengthemailResponse Body
application/json
application/json
curl -X POST "https://provisioning.svc.nno.app/api/v1/provision/onboard" \ -H "Content-Type: application/json" \ -d '{ "onboardingId": "string", "platformName": "string", "slug": "string", "userId": "string" }'{
"jobId": "string",
"status": "QUEUED"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Create an app
Request Body
application/json
1 <= length1 <= length^[a-z][a-z0-9-]*[a-z0-9]$1 <= length"app" | "svc" | "fullstack"falseResponse Body
application/json
application/json
curl -X POST "https://provisioning.svc.nno.app/api/v1/provision/app/create" \ -H "Content-Type: application/json" \ -d '{ "platformId": "string", "stackId": "string", "appName": "string", "appType": "app" }'{
"jobId": "string",
"status": "QUEUED"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Add a custom domain
Request Body
application/json
1 <= length1 <= length1 <= lengthResponse Body
application/json
application/json
curl -X POST "https://provisioning.svc.nno.app/api/v1/provision/domain/add" \ -H "Content-Type: application/json" \ -d '{ "platformId": "string", "customHostname": "string", "targetDnsRecordId": "string" }'{
"jobId": "string",
"status": "QUEUED"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Deprovision a platform
Request Body
application/json
1 <= length"prod""dev" | "stg" | "prod"Response Body
application/json
application/json
curl -X POST "https://provisioning.svc.nno.app/api/v1/provision/platform/deprovision" \ -H "Content-Type: application/json" \ -d '{ "platformId": "string" }'{
"jobId": "string",
"status": "QUEUED"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}curl -X GET "https://provisioning.svc.nno.app/api/v1/provision/jobs/string"{
"property1": null,
"property2": null
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}List provisioning jobs
Query Parameters
Response Body
application/json
curl -X GET "https://provisioning.svc.nno.app/api/v1/provision/jobs"{
"data": [
{
"property1": null,
"property2": null
}
],
"pagination": {
"limit": 0,
"cursor": "string",
"nextCursor": "string",
"count": 0
}
}Retry a provisioning job (operator only)
Path Parameters
Response Body
application/json
application/json
application/json
curl -X POST "https://provisioning.svc.nno.app/api/v1/provision/jobs/string/retry"{
"jobId": "string",
"status": "QUEUED"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Cancel a provisioning job (operator only)
Path Parameters
Response Body
application/json
application/json
application/json
curl -X POST "https://provisioning.svc.nno.app/api/v1/provision/jobs/string/cancel"{
"jobId": "string",
"status": "FAILED",
"reason": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Force complete a provisioning job (operator only)
Path Parameters
Response Body
application/json
application/json
application/json
curl -X POST "https://provisioning.svc.nno.app/api/v1/provision/jobs/string/force-complete"{
"jobId": "string",
"status": "COMPLETED"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}List DLQ entries (operator only)
Query Parameters
Response Body
application/json
application/json
curl -X GET "https://provisioning.svc.nno.app/api/v1/provision/dlq"{
"data": [
{
"property1": null,
"property2": null
}
],
"pagination": {
"limit": 0,
"cursor": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Upgrade auth worker (operator only)
Request Body
application/json
1 <= lengthResponse Body
application/json
application/json
application/json
curl -X POST "https://provisioning.svc.nno.app/api/v1/provision/auth/upgrade" \ -H "Content-Type: application/json" \ -d '{ "platformId": "string" }'{
"jobId": "string",
"platformId": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Replay a DLQ entry (operator only)
Path Parameters
Response Body
application/json
application/json
application/json
curl -X POST "https://provisioning.svc.nno.app/api/v1/provision/dlq/string/replay"{
"jobId": "string",
"status": "QUEUED",
"entryId": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}