Admin API Reference

All admin endpoints are served under the /_simfra/ path prefix on the same port as the AWS API (default 4599).

Authentication

When SIMFRA_ADMIN_TOKEN is set, most endpoints require a Authorization: Bearer <token> header. Exceptions are noted below.


Health

Method Path Auth Description
GET /_simfra/health None Health check. Returns 200 when ready, 503 while bootstrapping.

Response (200):

{ "status": "healthy", "services": 88, "dockerEnabled": true, "persistenceEnabled": false }

Response (503):

{ "status": "bootstrapping" }

Accounts

Method Path Auth Description
POST /_simfra/accounts Admin Create a new account. Optionally bootstrap it.
GET /_simfra/accounts Admin List all accounts.
GET /_simfra/accounts/{id} Admin Get account details including root credentials.
DELETE /_simfra/accounts/{id} Admin Delete an account and all its service data.
POST /_simfra/accounts/{id}/reset Admin Reset account - deletes all service data but keeps the account.

POST /_simfra/accounts - Request:

{
  "accountId": "123456789012",
  "bootstrap": "standard",
  "region": "us-east-1",
  "availability_zones": ["us-east-1a", "us-east-1b"],
  "vpc_cidr": "172.31.0.0/16"
}

All fields are optional. When accountId is omitted, one is generated. When bootstrap is set, the account is bootstrapped with default VPC infrastructure.

POST /_simfra/accounts - Response (201):

{
  "accountId": "123456789012",
  "rootAccessKeyId": "AKIA...",
  "rootSecretAccessKey": "...",
  "createdAt": "2026-01-15T10:30:00Z",
  "bootstrap": { "success": true }
}

GET /_simfra/accounts - Response:

[
  { "accountId": "000000000000", "alias": "", "createdAt": "2026-01-15T10:30:00Z" }
]

Services

Method Path Auth Description
GET /_simfra/services Admin List all registered services with operations.
GET /_simfra/services?names Admin Compact mode - service names only with totals.

Response (compact):

{ "totalServices": 88, "totalOperations": 5029, "services": ["acm", "apigateway", ...] }

Response (full):

{
  "totalServices": 88,
  "totalOperations": 5029,
  "services": [
    { "name": "sqs", "description": "...", "protocols": ["query"], "operationCount": 21, "operations": ["CreateQueue", ...] }
  ]
}

Events (SSE)

Method Path Auth Description
GET /_simfra/events Query param token Server-Sent Events stream for real-time UI updates.

Auth is via the token query parameter (since EventSource cannot set headers). Optional accountId query parameter filters events to a single account.

Events are JSON objects with service, type, and action fields. A keepalive comment is sent every 30 seconds.


CA (Certificate Authority)

Method Path Auth Description
GET /_simfra/ca/info Admin CA information - root and intermediate cert details.
GET /_simfra/ca/root.crt Admin Download root CA certificate as PEM file.

GET /_simfra/ca/info - Response:

{
  "persistent": true,
  "directory": "/home/user/.simfra/ca",
  "root": { "subject": "...", "serialNumber": "...", "notAfter": "..." },
  "intermediate": { "subject": "...", "serialNumber": "...", "notAfter": "..." }
}

Docker

All Docker endpoints require SIMFRA_DOCKER=true. Returns 503 when Docker is disabled.

Method Path Auth Description
GET /_simfra/docker/summary Admin Overview of containers, images, networks, and volumes.
GET /_simfra/docker/containers Admin List all Simfra-managed containers.
GET /_simfra/docker/containers/{id} Admin Inspect a container.
POST /_simfra/docker/containers/{id}/start Admin Start a stopped container.
POST /_simfra/docker/containers/{id}/stop Admin Stop a running container.
POST /_simfra/docker/containers/{id}/restart Admin Restart a container.
GET /_simfra/docker/containers/{id}/logs Admin Get container logs. Query params: tail (number of lines), since (timestamp).
DELETE /_simfra/docker/containers/{id} Admin Remove a container.
GET /_simfra/docker/images Admin List Docker images.
POST /_simfra/docker/images/pull Admin Pull a Docker image. Body: {"image": "name:tag"}.
DELETE /_simfra/docker/images/{id} Admin Remove a Docker image.
GET /_simfra/docker/networks Admin List Simfra-managed Docker networks.
GET /_simfra/docker/networks/{id} Admin Inspect a Docker network.
DELETE /_simfra/docker/networks/{id} Admin Remove a Docker network.
GET /_simfra/docker/volumes Admin List Docker volumes.
DELETE /_simfra/docker/volumes/{name} Admin Remove a Docker volume.
POST /_simfra/docker/cleanup Admin Remove all Simfra-managed containers, networks, and volumes.

Port Forwards

Requires Docker to be enabled.

