Data models #
This page documents the main public payloads exchanged with the Kuzzle PaaS API.
Project #
{
"id": "paas-project-my-project",
"name": "my-project",
"description": "Customer project",
"environments": []
}Fields:
id: project tenant identifier. It may be omitted when creating a project.name: project display and technical name.description: optional project description.environments: environment list.
User #
Used when creating a project for a user.
{
"_id": "john.doe",
"email": "john.doe@example.com",
"password": "<initial-password>"
}Environment #
{
"name": "production",
"description": "Production environment",
"projectId": "paas-project-my-project",
"applications": [],
"size": "M",
"status": "Deployed",
"keycloak": {
"enabled": true,
"realmName": "my-project-production"
}
}Fields:
name: environment identifier.description: human-readable description.projectId: parent project identifier.applications: applications deployed in this environment.size: one ofS,S_SLA,M,L.status: one ofDeploying,Deployed,Upgrading,Disabled,Errored.keycloak: optional Keycloak realm metadata.
Application #
{
"_id": "api",
"name": "kuzzleES8",
"metadata": {
"finalizers": ["resources-finalizer.argocd.argoproj.io"],
"namespace": "delivery",
"name": "api-production-my-project"
},
"spec": {
"destination": {
"namespace": "paas-project-my-project",
"server": "https://kubernetes.default.svc"
},
"source": {
"chart": "paas-kuzzle-es8",
"repoURL": "https://kuzzleio.github.io/helm-charts/",
"targetRevision": "1.5.0",
"helm": {
"releaseName": "api-production-my-project",
"values": {}
}
},
"syncPolicy": {
"automated": {
"allowEmpty": true,
"prune": true
}
},
"project": "paas-project-my-project"
},
"settings": {
"projectId": "paas-project-my-project",
"environmentId": "production",
"customDomain": "api.example.com",
"customPort": 7512,
"linkedWebAppId": "webapp",
"protocols": [
{
"name": "http",
"port": 7512
}
]
},
"status": "Healthy"
}Fields:
_id: application identifier inside the environment.name: application type. Public values arekuzzle,kuzzleES8,webapp,custom.metadata: ArgoCD application metadata.spec: ArgoCD application specification.settings: Kuzzle PaaS application settings.status: application health status.
Application settings #
{
"projectId": "paas-project-my-project",
"environmentId": "production",
"customDomain": "api.example.com",
"customCertificates": ["tls-secret-name"],
"customPort": 7512,
"linkedWebAppId": "webapp",
"keycloak": {
"clientId": "api",
"secret": "<client-secret>",
"realm": "my-project-production"
},
"protocols": [
{
"name": "http",
"port": 7512
}
]
}Image #
Used by application:deploy.
{
"name": "harbor.paas.kuzzle.io/my-project/api",
"tag": "1.2.3"
}Project history #
{
"projectId": "paas-project-my-project",
"createdAt": "2026-06-19T12:00:00.000Z",
"deletedAt": null,
"environments": [
{
"environmentId": "production",
"createdAt": "2026-06-19T12:10:00.000Z",
"deletedAt": null
}
]
}Kuzzle document wrapper #
Project configuration endpoints return Kuzzle documents:
{
"_id": "slack",
"_source": {
"webhookUrl": "https://hooks.slack.com/services/..."
},
"_kuzzle_info": {
"author": "-1",
"createdAt": 1781870400000,
"updatedAt": 1781870400000,
"updater": "-1"
}
}