Quickstart
Minimum sequence to create a Project, add resources, and provision them. Examples in cURL, Python, Java, PHP, and Go — the same flow is available in the console.
Prerequisite: Tesserra account with an active subscription. To authenticate, obtain an access token via login or use an Organization API key — see REST API.
1. Create a Project
Each Project is the logical grouping of resources that make up an application.
curl -X POST https://tesserra.io/api/projetos \
-H "Authorization: Bearer $TESSERRA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"nome": "Loja Acme",
"modo": "simples",
"ambiente": "prod",
"resiliencia": "unica"
}'In the console: App → Projects → New. The response includes the Project id, used in subsequent calls.
2. Add resources
For a web service with a database and custom domain, three resources are required:
VM (Instance)
curl -X POST https://tesserra.io/api/projetos/$PROJETO/recursos \
-H "Authorization: Bearer $TESSERRA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tipo": "compute",
"nome": "loja-web",
"config": {
"subtipo": "web",
"imagem": "ghcr.io/acme/loja:1.0.0",
"porta": 3000,
"cpu": "0.5",
"memoria_mb": 512,
"replicas_min": 2,
"replicas_max": 4
}
}'Datastore (database)
curl -X POST https://tesserra.io/api/projetos/$PROJETO/recursos \
-H "Authorization: Bearer $TESSERRA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tipo": "datastore",
"nome": "loja-db",
"config": {
"engine": "postgres",
"versao": "16",
"tamanho_gb": 20,
"ha": false
}
}'Gateway (DNS + TLS)
curl -X POST https://tesserra.io/api/projetos/$PROJETO/recursos \
-H "Authorization: Bearer $TESSERRA_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tipo": "gateway",
"nome": "loja-dns",
"config": {
"dominio": "loja.acme.com.br",
"tls": true,
"alvo_recurso_id": "<id_da_aplicacao>"
}
}'The domain must be verified in the Organization before use. Procedure in Domains, DNS, and email.
3. Provision
The Project starts in rascunho (draft). When provisioned, the platform validates configuration, computes replica distribution according to the resilience level, and activates resources.
curl -X POST https://tesserra.io/api/projetos/$PROJETO/provisionar \ -H "Authorization: Bearer $TESSERRA_TOKEN"
4. (Optional) Corporate email
- In
App → Domains, open the verified domain and add the automatically generated MX, SPF, and DKIM records. - In
App → Email, create the mailboxcontato@yourdomainwith quota and password. - Use the SMTP/IMAP credentials shown in the console with any standard email client.
5. Check health
Each provisioned Project exposes a health endpoint with basic metrics:
curl https://tesserra.io/api/projetos/$PROJETO/saude \ -H "Authorization: Bearer $TESSERRA_TOKEN"
Returned fields are documented in Observability.
Next steps
- Concepts — full structure of Organization, Plan, Zones, and Nuclei.
- Reference architectures — patterns for multiple services and multi-region.
- REST API — authentication, available resources, rate limits, and error format.