Method Path Auth Description
POST /_simfra/port-forwards Admin Create a port forward to a private container.
GET /_simfra/port-forwards Admin List active port forwards.
GET /_simfra/port-forwards/targets Admin List available port forward targets (containers).
GET /_simfra/port-forwards/{id} Admin Get a port forward session.
DELETE /_simfra/port-forwards/{id} Admin Stop and remove a port forward.

POST /_simfra/port-forwards - Request:

{
  "targetArn": "arn:aws:rds:us-east-1:000000000000:db:mydb",
  "localPort": 5432
}

Response:

{
  "id": "pf-abc123",
  "targetArn": "arn:aws:rds:...",
  "targetIp": "172.18.0.5",
  "targetPort": 5432,
  "localPort": 5432,
  "localAddress": "localhost:5432",
  "vpcNetwork": "simfra-vpc-...",
  "service": "rds",
  "status": "active"
}

Inbox

The inbox captures notifications from SES, SNS, Cognito, and Organizations.

Method Path Auth Description
GET /_simfra/inbox Admin List inbox messages. Query params: limit, offset, type, source, search.
DELETE /_simfra/inbox Admin Delete all inbox messages.
GET /_simfra/inbox/unread-count Admin Get unread message count.
POST /_simfra/inbox/read-all Admin Mark all messages as read.
GET /_simfra/inbox/{id} Admin Get a single message.
DELETE /_simfra/inbox/{id} Admin Delete a message.
POST /_simfra/inbox/{id}/read Admin Mark a message as read.
POST /_simfra/inbox/{id}/action Admin Execute the message's action (e.g. confirm SNS subscription).

Storage

Method Path Auth Description
GET /_simfra/storage/summary Admin Persistence summary - database size, resource counts by service.

Response:

{
  "enabled": true,
  "dataDir": "/data/simfra",
  "dbPath": "/data/simfra/simfra.db",
  "dbSize": 1048576,
  "total": 42,
  "services": [{"service": "sqs", "count": 5}, ...]
}

Service-Specific Endpoints

Method Path Auth Description
GET /_simfra/dns/{accountId} Admin Get the DNS server port for an account.
GET /_simfra/smtp/{accountId} Admin Get the SMTP relay port for an account.
GET /_simfra/cognito-auth/{accountId} Admin Get the Cognito hosted UI port for an account.

Response:

{ "port": 10053 }

ACM (Certificate Manager)

Method Path Auth Description
GET /_simfra/acm/{accountId}/{region}/pending-validations Admin List certificates pending DNS/email validation.
POST /_simfra/acm/{accountId}/{region}/validate/{certificateARN} Admin Validate all domains on a certificate.
POST /_simfra/acm/{accountId}/{region}/validate/{certificateARN}/{domain} Admin Validate a specific domain on a certificate.

SSO

Method Path Auth Description
POST /_simfra/sso/sessions Admin Create an SSO portal session for an account.
GET /_simfra/sso/sessions Admin List active SSO sessions.
DELETE /_simfra/sso/sessions/{token} Admin Delete an SSO session.

SSO OIDC

Method Path Auth Description
POST /_simfra/sso-oidc/authorize Admin Authorize a pending device code flow.
GET /_simfra/sso-oidc/device-authorizations Admin List pending device authorization requests.
GET /_simfra/sso-oidc/clients Admin List registered OIDC clients.

Cognito Hosted UI (Internal)

These endpoints are used by the Cognito hosted UI container and are not intended for direct use.

Method Path Auth Description
POST /_simfra/cognito-idp/authenticate Admin Authenticate a user directly.
POST /_simfra/cognito-idp/issue-tokens Admin Issue OAuth2 tokens for a user.
POST /_simfra/cognito-idp/refresh-tokens Admin Refresh OAuth2 tokens.
POST /_simfra/cognito-idp/client-credentials-tokens Admin Issue client credentials grant tokens.
POST /_simfra/cognito-idp/revoke-token Admin Revoke a token.
POST /_simfra/cognito-idp/userinfo Admin Get user info from an access token.
POST /_simfra/cognito-idp/signup Admin Register a new user.
GET /_simfra/cognito-idp/{region}/{poolId}/.well-known/jwks.json Admin Get JWKS for a Cognito user pool.

OIDC Provider JWKS

Method Path Auth Description
GET /_simfra/oidc/{accountId}/{issuerPath}/.well-known/jwks.json Admin Get JWKS for an IAM OIDC provider.

WebSocket Endpoints

These endpoints upgrade to WebSocket connections and use their own auth mechanisms.

Method Path Auth Description
WS /_simfra/cloudshell/connect Query param token CloudShell terminal session. Query params: accountId, region.
WS /_simfra/browser/connect Query param token Embedded browser session.
WS /_simfra/ssm/web-terminal None SSM Session Manager browser terminal. Query params: accountId, region, instanceId.
WS /_simfra/ssm/data-channel/{sessionId} Query param token SSM Session Manager data channel (used by aws ssm start-session).