Supabase · Schema
Supabase Project
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.
Backend As A ServicePostgreSQLOpen SourceAuthenticationReal TimeStorageEdge FunctionsDatabase
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique identifier for the project |
| name | string | Display name of the project |
| organization_id | string | ID of the organization that owns this project |
| region | string | Cloud region where the project is hosted |
| status | string | Current operational status of the project |
| ref | string | Unique reference identifier used in API URLs |
| database | object | |
| services | array | Status of each service in the project |
| api_keys | array | API keys for accessing the project |
| plan | string | Billing plan for the project |
| created_at | string | Timestamp when the project was created |
| updated_at | string | Timestamp when the project was last updated |
JSON Schema
{
"$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"
}
}
}
}
}