{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://supabase.com/schemas/supabase/project.json", "title": "Supabase Project", "description": "Represents a Supabase project with its database, services, and configuration. A project is the primary unit of organization in Supabase, containing a PostgreSQL database and associated services like Auth, Storage, Realtime, and Edge Functions.", "type": "object", "required": ["id", "name", "organization_id", "region", "status"], "properties": { "id": { "type": "string", "format": "uuid", "description": "Unique identifier for the project" }, "name": { "type": "string", "description": "Display name of the project", "minLength": 1, "maxLength": 255 }, "organization_id": { "type": "string", "format": "uuid", "description": "ID of the organization that owns this project" }, "region": { "type": "string", "description": "Cloud region where the project is hosted", "enum": [ "us-east-1", "us-west-1", "eu-west-1", "eu-west-2", "eu-central-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-south-1", "sa-east-1" ] }, "status": { "type": "string", "description": "Current operational status of the project", "enum": [ "ACTIVE_HEALTHY", "ACTIVE_UNHEALTHY", "INACTIVE", "INIT_FAILED", "REMOVED", "RESTORING", "UPGRADING", "PAUSING", "COMING_UP" ] }, "ref": { "type": "string", "description": "Unique reference identifier used in API URLs", "pattern": "^[a-z]{20}$" }, "database": { "$ref": "#/$defs/DatabaseConfig" }, "services": { "type": "array", "items": { "$ref": "#/$defs/ServiceStatus" }, "description": "Status of each service in the project" }, "api_keys": { "type": "array", "items": { "$ref": "#/$defs/ApiKey" }, "description": "API keys for accessing the project" }, "plan": { "type": "string", "description": "Billing plan for the project", "enum": ["free", "pro", "team", "enterprise"] }, "created_at": { "type": "string", "format": "date-time", "description": "Timestamp when the project was created" }, "updated_at": { "type": "string", "format": "date-time", "description": "Timestamp when the project was last updated" } }, "$defs": { "DatabaseConfig": { "type": "object", "description": "PostgreSQL database configuration for the project", "properties": { "host": { "type": "string", "description": "Database host address" }, "port": { "type": "integer", "description": "Database port number", "default": 5432 }, "name": { "type": "string", "description": "Database name", "default": "postgres" }, "version": { "type": "string", "description": "PostgreSQL version" }, "ssl_enforced": { "type": "boolean", "description": "Whether SSL connections are enforced" } } }, "ServiceStatus": { "type": "object", "description": "Status of an individual project service", "required": ["name", "healthy"], "properties": { "name": { "type": "string", "description": "Name of the service", "enum": ["database", "auth", "storage", "realtime", "functions", "postgrest"] }, "healthy": { "type": "boolean", "description": "Whether the service is healthy" }, "status": { "type": "string", "description": "Detailed status message" } } }, "ApiKey": { "type": "object", "description": "An API key for authenticating requests to the project", "required": ["name", "api_key"], "properties": { "name": { "type": "string", "description": "Key name identifying its role", "enum": ["anon", "service_role"] }, "api_key": { "type": "string", "description": "The API key value (JWT)" } } }, "Organization": { "type": "object", "description": "An organization that owns one or more Supabase projects", "required": ["id", "name"], "properties": { "id": { "type": "string", "format": "uuid", "description": "Unique identifier for the organization" }, "name": { "type": "string", "description": "Display name of the organization", "minLength": 1 }, "slug": { "type": "string", "description": "URL-friendly slug" }, "billing_email": { "type": "string", "format": "email", "description": "Billing contact email" }, "created_at": { "type": "string", "format": "date-time", "description": "Timestamp when the organization was created" } } }, "EdgeFunction": { "type": "object", "description": "A deployed Edge Function in a Supabase project", "required": ["id", "slug", "name"], "properties": { "id": { "type": "string", "format": "uuid", "description": "Unique identifier for the function" }, "slug": { "type": "string", "description": "URL-friendly slug used in the invocation URL", "pattern": "^[a-z0-9-]+$" }, "name": { "type": "string", "description": "Display name of the function" }, "status": { "type": "string", "description": "Deployment status", "enum": ["ACTIVE", "REMOVED", "THROTTLED"] }, "version": { "type": "integer", "description": "Current deployment version", "minimum": 1 }, "verify_jwt": { "type": "boolean", "description": "Whether JWT verification is required for invocations", "default": true }, "import_map": { "type": "boolean", "description": "Whether an import map is used" }, "entrypoint_path": { "type": "string", "description": "Path to the function entry point file" }, "created_at": { "type": "string", "format": "date-time", "description": "Timestamp when the function was created" }, "updated_at": { "type": "string", "format": "date-time", "description": "Timestamp when the function was last updated" } } }, "StorageBucket": { "type": "object", "description": "A storage bucket for organizing files", "required": ["id", "name"], "properties": { "id": { "type": "string", "description": "Unique identifier for the bucket" }, "name": { "type": "string", "description": "Name of the bucket" }, "public": { "type": "boolean", "description": "Whether the bucket is publicly accessible", "default": false }, "file_size_limit": { "type": "integer", "description": "Maximum file size allowed in bytes", "minimum": 0 }, "allowed_mime_types": { "type": "array", "items": { "type": "string", "pattern": "^[a-zA-Z0-9.*+-]+/[a-zA-Z0-9.*+-]+$" }, "description": "List of allowed MIME types for uploads" }, "created_at": { "type": "string", "format": "date-time", "description": "Timestamp when the bucket was created" }, "updated_at": { "type": "string", "format": "date-time", "description": "Timestamp when the bucket was last updated" } } }, "User": { "type": "object", "description": "A user account managed by Supabase Auth", "required": ["id"], "properties": { "id": { "type": "string", "format": "uuid", "description": "Unique user identifier" }, "email": { "type": "string", "format": "email", "description": "User email address" }, "phone": { "type": "string", "description": "User phone number in E.164 format" }, "role": { "type": "string", "description": "User role" }, "email_confirmed_at": { "type": ["string", "null"], "format": "date-time", "description": "Timestamp when email was confirmed" }, "phone_confirmed_at": { "type": ["string", "null"], "format": "date-time", "description": "Timestamp when phone was confirmed" }, "last_sign_in_at": { "type": ["string", "null"], "format": "date-time", "description": "Timestamp of last sign-in" }, "app_metadata": { "type": "object", "description": "Application-level metadata managed by the system", "properties": { "provider": { "type": "string", "description": "Primary authentication provider" }, "providers": { "type": "array", "items": { "type": "string" }, "description": "List of linked authentication providers" } } }, "user_metadata": { "type": "object", "description": "Custom user metadata set by the application" }, "created_at": { "type": "string", "format": "date-time", "description": "Timestamp when user was created" }, "updated_at": { "type": "string", "format": "date-time", "description": "Timestamp when user was last updated" } } } } }