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
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/convex-deployment"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.