Convex · Schema

Convex Deployment

Schema representing a Convex deployment, which is a runtime environment where Convex backend functions execute. Deployments have a unique name that forms the subdomain of their URL (e.g. happy-otter-123.convex.cloud). Each deployment has its own database, file storage, scheduled functions, and environment variable configuration.

BackendDatabaseFunctionsReal-TimeReactiveServerlessTypeScript

Properties

Name Type Description
id integer Unique integer identifier for the deployment assigned by Convex.
name string Unique name of the deployment used as the subdomain of the deployment URL (e.g. 'happy-otter-123').
deployment_type string The type of deployment environment, determining its lifecycle and usage context.
deployment_class string The compute class determining resource limits (memory, concurrency) and pricing tier.
region string The cloud region where this deployment runs.
project_id integer ID of the project that owns this deployment.
url string The base HTTPS URL of the deployment in the format https://{name}.convex.cloud.
environment_variables array Environment variables configured for this deployment, accessible to backend functions at runtime via process.env.
custom_domains array Custom domain names associated with this deployment.
View JSON Schema on GitHub

JSON Schema

convex-deployment-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://convex.dev/schemas/convex/deployment.json",
  "title": "Convex Deployment",
  "description": "Schema representing a Convex deployment, which is a runtime environment where Convex backend functions execute. Deployments have a unique name that forms the subdomain of their URL (e.g. happy-otter-123.convex.cloud). Each deployment has its own database, file storage, scheduled functions, and environment variable configuration.",
  "type": "object",
  "required": ["id", "name", "deployment_type"],
  "properties": {
    "id": {
      "type": "integer",
      "description": "Unique integer identifier for the deployment assigned by Convex.",
      "minimum": 1
    },
    "name": {
      "type": "string",
      "description": "Unique name of the deployment used as the subdomain of the deployment URL (e.g. 'happy-otter-123').",
      "pattern": "^[a-z0-9-]+$"
    },
    "deployment_type": {
      "type": "string",
      "description": "The type of deployment environment, determining its lifecycle and usage context.",
      "enum": ["dev", "prod", "preview", "custom"]
    },
    "deployment_class": {
      "type": "string",
      "description": "The compute class determining resource limits (memory, concurrency) and pricing tier.",
      "enum": ["s16", "s256", "d1024"]
    },
    "region": {
      "type": "string",
      "description": "The cloud region where this deployment runs.",
      "enum": ["aws-us-east-1", "aws-eu-west-1"]
    },
    "project_id": {
      "type": "integer",
      "description": "ID of the project that owns this deployment.",
      "minimum": 1
    },
    "url": {
      "type": "string",
      "format": "uri",
      "description": "The base HTTPS URL of the deployment in the format https://{name}.convex.cloud.",
      "pattern": "^https://[a-z0-9-]+\\.convex\\.cloud$"
    },
    "environment_variables": {
      "type": "array",
      "description": "Environment variables configured for this deployment, accessible to backend functions at runtime via process.env.",
      "items": {
        "$ref": "#/$defs/EnvironmentVariable"
      }
    },
    "custom_domains": {
      "type": "array",
      "description": "Custom domain names associated with this deployment.",
      "items": {
        "$ref": "#/$defs/CustomDomain"
      }
    }
  },
  "$defs": {
    "EnvironmentVariable": {
      "type": "object",
      "description": "A key-value environment variable configured on a Convex deployment. Environment variables are accessible to all backend functions at runtime.",
      "required": ["name", "value"],
      "properties": {
        "name": {
          "type": "string",
          "description": "The environment variable key name following standard naming conventions.",
          "pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
          "examples": ["DATABASE_URL", "API_KEY", "WEBHOOK_SECRET"]
        },
        "value": {
          "type": "string",
          "description": "The environment variable value. May contain connection strings, API keys, or other configuration data.",
          "maxLength": 8192
        }
      }
    },
    "CustomDomain": {
      "type": "object",
      "description": "A custom domain name associated with a Convex deployment for routing external traffic.",
      "required": ["domain", "request_destination"],
      "properties": {
        "domain": {
          "type": "string",
          "description": "The fully-qualified custom domain name (e.g. 'api.example.com').",
          "format": "hostname"
        },
        "request_destination": {
          "type": "string",
          "description": "Routing destination for requests to this domain. convexCloud routes to the function API (queries, mutations, actions); convexSite routes to HTTP action endpoints.",
          "enum": ["convexCloud", "convexSite"]
        }
      }
    },
    "DeployKey": {
      "type": "object",
      "description": "A deploy key used to authenticate the Convex CLI or CI/CD pipelines when pushing function code to a deployment.",
      "required": ["name", "deployment_name"],
      "properties": {
        "name": {
          "type": "string",
          "description": "Human-readable name for the deploy key."
        },
        "deployment_name": {
          "type": "string",
          "description": "The name of the deployment this key is scoped to.",
          "pattern": "^[a-z0-9-]+$"
        },
        "key": {
          "type": "string",
          "description": "The deploy key value. Only present immediately after creation; not returned by subsequent list operations.",
          "pattern": "^prod:[A-Za-z0-9_-]+$"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "description": "ISO 8601 timestamp when this deploy key was created."
        }
      }
    },
    "Project": {
      "type": "object",
      "description": "A Convex project, which is the top-level organizational unit grouping related deployments.",
      "required": ["id", "slug", "name", "team_id"],
      "properties": {
        "id": {
          "type": "integer",
          "description": "Unique integer identifier for the project.",
          "minimum": 1
        },
        "slug": {
          "type": "string",
          "description": "Human-readable URL-safe identifier for the project within the team.",
          "pattern": "^[a-z0-9-]+$"
        },
        "name": {
          "type": "string",
          "description": "Display name of the project.",
          "maxLength": 128
        },
        "team_id": {
          "type": "integer",
          "description": "ID of the team that owns this project.",
          "minimum": 1
        }
      }
    }
  }
}