NNO Registry Service API
Platform catalog, stacks, resources, DNS records, and feature management.
List platforms (cursor-paginated)
Query Parameters
Response Body
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms"{
"data": [
{
"id": "string",
"name": "string",
"slug": "string",
"status": "string",
"tier": "string",
"cfAccountId": "string",
"repoName": "string",
"stripeCustomerId": "string",
"ownerUserId": "string",
"cancelledAt": "string",
"cancellationReason": "string",
"suspendedAt": "string",
"suspensionReason": "string",
"trialEndsAt": "string",
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "string",
"total": 0
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Create a new platform
Request Body
application/json
1 <= length^[a-z0-9-]+$1 <= length"starter""starter" | "growth" | "scale"Response Body
application/json
application/json
application/json
curl -X POST "https://registry.svc.nno.app/api/v1/platforms" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "slug": "string" }'{
"id": "string",
"name": "string",
"slug": "string",
"status": "string",
"tier": "string",
"cfAccountId": "string",
"repoName": "string",
"stripeCustomerId": "string",
"ownerUserId": "string",
"cancelledAt": "string",
"cancellationReason": "string",
"suspendedAt": "string",
"suspensionReason": "string",
"trialEndsAt": "string",
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string"{
"id": "string",
"name": "string",
"slug": "string",
"status": "string",
"tier": "string",
"cfAccountId": "string",
"repoName": "string",
"stripeCustomerId": "string",
"ownerUserId": "string",
"cancelledAt": "string",
"cancellationReason": "string",
"suspendedAt": "string",
"suspensionReason": "string",
"trialEndsAt": "string",
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Update a platform
Path Parameters
Request Body
application/json
1 <= length"starter" | "growth" | "scale""active" | "suspended" | "deleted"Response Body
application/json
application/json
application/json
curl -X PATCH "https://registry.svc.nno.app/api/v1/platforms/string" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"name": "string",
"slug": "string",
"status": "string",
"tier": "string",
"cfAccountId": "string",
"repoName": "string",
"stripeCustomerId": "string",
"ownerUserId": "string",
"cancelledAt": "string",
"cancellationReason": "string",
"suspendedAt": "string",
"suspensionReason": "string",
"trialEndsAt": "string",
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}curl -X DELETE "https://registry.svc.nno.app/api/v1/platforms/string"{
"success": true
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Suspend a platform
Path Parameters
Request Body
application/json
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://registry.svc.nno.app/api/v1/platforms/string/suspend" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"name": "string",
"slug": "string",
"status": "string",
"tier": "string",
"cfAccountId": "string",
"repoName": "string",
"stripeCustomerId": "string",
"ownerUserId": "string",
"cancelledAt": "string",
"cancellationReason": "string",
"suspendedAt": "string",
"suspensionReason": "string",
"trialEndsAt": "string",
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Restore a suspended platform
Path Parameters
Request Body
application/json
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://registry.svc.nno.app/api/v1/platforms/string/restore" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"name": "string",
"slug": "string",
"status": "string",
"tier": "string",
"cfAccountId": "string",
"repoName": "string",
"stripeCustomerId": "string",
"ownerUserId": "string",
"cancelledAt": "string",
"cancellationReason": "string",
"suspendedAt": "string",
"suspensionReason": "string",
"trialEndsAt": "string",
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Cancel a platform
Path Parameters
Request Body
application/json
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://registry.svc.nno.app/api/v1/platforms/string/cancel" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"name": "string",
"slug": "string",
"status": "string",
"tier": "string",
"cfAccountId": "string",
"repoName": "string",
"stripeCustomerId": "string",
"ownerUserId": "string",
"cancelledAt": "string",
"cancellationReason": "string",
"suspendedAt": "string",
"suspensionReason": "string",
"trialEndsAt": "string",
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Hard-delete a platform and deprovision
Path Parameters
Request Body
application/json
Response Body
application/json
application/json
application/json
curl -X POST "https://registry.svc.nno.app/api/v1/platforms/string/delete" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"name": "string",
"slug": "string",
"status": "string",
"tier": "string",
"cfAccountId": "string",
"repoName": "string",
"stripeCustomerId": "string",
"ownerUserId": "string",
"cancelledAt": "string",
"cancellationReason": "string",
"suspendedAt": "string",
"suspensionReason": "string",
"trialEndsAt": "string",
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}List lifecycle events for a platform
Path Parameters
Query Parameters
Response Body
application/json
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/lifecycle"{
"data": [
{
"id": "string",
"platformId": "string",
"fromStatus": "string",
"toStatus": "string",
"triggeredBy": "string",
"triggerType": "string",
"reason": "string",
"metadata": null,
"createdAt": "string"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "string",
"total": 0
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Lookup resource by CF name
Query Parameters
Response Body
application/json
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/resources/lookup"{
"id": "string",
"platformId": "string",
"entityId": "string",
"resourceType": "string",
"serviceName": "string",
"environment": "string",
"cfName": "string",
"cfId": "string",
"cfUrl": "string",
"status": "string",
"provisionJobId": "string",
"config": null,
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}List resources for a platform
Path Parameters
Query Parameters
Response Body
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/resources/platforms/string/resources"{
"data": [
{
"id": "string",
"platformId": "string",
"entityId": "string",
"resourceType": "string",
"serviceName": "string",
"environment": "string",
"cfName": "string",
"cfId": "string",
"cfUrl": "string",
"status": "string",
"provisionJobId": "string",
"config": null,
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "string",
"total": 0
}
}List resources for an entity
Path Parameters
Query Parameters
Response Body
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/resources/platforms/string/entities/string/resources"{
"data": [
{
"id": "string",
"platformId": "string",
"entityId": "string",
"resourceType": "string",
"serviceName": "string",
"environment": "string",
"cfName": "string",
"cfId": "string",
"cfUrl": "string",
"status": "string",
"provisionJobId": "string",
"config": null,
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "string",
"total": 0
}
}Register a resource
Path Parameters
Request Body
application/json
1 <= length"worker" | "pages" | "d1" | "r2" | "kv" | "queue"1 <= length"dev" | "stg" | "prod"1 <= lengthuriResponse Body
application/json
application/json
application/json
curl -X POST "https://registry.svc.nno.app/api/v1/resources/platforms/string/entities/string/resources" \ -H "Content-Type: application/json" \ -d '{ "stackId": "string", "resourceType": "worker", "serviceName": "string", "environment": "dev", "cfName": "string" }'{
"id": "string",
"platformId": "string",
"entityId": "string",
"resourceType": "string",
"serviceName": "string",
"environment": "string",
"cfName": "string",
"cfId": "string",
"cfUrl": "string",
"status": "string",
"provisionJobId": "string",
"config": null,
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Get a resource by ID
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/resources/platforms/string/resources/string"{
"id": "string",
"platformId": "string",
"entityId": "string",
"resourceType": "string",
"serviceName": "string",
"environment": "string",
"cfName": "string",
"cfId": "string",
"cfUrl": "string",
"status": "string",
"provisionJobId": "string",
"config": null,
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Update a resource
Path Parameters
Request Body
application/json
"pending" | "provisioning" | "active" | "failed" | "deleted"uriResponse Body
application/json
application/json
application/json
curl -X PATCH "https://registry.svc.nno.app/api/v1/resources/platforms/string/resources/string" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"platformId": "string",
"entityId": "string",
"resourceType": "string",
"serviceName": "string",
"environment": "string",
"cfName": "string",
"cfId": "string",
"cfUrl": "string",
"status": "string",
"provisionJobId": "string",
"config": null,
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Soft-delete a resource
Path Parameters
Response Body
application/json
application/json
curl -X DELETE "https://registry.svc.nno.app/api/v1/resources/platforms/string/resources/string"{
"success": true
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}List entities for a platform
Path Parameters
Query Parameters
Response Body
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/entities"{
"data": [
{
"id": "string",
"platformId": "string",
"parentId": "string",
"type": "string",
"name": "string",
"slug": "string",
"status": "string",
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "string",
"total": 0
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Create an entity
Path Parameters
Request Body
application/json
1 <= length^[a-z0-9-]+$1 <= length"tenant" | "subtenant"Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://registry.svc.nno.app/api/v1/platforms/string/entities" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "slug": "string", "type": "tenant" }'{
"id": "string",
"platformId": "string",
"parentId": "string",
"type": "string",
"name": "string",
"slug": "string",
"status": "string",
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Get an entity by ID
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/entities/string"{
"id": "string",
"platformId": "string",
"parentId": "string",
"type": "string",
"name": "string",
"slug": "string",
"status": "string",
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Update an entity
Path Parameters
Request Body
application/json
1 <= length"active" | "suspended" | "deleted"Response Body
application/json
application/json
application/json
curl -X PATCH "https://registry.svc.nno.app/api/v1/platforms/string/entities/string" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"platformId": "string",
"parentId": "string",
"type": "string",
"name": "string",
"slug": "string",
"status": "string",
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Soft-delete an entity
Path Parameters
Response Body
application/json
application/json
curl -X DELETE "https://registry.svc.nno.app/api/v1/platforms/string/entities/string"{
"success": true
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Get entity ancestors (recursive)
Path Parameters
Response Body
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/entities/string/ancestors"{
"data": [
null
]
}Get entity descendants (recursive)
Path Parameters
Response Body
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/entities/string/descendants"{
"data": [
null
]
}Lookup resource by CF name
Query Parameters
Response Body
application/json
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/lookup"{
"id": "string",
"platformId": "string",
"entityId": "string",
"resourceType": "string",
"serviceName": "string",
"environment": "string",
"cfName": "string",
"cfId": "string",
"cfUrl": "string",
"status": "string",
"provisionJobId": "string",
"config": null,
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}List resources for a platform
Path Parameters
Query Parameters
Response Body
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/resources"{
"data": [
{
"id": "string",
"platformId": "string",
"entityId": "string",
"resourceType": "string",
"serviceName": "string",
"environment": "string",
"cfName": "string",
"cfId": "string",
"cfUrl": "string",
"status": "string",
"provisionJobId": "string",
"config": null,
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "string",
"total": 0
}
}List resources for an entity
Path Parameters
Query Parameters
Response Body
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/entities/string/resources"{
"data": [
{
"id": "string",
"platformId": "string",
"entityId": "string",
"resourceType": "string",
"serviceName": "string",
"environment": "string",
"cfName": "string",
"cfId": "string",
"cfUrl": "string",
"status": "string",
"provisionJobId": "string",
"config": null,
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "string",
"total": 0
}
}Register a resource
Path Parameters
Request Body
application/json
1 <= length"worker" | "pages" | "d1" | "r2" | "kv" | "queue"1 <= length"dev" | "stg" | "prod"1 <= lengthuriResponse Body
application/json
application/json
application/json
curl -X POST "https://registry.svc.nno.app/api/v1/platforms/string/entities/string/resources" \ -H "Content-Type: application/json" \ -d '{ "stackId": "string", "resourceType": "worker", "serviceName": "string", "environment": "dev", "cfName": "string" }'{
"id": "string",
"platformId": "string",
"entityId": "string",
"resourceType": "string",
"serviceName": "string",
"environment": "string",
"cfName": "string",
"cfId": "string",
"cfUrl": "string",
"status": "string",
"provisionJobId": "string",
"config": null,
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Get a resource by ID
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/resources/string"{
"id": "string",
"platformId": "string",
"entityId": "string",
"resourceType": "string",
"serviceName": "string",
"environment": "string",
"cfName": "string",
"cfId": "string",
"cfUrl": "string",
"status": "string",
"provisionJobId": "string",
"config": null,
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Update a resource
Path Parameters
Request Body
application/json
"pending" | "provisioning" | "active" | "failed" | "deleted"uriResponse Body
application/json
application/json
application/json
curl -X PATCH "https://registry.svc.nno.app/api/v1/platforms/string/resources/string" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"platformId": "string",
"entityId": "string",
"resourceType": "string",
"serviceName": "string",
"environment": "string",
"cfName": "string",
"cfId": "string",
"cfUrl": "string",
"status": "string",
"provisionJobId": "string",
"config": null,
"createdAt": "string",
"updatedAt": "string",
"deletedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Soft-delete a resource
Path Parameters
Response Body
application/json
application/json
curl -X DELETE "https://registry.svc.nno.app/api/v1/platforms/string/resources/string"{
"success": true
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}List feature activations for an entity
Path Parameters
Query Parameters
Response Body
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/entities/string/features"{
"data": [
{
"id": "string",
"platformId": "string",
"entityId": "string",
"featureId": "string",
"featureVersion": "string",
"environment": "string",
"status": "string",
"activatedAt": "string",
"deactivatedAt": "string",
"createdAt": "string",
"updatedAt": "string"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "string",
"total": 0
}
}Activate a feature for an entity
Path Parameters
Request Body
application/json
1 <= length1 <= length"dev" | "stg" | "prod"Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://registry.svc.nno.app/api/v1/platforms/string/entities/string/features/activate" \ -H "Content-Type: application/json" \ -d '{ "featureId": "string", "version": "string", "environment": "dev" }'{
"activationId": "string",
"featureId": "string",
"status": "string",
"provisionJobId": "string",
"estimatedDurationSeconds": 0
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"activationId": "string",
"featureId": "string",
"status": "string",
"provisionJobId": "string",
"estimatedDurationSeconds": 0
}Deactivate a feature for an entity
Path Parameters
Request Body
application/json
1 <= length"dev" | "stg" | "prod"Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://registry.svc.nno.app/api/v1/platforms/string/entities/string/features/deactivate" \ -H "Content-Type: application/json" \ -d '{ "featureId": "string", "environment": "dev" }'{
"featureId": "string",
"status": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Get a feature activation by ID
Path Parameters
Query Parameters
Response Body
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/entities/string/features/string"{
"id": "string",
"platformId": "string",
"entityId": "string",
"featureId": "string",
"featureVersion": "string",
"environment": "string",
"status": "string",
"activatedAt": "string",
"deactivatedAt": "string",
"createdAt": "string",
"updatedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Get the feature manifest for an entity
Path Parameters
Query Parameters
Response Body
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/entities/string/manifest"{
"platformId": "string",
"entityId": "string",
"environment": "string",
"features": [
{
"id": "string",
"version": "string",
"package": "string",
"serviceUrl": "string",
"status": "string"
}
],
"generatedAt": "string"
}List secrets for a resource
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/resources/string/secrets"{
"data": [
{
"id": "string",
"resourceId": "string",
"secretName": "string",
"status": "string",
"lastSetAt": "string",
"createdAt": "string",
"updatedAt": "string"
}
]
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Mark or update a secret status
Path Parameters
Request Body
application/json
"missing" | "set" | "rotated" | "error"Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://registry.svc.nno.app/api/v1/platforms/string/resources/string/secrets/string" \ -H "Content-Type: application/json" \ -d '{ "status": "missing" }'{
"id": "string",
"resourceId": "string",
"secretName": "string",
"status": "string",
"lastSetAt": "string",
"createdAt": "string",
"updatedAt": "string"
}{
"id": "string",
"resourceId": "string",
"secretName": "string",
"status": "string",
"lastSetAt": "string",
"createdAt": "string",
"updatedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/builds"{
"data": [
{
"id": "string",
"platformId": "string",
"environment": "string",
"repoName": "string",
"lastCommitSha": "string",
"cfDeploymentId": "string",
"buildStatus": "string",
"buildUrl": "string",
"triggeredBy": "string",
"triggeredAt": "string",
"completedAt": "string",
"updatedAt": "string"
}
]
}Get the latest build for a platform
Path Parameters
Query Parameters
Response Body
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/builds/latest"{
"id": "string",
"platformId": "string",
"environment": "string",
"repoName": "string",
"lastCommitSha": "string",
"cfDeploymentId": "string",
"buildStatus": "string",
"buildUrl": "string",
"triggeredBy": "string",
"triggeredAt": "string",
"completedAt": "string",
"updatedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Update a build state
Path Parameters
Request Body
application/json
"unknown" | "building" | "success" | "failed"uri"feature_activation" | "manual" | "push"Response Body
application/json
application/json
application/json
curl -X PATCH "https://registry.svc.nno.app/api/v1/platforms/string/builds/string" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"platformId": "string",
"environment": "string",
"repoName": "string",
"lastCommitSha": "string",
"cfDeploymentId": "string",
"buildStatus": "string",
"buildUrl": "string",
"triggeredBy": "string",
"triggeredAt": "string",
"completedAt": "string",
"updatedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}List audit log entries for a platform
Path Parameters
Query Parameters
Response Body
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/audit"{
"data": [
{
"id": "string",
"platformId": "string",
"actorId": "string",
"actorType": "string",
"action": "string",
"entityType": "string",
"entityId": "string",
"before": null,
"after": null,
"metadata": null,
"createdAt": "string"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "string",
"total": 0
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}List audit log entries across all platforms
Query Parameters
Response Body
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/audit"{
"data": [
{
"id": "string",
"platformId": "string",
"actorId": "string",
"actorType": "string",
"action": "string",
"entityType": "string",
"entityId": "string",
"before": null,
"after": null,
"metadata": null,
"createdAt": "string"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "string",
"total": 0
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}List workspace stacks for a platform
Path Parameters
Query Parameters
Response Body
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/stacks"{
"data": [
{
"id": "string",
"tenantId": "string",
"platformId": "string",
"name": "string",
"isDefault": true,
"templateId": "string",
"repoName": "string",
"status": "string",
"createdAt": "string",
"updatedAt": "string"
}
],
"cursor": "string"
}Create a workspace stack
Path Parameters
Request Body
application/json
1 <= length1 <= lengthfalse1 <= length1 <= lengthResponse Body
application/json
application/json
curl -X POST "https://registry.svc.nno.app/api/v1/platforms/string/stacks" \ -H "Content-Type: application/json" \ -d '{ "tenantId": "string", "name": "string" }'{
"id": "string",
"name": "string",
"status": "string",
"isDefault": true,
"createdAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Get a workspace stack by ID
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/stacks/string"{
"id": "string",
"tenantId": "string",
"platformId": "string",
"name": "string",
"isDefault": true,
"templateId": "string",
"repoName": "string",
"status": "string",
"createdAt": "string",
"updatedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}List DNS records for a stack
Path Parameters
Query Parameters
Response Body
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/stacks/string/dns"{
"data": [
{
"id": "string",
"platformId": "string",
"stackId": "string",
"hostname": "string",
"targetType": "string",
"resourceId": "string",
"environment": "string",
"cfRouteId": "string",
"status": "string",
"createdAt": "string",
"updatedAt": "string"
}
],
"cursor": "string",
"hasMore": true
}Create a DNS record
Path Parameters
Request Body
application/json
1 <= length1 <= length1 <= length1 <= lengthResponse Body
application/json
application/json
curl -X POST "https://registry.svc.nno.app/api/v1/platforms/string/stacks/string/dns" \ -H "Content-Type: application/json" \ -d '{ "hostname": "string", "targetType": "string", "resourceId": "string", "environment": "string" }'{
"id": "string",
"platformId": "string",
"stackId": "string",
"hostname": "string",
"targetType": "string",
"resourceId": "string",
"environment": "string",
"cfRouteId": "string",
"status": "string",
"createdAt": "string",
"updatedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Get a DNS record by stack and ID
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/stacks/string/dns/string"{
"id": "string",
"platformId": "string",
"stackId": "string",
"hostname": "string",
"targetType": "string",
"resourceId": "string",
"environment": "string",
"cfRouteId": "string",
"status": "string",
"createdAt": "string",
"updatedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Delete a DNS record
Path Parameters
Response Body
application/json
curl -X DELETE "https://registry.svc.nno.app/api/v1/platforms/string/stacks/string/dns/string"{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Get a DNS record by platform and ID
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/dns/string"{
"id": "string",
"platformId": "string",
"stackId": "string",
"hostname": "string",
"targetType": "string",
"resourceId": "string",
"environment": "string",
"cfRouteId": "string",
"status": "string",
"createdAt": "string",
"updatedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}curl -X GET "https://registry.svc.nno.app/api/v1/domains/pending"{
"data": [
{
"id": "string",
"platformId": "string",
"cfHostnameId": "string",
"hostname": "string"
}
]
}List custom domains for a platform
Path Parameters
Query Parameters
Response Body
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/platforms/string/domains"{
"data": [
{
"id": "string",
"platformId": "string",
"dnsRecordId": "string",
"hostname": "string",
"targetDns": "string",
"cfHostnameId": "string",
"sslStatus": "string",
"status": "string",
"verifiedAt": "string",
"createdAt": "string",
"updatedAt": "string"
}
],
"cursor": "string"
}Create a custom domain
Path Parameters
Request Body
application/json
1 <= length1 <= length1 <= length1 <= lengthResponse Body
application/json
application/json
curl -X POST "https://registry.svc.nno.app/api/v1/platforms/string/domains" \ -H "Content-Type: application/json" \ -d '{ "dnsRecordId": "string", "hostname": "string", "targetDns": "string" }'{
"id": "string",
"platformId": "string",
"dnsRecordId": "string",
"hostname": "string",
"targetDns": "string",
"cfHostnameId": "string",
"sslStatus": "string",
"status": "string",
"verifiedAt": "string",
"createdAt": "string",
"updatedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Update a custom domain
Path Parameters
Request Body
application/json
1 <= length1 <= length1 <= lengthResponse Body
application/json
application/json
application/json
curl -X PATCH "https://registry.svc.nno.app/api/v1/platforms/string/domains/string" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"platformId": "string",
"dnsRecordId": "string",
"hostname": "string",
"targetDns": "string",
"cfHostnameId": "string",
"sslStatus": "string",
"status": "string",
"verifiedAt": "string",
"createdAt": "string",
"updatedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}curl -X DELETE "https://registry.svc.nno.app/api/v1/platforms/string/domains/string"{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}List onboarding sessions (operator-only)
Query Parameters
Response Body
application/json
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/onboarding/admin/sessions"{
"data": [
{
"id": "string",
"platformId": "string",
"userId": "string",
"status": "string",
"steps": null,
"currentStep": "string",
"metadata": null,
"stackTemplateId": "string",
"tier": "string",
"provisionJobId": "string",
"startedAt": "string",
"completedAt": "string",
"expiresAt": "string",
"createdAt": "string",
"updatedAt": "string"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "string",
"total": 0
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}curl -X POST "https://registry.svc.nno.app/api/v1/onboarding"{
"onboardingId": "string",
"jobId": "string",
"status": "string",
"steps": [
null
]
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Get an onboarding session
Path Parameters
Response Body
application/json
application/json
application/json
curl -X GET "https://registry.svc.nno.app/api/v1/onboarding/string"{
"id": "string",
"platformId": "string",
"userId": "string",
"status": "string",
"steps": null,
"currentStep": "string",
"metadata": null,
"stackTemplateId": "string",
"tier": "string",
"provisionJobId": "string",
"startedAt": "string",
"completedAt": "string",
"expiresAt": "string",
"createdAt": "string",
"updatedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Update an onboarding session
Path Parameters
Request Body
application/json
"in_progress" | "completed" | "failed" | "cancelled"Response Body
application/json
application/json
application/json
application/json
curl -X PATCH "https://registry.svc.nno.app/api/v1/onboarding/string" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"platformId": "string",
"userId": "string",
"status": "string",
"steps": null,
"currentStep": "string",
"metadata": null,
"stackTemplateId": "string",
"tier": "string",
"provisionJobId": "string",
"startedAt": "string",
"completedAt": "string",
"expiresAt": "string",
"createdAt": "string",
"updatedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}List onboarding sessions (operator-only)
Query Parameters
Response Body
application/json
application/json
application/json
curl -X GET "https://registry.svc.nno.app/admin/sessions"{
"data": [
{
"id": "string",
"platformId": "string",
"userId": "string",
"status": "string",
"steps": null,
"currentStep": "string",
"metadata": null,
"stackTemplateId": "string",
"tier": "string",
"provisionJobId": "string",
"startedAt": "string",
"completedAt": "string",
"expiresAt": "string",
"createdAt": "string",
"updatedAt": "string"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "string",
"total": 0
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}curl -X POST "https://registry.svc.nno.app"{
"onboardingId": "string",
"jobId": "string",
"status": "string",
"steps": [
null
]
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Get an onboarding session
Path Parameters
Response Body
application/json
application/json
application/json
curl -X GET "https://registry.svc.nno.app/string"{
"id": "string",
"platformId": "string",
"userId": "string",
"status": "string",
"steps": null,
"currentStep": "string",
"metadata": null,
"stackTemplateId": "string",
"tier": "string",
"provisionJobId": "string",
"startedAt": "string",
"completedAt": "string",
"expiresAt": "string",
"createdAt": "string",
"updatedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}Update an onboarding session
Path Parameters
Request Body
application/json
"in_progress" | "completed" | "failed" | "cancelled"Response Body
application/json
application/json
application/json
application/json
curl -X PATCH "https://registry.svc.nno.app/string" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"platformId": "string",
"userId": "string",
"status": "string",
"steps": null,
"currentStep": "string",
"metadata": null,
"stackTemplateId": "string",
"tier": "string",
"provisionJobId": "string",
"startedAt": "string",
"completedAt": "string",
"expiresAt": "string",
"createdAt": "string",
"updatedAt": "string"
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}{
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": null
}
}