/**
* This file was auto-generated by openapi-typescript.
* Do not make direct changes to the file.
*/
export interface paths {
"/teams/{team_id}/create_project": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Create project
* @description Create a new project on a team and provision a dev or prod deployment.
*/
post: operations["create project"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/teams/{team_id}/list_projects": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List projects
* @description List all projects for a team.
*/
get: operations["list projects"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/projects/{project_id}/list_deployments": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List deployments
* @description List deployments for a projects.
*/
get: operations["list deployments"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/projects/{project_id}/delete": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Delete project
* @description Delete a project. Deletes all deployments in the project as well.
*/
post: operations["delete project"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/projects/{project_id}/create_deployment": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Create deployment
* @description Create a new deployment for a project.
*/
post: operations["create deployment"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/deployments/{deployment_name}/delete": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Delete deployment
* @description Delete a deployment. This will delete all data and files in the deployment,
* so we recommend creating and downloading a backup before calling this
* endpoint. This does not delete the project itself.
*/
post: operations["delete deployment"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/teams/{team_id}/list_deployment_classes": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List deployment classes
* @description Lists the available deployment classes for a team.
*/
get: operations["list deployment classes"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/teams/{team_id}/list_deployment_regions": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List deployment regions
* @description Lists the available deployment regions for a team.
*/
get: operations["list deployment regions"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/deployments/{deployment_name}/create_deploy_key": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Create deploy key
* @description Create a deploy key like "dev:happy-animal-123|ey..." which can be
* used with the Convex CLI to develop against or deploy code.
*
* When access to the deployment is granted through an OAuth token this
* deploy key will use the same OAuth-granted token.
*
* When access to the deployment is granted any other way a new token will be
* created which grants access only to this deployment.
*/
post: operations["create deploy key"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/deployments/{deployment_name}/list_deploy_keys": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List deploy keys
* @description Lists all deploy keys for the specified deployment.
*/
get: operations["list deploy keys"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/deployments/{deployment_name}/delete_deploy_key": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Delete deploy key
* @description Deletes a deploy key for the specified deployment. The `id` in the request
* body can be the full deploy key (with prefix), encoded token, or the name of
* the deploy key.
*/
post: operations["delete deploy key"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/token_details": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* Get token details
* @description Returns the team ID for team tokens.
* Especially useful after receiving a team token from an OAuth flow
* since most endpoints require team ID.
*/
get: operations["get token details"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/deployments/{deployment_name}/create_custom_domain": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/** Create custom domain */
post: operations["create custom domain"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/deployments/{deployment_name}/delete_custom_domain": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
/**
* Delete custom domain
* @description Remove a custom domain from a deployment.
*/
post: operations["delete custom domain"];
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/deployments/{deployment_name}/custom_domains": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/**
* List custom domains
* @description Get all custom domains configured for a deployment.
*/
get: operations["list custom domains"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
export type webhooks = Record<string, never>;
export interface components {
schemas: {
/** @description Encrypted admin key */
AdminKey: string;
/** @enum {string} */
CreateDeploymentType: "dev" | "prod";
/** @enum {string} */
DeploymentClass: "s16" | "s256" | "d1024";
DeploymentClassMetadata: {
available: boolean;
type: components["schemas"]["DeploymentClass"];
};
/** Format: int64 */
DeploymentId: number;
DeploymentRegionMetadata: {
available: boolean;
displayName: string;
name: components["schemas"]["RegionName"];
};
/** @enum {string} */
DeploymentType: "dev" | "prod" | "preview" | "custom";
DeviceName: string;
/** @description Indicates whether the deployment is the default prod deployment for the
* project, or the default cloud dev deployment for the member in the project. */
IsDefaultDeployment: boolean;
ListDeploymentClassesResponse: {
items: components["schemas"]["DeploymentClassMetadata"][];
};
ListDeploymentRegionsResponse: {
items: components["schemas"]["DeploymentRegionMetadata"][];
};
/** Format: int64 */
MemberId: number;
PlatformCreateDeployKeyArgs: {
/** @description Name for the deploy key. */
name: string;
};
PlatformCreateDeployKeyResponse: {
/** @description The generated deploy key. */
deployKey: components["schemas"]["AdminKey"];
};
PlatformCreateDeploymentArgs: {
/** @description The class to use for this deployment. If not provided, the default
* deployment class for your team will be used. */
class?: string | null;
region?: null | components["schemas"]["RegionName"];
type: components["schemas"]["CreateDeploymentType"];
};
PlatformCreateProjectArgs: {
/** @description The class to use for this deployment. If not provided, the default
* deployment class for your team will be used. */
deploymentClass?: string | null;
deploymentRegion?: null | components["schemas"]["RegionName"];
/** @description Projects always include a deployment, so start this project off with a
* "dev" development deployment or a "prod" production deployment. */
deploymentType: components["schemas"]["CreateDeploymentType"];
/** @description The full name of the project as it will appear in the dashboard. Spaces
* and punctuations allowed. */
projectName: components["schemas"]["ProjectName"];
};
PlatformCreateProjectResponse: {
/** @description The readable identifier for this deployment, something like
* playful-otter-123. */
deploymentName: string;
/** @description Deployment cloud URL, where this deployment lives. */
deploymentUrl: string;
projectId: components["schemas"]["ProjectId"];
};
PlatformCustomDomainResponse: {
/**
* Format: int64
* @description Timestamp in milliseconds when this domain was created.
*/
creationTime: number;
/** @description The deployment name this domain is configured for. */
deploymentName: string;
/** @description The custom domain name. */
domain: string;
/** @description The destination for this custom domain (convexCloud or convexSite). */
requestDestination: components["schemas"]["RequestDestination"];
/**
* Format: int64
* @description Timestamp in milliseconds when this domain was verified, or null if not
* yet verified.
*/
verificationTime?: number | null;
};
PlatformDeleteCustomDomainArgs: {
/** @description The custom domain name to delete. */
domain: string;
/** @description The destination for this custom domain (convexCloud or convexSite). */
requestDestination: components["schemas"]["RequestDestination"];
};
PlatformDeleteDeployKeyArgs: {
/** @description The token to delete. This can be the secret value of the token or the
* token's unique name. */
id: string;
};
PlatformDeployKeyResponse: {
/**
* Format: int64
* @description Timestamp in milliseconds when this token was created.
*/
creationTime: number;
creator?: null | components["schemas"]["MemberId"];
/**
* Format: int64
* @description Timestamp in milliseconds when this token was last used (if ever).
*/
lastUsedTime?: number | null;
/** @description The name given to the deploy key at creation. */
name: string;
};
PlatformDeploymentResponse: {
/**
* Format: int64
* @description Timestamp in milliseconds when this deployment was created.
*/
createTime: number;
creator?: null | components["schemas"]["MemberId"];
/** @description The type of this deployment. */
deploymentType: components["schemas"]["DeploymentType"];
id: components["schemas"]["DeploymentId"];
/** @description For prod deployments, whether they are the default prod deployment
* of the project. For dev deployments, whether they are the default
* dev deployment for the member that created it.
* For other deployments, set to false. */
isDefault: components["schemas"]["IsDefaultDeployment"];
/** @enum {string} */
kind: "cloud";
/** @description The readable identifier for this deployment, something like
* playful-otter-123. */
name: string;
previewIdentifier?: null | components["schemas"]["PreviewDeploymentIdentifier"];
/** @description The project this deployment belongs to. */
projectId: components["schemas"]["ProjectId"];
/** @description The region where this deployment is hosted. */
region: components["schemas"]["RegionName"];
} | {
/**
* Format: int64
* @description Timestamp in milliseconds when this deployment was created.
*/
createTime: number;
/** @description The member who created this deployment. */
creator: components["schemas"]["MemberId"];
/** @description Whether this is a "dev" development deployment or "prod" production
* deployment. Note that this will always be "dev" for local
* deployments. */
deploymentType: components["schemas"]["DeploymentType"];
/** @description The device name where this local deployment is running. */
deviceName: components["schemas"]["DeviceName"];
/** @description Whether this local deployment is currently active. */
isActive: boolean;
/** @enum {string} */
kind: "local";
/** @description The readable identifier for this deployment. */
name: string;
/**
* Format: int32
* @description The port where this local deployment is running.
*/
port: number;
previewIdentifier?: null | components["schemas"]["PreviewDeploymentIdentifier"];
/** @description The project this deployment belongs to. */
projectId: components["schemas"]["ProjectId"];
};
PlatformListCustomDomainsResponse: {
/** @description List of custom domains configured for this deployment. */
domains: components["schemas"]["PlatformCustomDomainResponse"][];
};
PlatformProjectDetails: {
/**
* Format: int64
* @description Timestamp in milliseconds.
*/
createTime: number;
id: components["schemas"]["ProjectId"];
/** @description The full project name, including spaces and punctuation. */
name: components["schemas"]["ProjectName"];
/** @description This shortened version of the name used in Convex Dashboard URLs. */
slug: components["schemas"]["ProjectSlug"];
teamId: components["schemas"]["TeamId"];
};
PlatformTokenDetailsResponse: {
/**
* Format: int64
* @description Timestamp in milliseconds when this token was created.
*/
createTime: number;
/** @description The name given to the token at creation. */
name: components["schemas"]["DeviceName"];
/** @description The team ID this token is associated with. */
teamId: components["schemas"]["TeamId"];
/** @enum {string} */
type: "teamToken";
} | {
/**
* Format: int64
* @description Timestamp in milliseconds when this token was created.
*/
createTime: number;
/** @description The name given to the token at creation. */
name: components["schemas"]["DeviceName"];
/** @description The project ID this token is associated with. */
projectId: components["schemas"]["ProjectId"];
/** @enum {string} */
type: "projectToken";
};
PreviewDeploymentIdentifier: string;
/** Format: int64 */
ProjectId: number;
ProjectName: string;
ProjectSlug: string;
RegionName: string;
/** @enum {string} */
RequestDestination: "convexCloud" | "convexSite";
/** Format: int64 */
TeamId: number;
};
responses: never;
parameters: never;
requestBodies: never;
headers: never;
pathItems: never;
}
export type AdminKey = components['schemas']['AdminKey'];
export type CreateDeploymentType = components['schemas']['CreateDeploymentType'];
export type DeploymentClass = components['schemas']['DeploymentClass'];
export type DeploymentClassMetadata = components['schemas']['DeploymentClassMetadata'];
export type DeploymentId = components['schemas']['DeploymentId'];
export type DeploymentRegionMetadata = components['schemas']['DeploymentRegionMetadata'];
export type DeploymentType = components['schemas']['DeploymentType'];
export type DeviceName = components['schemas']['DeviceName'];
export type IsDefaultDeployment = components['schemas']['IsDefaultDeployment'];
export type ListDeploymentClassesResponse = components['schemas']['ListDeploymentClassesResponse'];
export type ListDeploymentRegionsResponse = components['schemas']['ListDeploymentRegionsResponse'];
export type MemberId = components['schemas']['MemberId'];
export type PlatformCreateDeployKeyArgs = components['schemas']['PlatformCreateDeployKeyArgs'];
export type PlatformCreateDeployKeyResponse = components['schemas']['PlatformCreateDeployKeyResponse'];
export type PlatformCreateDeploymentArgs = components['schemas']['PlatformCreateDeploymentArgs'];
export type PlatformCreateProjectArgs = components['schemas']['PlatformCreateProjectArgs'];
export type PlatformCreateProjectResponse = components['schemas']['PlatformCreateProjectResponse'];
export type PlatformCustomDomainResponse = components['schemas']['PlatformCustomDomainResponse'];
export type PlatformDeleteCustomDomainArgs = components['schemas']['PlatformDeleteCustomDomainArgs'];
export type PlatformDeleteDeployKeyArgs = components['schemas']['PlatformDeleteDeployKeyArgs'];
export type PlatformDeployKeyResponse = components['schemas']['PlatformDeployKeyResponse'];
export type PlatformDeploymentResponse = components['schemas']['PlatformDeploymentResponse'];
export type PlatformListCustomDomainsResponse = components['schemas']['PlatformListCustomDomainsResponse'];
export type PlatformProjectDetails = components['schemas']['PlatformProjectDetails'];
export type PlatformTokenDetailsResponse = components['schemas']['PlatformTokenDetailsResponse'];
export type PreviewDeploymentIdentifier = components['schemas']['PreviewDeploymentIdentifier'];
export type ProjectId = components['schemas']['ProjectId'];
export type ProjectName = components['schemas']['ProjectName'];
export type ProjectSlug = components['schemas']['ProjectSlug'];
export type RegionName = components['schemas']['RegionName'];
export type RequestDestination = components['schemas']['RequestDestination'];
export type TeamId = components['schemas']['TeamId'];
export type $defs = Record<string, never>;
export interface operations {
"create project": {
parameters: {
query?: never;
header?: never;
path: {
/** @description Team ID */
team_id: components["schemas"]["TeamId"];
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["PlatformCreateProjectArgs"];
};
};
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["PlatformCreateProjectResponse"];
};
};
};
};
"list projects": {
parameters: {
query?: never;
header?: never;
path: {
/** @description Team ID */
team_id: components["schemas"]["TeamId"];
};
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["PlatformProjectDetails"][];
};
};
};
};
"list deployments": {
parameters: {
query?: {
/** @description If true, include local deployments in the response (filtered to only
* show local deployments created by the requesting team member). */
includeLocal?: boolean;
};
header?: never;
path: {
/** @description Project ID */
project_id: components["schemas"]["ProjectId"];
};
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["PlatformDeploymentResponse"][];
};
};
};
};
"delete project": {
parameters: {
query?: never;
header?: never;
path: {
/** @description Project ID */
project_id: components["schemas"]["ProjectId"];
};
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
"create deployment": {
parameters: {
query?: never;
header?: never;
path: {
/** @description Project ID */
project_id: components["schemas"]["ProjectId"];
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["PlatformCreateDeploymentArgs"];
};
};
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["PlatformDeploymentResponse"];
};
};
};
};
"delete deployment": {
parameters: {
query?: never;
header?: never;
path: {
/** @description Deployment Name */
deployment_name: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
"list deployment classes": {
parameters: {
query?: never;
header?: never;
path: {
/** @description Team ID */
team_id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ListDeploymentClassesResponse"];
};
};
};
};
"list deployment regions": {
parameters: {
query?: never;
header?: never;
path: {
/** @description Team ID */
team_id: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["ListDeploymentRegionsResponse"];
};
};
};
};
"create deploy key": {
parameters: {
query?: never;
header?: never;
path: {
/** @description Deployment name */
deployment_name: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["PlatformCreateDeployKeyArgs"];
};
};
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["PlatformCreateDeployKeyResponse"];
};
};
};
};
"list deploy keys": {
parameters: {
query?: never;
header?: never;
path: {
/** @description Deployment name */
deployment_name: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["PlatformDeployKeyResponse"][];
};
};
};
};
"delete deploy key": {
parameters: {
query?: never;
header?: never;
path: {
/** @description Deployment name */
deployment_name: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["PlatformDeleteDeployKeyArgs"];
};
};
responses: {
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
"get token details": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["PlatformTokenDetailsResponse"];
};
};
};
};
"create custom domain": {
parameters: {
query?: never;
header?: never;
path: {
/** @description Deployment name */
deployment_name: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["PlatformDeleteCustomDomainArgs"];
};
};
responses: {
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
"delete custom domain": {
parameters: {
query?: never;
header?: never;
path: {
/** @description Deployment name */
deployment_name: string;
};
cookie?: never;
};
requestBody: {
content: {
"application/json": components["schemas"]["PlatformDeleteCustomDomainArgs"];
};
};
responses: {
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
"list custom domains": {
parameters: {
query?: never;
header?: never;
path: {
/** @description Deployment name */
deployment_name: string;
};
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["PlatformListCustomDomainsResponse"];
};
};
};
};
}