openapi: 3.1.0
info:
title: LangSmith Deployment Control Plane Agent Connections (v2) Agent Connections (v2) Deployments (v2) API
description: 'The LangSmith Deployment Control Plane API is used to programmatically create and manage
Agent Server deployments. For example, the APIs can be orchestrated to
create custom CI/CD workflows.
## Host
https://api.host.langchain.com
## Authentication
To authenticate with the LangSmith Deployment Control Plane API, set the `X-Api-Key` header
to a valid [LangSmith API key](https://docs.langchain.com/langsmith/create-account-api-key#create-an-api-key).
## Versioning
Each endpoint path is prefixed with a version (e.g. `v1`, `v2`).
## Quick Start
1. Call `POST /v2/deployments` to create a new Deployment. The response body contains the Deployment ID (`id`) and the ID of the latest (and first) revision (`latest_revision_id`).
1. Call `GET /v2/deployments/{deployment_id}` to retrieve the Deployment. Set `deployment_id` in the URL to the value of Deployment ID (`id`).
1. Poll for revision `status` until `status` is `DEPLOYED` by calling `GET /v2/deployments/{deployment_id}/revisions/{latest_revision_id}`.
1. Call `PATCH /v2/deployments/{deployment_id}` to update the deployment.
'
version: 0.1.0
tags:
- name: Deployments (v2)
paths:
/v2/deployments:
get:
tags:
- Deployments (v2)
summary: List Deployments
description: List all deployments.
operationId: list_deployments_v2_deployments_get
security:
- API Key: []
- Tenant ID: []
- Bearer Auth: []
parameters:
- name: limit
in: query
required: false
schema:
type: integer
maximum: 100
minimum: 1
description: Maximum number of resources to return.
default: 20
title: Limit
description: Maximum number of resources to return.
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
description: Pagination offset. Pass this value to subsequent requests to fetch the next page of resources.
default: 0
title: Offset
description: Pagination offset. Pass this value to subsequent requests to fetch the next page of resources.
- name: name_contains
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Name of the deployment to filter by.
title: Name Contains
description: Name of the deployment to filter by.
- name: status
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: '`status` of the deployment to filter by.'
title: Status
description: '`status` of the deployment to filter by.'
- name: remote_reconciled
in: query
required: false
schema:
anyOf:
- type: boolean
- type: 'null'
description: Flag to filter by remote reconciled deployments.
title: Remote Reconciled
description: Flag to filter by remote reconciled deployments.
- name: tag_value_ids
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma separated list of tag value IDs of the deployment to filter by.
title: Tag Value Ids
description: Comma separated list of tag value IDs of the deployment to filter by.
- name: image_version
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Image version to filter by.
title: Image Version
description: Image version to filter by.
- name: deployment_type
in: query
required: false
schema:
anyOf:
- enum:
- dev_free
- dev
- prod
type: string
- type: 'null'
description: Deployment type to filter by.
title: Deployment Type
description: Deployment type to filter by.
- name: deployment_ids
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma separated list of deployment IDs to filter by.
title: Deployment Ids
description: Comma separated list of deployment IDs to filter by.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DeploymentsList'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
post:
tags:
- Deployments (v2)
summary: Create Deployment
description: Create a new deployment.
operationId: create_deployment_v2_deployments_post
security:
- API Key: []
- Tenant ID: []
- Bearer Auth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DeploymentCreateRequest'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Deployment'
'400':
description: Bad Request
content:
application/json:
example:
detail: Error description.
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Deployments (v2)
summary: Delete Deployments
description: "Delete multiple deployments with partial success support.\n\nReturns:\n - 200: All deployments deleted successfully\n - 207: Some deployments deleted successfully, some failed"
operationId: delete_deployments_v2_deployments_delete
security:
- API Key: []
- Tenant ID: []
- Bearer Auth: []
parameters:
- name: deployment_ids
in: query
required: true
schema:
type: array
items:
type: string
format: uuid
maxItems: 100
title: Deployment Ids
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'404':
description: Not Found
content:
application/json:
example:
detail: Deployment ID {deployment_id} not found.
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v2/deployments/{deployment_id}:
get:
tags:
- Deployments (v2)
summary: Get Deployment
description: Get a deployment by ID.
operationId: get_deployment_v2_deployments__deployment_id__get
security:
- API Key: []
- Tenant ID: []
- Bearer Auth: []
parameters:
- name: deployment_id
in: path
required: true
schema:
type: string
format: uuid
title: Deployment ID
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Deployment'
'404':
description: Not Found
content:
application/json:
example:
detail: Deployment ID {deployment_id} not found.
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
patch:
tags:
- Deployments (v2)
summary: Patch Deployment
description: Patch a deployment by ID.
operationId: patch_deployment_v2_deployments__deployment_id__patch
security:
- API Key: []
- Tenant ID: []
- Bearer Auth: []
parameters:
- name: deployment_id
in: path
required: true
schema:
type: string
format: uuid
title: Deployment ID
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DeploymentPatchRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Deployment'
'404':
description: Not Found
content:
application/json:
example:
detail: Deployment ID {deployment_id} not found.
'400':
description: Bad Request
content:
application/json:
example:
detail: Error description.
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Deployments (v2)
summary: Delete Deployment
description: Delete a deployment by ID.
operationId: delete_deployment_v2_deployments__deployment_id__delete
security:
- API Key: []
- Tenant ID: []
- Bearer Auth: []
parameters:
- name: deployment_id
in: path
required: true
schema:
type: string
format: uuid
title: Deployment ID
- name: delete_tracing_project
in: query
required: false
schema:
type: boolean
description: Optionally delete tracing project for the deployment.
default: false
title: Delete Tracing Project
description: Optionally delete tracing project for the deployment.
responses:
'204':
description: Successful Response
'404':
description: Not Found
content:
application/json:
example:
detail: Deployment ID {deployment_id} not found.
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v2/deployments/{deployment_id}/revisions:
get:
tags:
- Deployments (v2)
summary: List Revisions
description: List all revisions for a deployment.
operationId: list_revisions_v2_deployments__deployment_id__revisions_get
security:
- API Key: []
- Tenant ID: []
- Bearer Auth: []
parameters:
- name: deployment_id
in: path
required: true
schema:
type: string
format: uuid
title: Deployment ID
- name: limit
in: query
required: false
schema:
type: integer
maximum: 100
minimum: 1
description: Maximum number of resources to return.
default: 20
title: Limit
description: Maximum number of resources to return.
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
description: Pagination offset. Pass this value to subsequent requests to fetch the next page of resources.
default: 0
title: Offset
description: Pagination offset. Pass this value to subsequent requests to fetch the next page of resources.
- name: status
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Comma separated list of revision `status` (CREATING, QUEUED, AWAITING_BUILD, BUILDING, AWAITING_DEPLOY, DEPLOYING, CREATE_FAILED, BUILD_FAILED, DEPLOY_FAILED, DEPLOYED, SKIPPED, INTERRUPTED, UNKNOWN) fields to filter by.
title: Status
description: Comma separated list of revision `status` (CREATING, QUEUED, AWAITING_BUILD, BUILDING, AWAITING_DEPLOY, DEPLOYING, CREATE_FAILED, BUILD_FAILED, DEPLOY_FAILED, DEPLOYED, SKIPPED, INTERRUPTED, UNKNOWN) fields to filter by.
- name: remote_reconciled
in: query
required: false
schema:
anyOf:
- type: boolean
- type: 'null'
description: Flag to filter by remote reconciled revisions.
title: Remote Reconciled
description: Flag to filter by remote reconciled revisions.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/RevisionsList'
'404':
description: Not Found
content:
application/json:
example:
detail: Deployment ID {deployment_id} not found.
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v2/deployments/{deployment_id}/revisions/{revision_id}:
get:
tags:
- Deployments (v2)
summary: Get Revision
description: Get a revision by ID for a deployment.
operationId: get_revision_v2_deployments__deployment_id__revisions__revision_id__get
security:
- API Key: []
- Tenant ID: []
- Bearer Auth: []
parameters:
- name: deployment_id
in: path
required: true
schema:
type: string
format: uuid
title: Deployment ID
- name: revision_id
in: path
required: true
schema:
type: string
format: uuid
title: Revision ID
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Revision'
'404':
description: Not Found
content:
application/json:
example:
detail: Deployment ID {deployment_id} not found.
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v2/deployments/{deployment_id}/revisions/{revision_id}/redeploy:
post:
tags:
- Deployments (v2)
summary: Redeploy Revision
description: Redeploy a specific revision ID.
operationId: redeploy_revision_v2_deployments__deployment_id__revisions__revision_id__redeploy_post
security:
- API Key: []
- Tenant ID: []
- Bearer Auth: []
parameters:
- name: deployment_id
in: path
required: true
schema:
type: string
format: uuid
title: Deployment ID
- name: revision_id
in: path
required: true
schema:
type: string
format: uuid
title: Revision ID
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Deployment'
'404':
description: Not Found
content:
application/json:
example:
detail: Deployment ID {deployment_id} not found.
'400':
description: Bad Request
content:
application/json:
example:
detail: Error description.
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
type: object
required:
- loc
- msg
- type
title: ValidationError
DeploymentsList:
properties:
resources:
items:
$ref: '#/components/schemas/Deployment'
type: array
title: Resources
offset:
type: integer
title: Offset
description: Pagination offset. Pass this value to subsequent requests to fetch the next page.
type: object
required:
- resources
- offset
title: DeploymentsList
Deployment:
properties:
name:
type: string
title: Name
description: Name of the deployment.
A LangSmith tracing project with the same name will also automatically be created. This cannot be changed once the deployment is created.
source:
type: string
enum:
- github
- external_docker
- internal_docker
- internal_source
title: Source
description: Deploy from a GitHub repository (`github`) or an external Docker image (`external_docker`).
Deploying from GitHub is only available for Cloud SaaS deployments. Deploying from an external Docker image is only available for self-hosted deployments. This cannot be changed once the deployment is created.
source_config:
$ref: '#/components/schemas/SourceConfig'
source_revision_config:
$ref: '#/components/schemas/SourceRevisionConfig'
secrets:
items:
$ref: '#/components/schemas/Secret'
type: array
title: Secrets
secret_references:
anyOf:
- items:
$ref: '#/components/schemas/SecretReference'
type: array
- type: 'null'
title: Secret References
description: List of Kubernetes Secret references.
Only applicable for `external_docker` source.
id:
type: string
format: uuid
title: ID
description: The ID of the deployment.
This is a read-only field.
tenant_id:
type: string
format: uuid
title: Tenant ID
description: The ID of the tenant that owns the deployment.
This is a read-only field.
created_at:
type: string
format: date-time
title: Created At
description: The creation time of the deployment.
This is a read-only field.
updated_at:
type: string
format: date-time
title: Updated At
description: The last update time of the deployment.
This is a read-only field.
status:
type: string
enum:
- AWAITING_DATABASE
- READY
- UNUSED
- AWAITING_DELETE
- UNKNOWN
title: Status
description: The status of the deployment.
This is a read-only field.
latest_revision_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Latest Revision ID
description: The ID of the latest revision of the deployment.
This is a read-only field.
active_revision_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Active Revision ID
description: The ID of the current (actively deployed) revision of the deployment.
This is a read-only field.
image_version:
anyOf:
- type: string
- type: 'null'
title: Image Version
description: Image version of the deployment.
type: object
required:
- name
- source
- source_config
- source_revision_config
- secrets
- id
- tenant_id
- created_at
- updated_at
- status
- latest_revision_id
- active_revision_id
title: Deployment
description: Deployment resource.
SourceRevisionConfig:
properties:
repo_ref:
anyOf:
- type: string
- type: 'null'
title: Repo Ref
description: 'The git ref of the repository used for the deployment.
Supports:
- **Branches**: Specify just the branch name (e.g., `main`, `develop`)
- **Tags**: Specify the full ref path (e.g., `refs/tags/v1.0.0`)
When using a tag, `source_config.build_on_push` must be set to `false` since tags are immutable.
When updating a deployment (`PATCH`), setting this field to a non-null value will trigger creation of a new revision. Only applicable for `github` source.'
langgraph_config_path:
anyOf:
- type: string
- type: 'null'
title: LangGraph Configuration Path
description: The path to the LangGraph configuration file (`langgraph.json`) used for the deployment.
Required on create for buildable sources (`github`, `internal_source`). Must be `null` for all other sources.
When updating a deployment (`PATCH`), setting this field to a non-null value will trigger creation of a new revision.
image_uri:
anyOf:
- type: string
- type: 'null'
title: Image URI
description: The URI of the Docker image used for the deployment.
When updating a deployment (`PATCH`), setting this field to a non-null value will trigger creation of a new revision. Applicable for `external_docker` source.
source_tarball_path:
anyOf:
- type: string
- type: 'null'
title: Source Tarball Path
description: The object path of the uploaded source tarball.
Must be an object path obtained from the `POST /deployments/{deployment_id}/upload-url` endpoint. Arbitrary paths are not accepted.
When updating a deployment (`PATCH`), setting this field to a non-null value will trigger creation of a new revision. Only applicable for `internal_source` source.
repo_commit_sha:
anyOf:
- type: string
- type: 'null'
title: Repo commit SHA
description: The commit SHA of the git repository used for the deployment.
This is a read-only field. Only applicable for `github` source.
type: object
title: SourceRevisionConfig
description: 'Source revision configuration.
For a `Deployment` resource, the field values refer to the latest revision of the `Deployment`. For a `Revision` resource, the field values refer to the `Revision` itself.'
ResourceRequirements:
properties:
limits:
anyOf:
- additionalProperties:
type: string
type: object
- type: 'null'
title: Limits
description: Limits describes the maximum amount of compute resources allowed.
requests:
anyOf:
- additionalProperties:
type: string
type: object
- type: 'null'
title: Requests
description: Requests describes the minimum amount of compute resources required.
type: object
title: ResourceRequirements
description: Compute resource requirements.
Secret:
properties:
name:
type: string
title: Name
description: Name of the secret
value:
type: string
title: Value
description: Value of the secret
type: object
required:
- name
- value
title: Secret
description: 'Secret for a deployment.
Secrets are accessible as environment variables in the deployment''s container. In addition to user-defined secrets, Agent Server supports [pre-defined environment variables](https://langchain-ai.github.io/langgraph/cloud/reference/env_var/) that can be configured to augment the functionality of a deployment. When updating a deployment (`PATCH`), setting this field to a non-null value will trigger creation of a new revision.'
LocalObjectReference:
properties:
name:
type: string
title: Name
description: Name of the referent (e.g., name of a Secret for imagePullSecrets).
type: object
required:
- name
title: LocalObjectReference
description: Reference to an object in the same namespace.
RevisionsList:
properties:
resources:
items:
$ref: '#/components/schemas/Revision'
type: array
title: Resources
offset:
type: integer
title: Offset
description: Pagination offset. Pass this value to subsequent requests to fetch the next page.
type: object
required:
- resources
- offset
title: RevisionsList
EnvVar:
properties:
name:
type: string
title: Name
description: Name of the environment variable. Must be a C_IDENTIFIER.
value:
anyOf:
- type: string
- type: 'null'
title: Value
description: Variable value. Defaults to empty string.
valueFrom:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Valuefrom
description: Source for the environment variable's value. Cannot be used if value is not empty.
type: object
required:
- name
title: EnvVar
description: Environment variable for a container.
SourceConfig:
properties:
integration_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Integration ID
description: The ID of the integration used for the deployment.
Retrieve this value from the `GET /v1/integrations/github/install` endpoint. This cannot be changed (`PATCH`) once the deployment is created. Only applicable for `github` source.
repo_url:
anyOf:
- type: string
- type: 'null'
title: Repository URL
description: The URL of the git repository used for the deployment.
This cannot be changed (`PATCH`) once the deployment is created. Only applicable for `github` source.
deployment_type:
anyOf:
- type: string
enum:
- dev_free
- dev
- prod
- type: 'null'
title: Deployment Type
description: The type of deployment to create.
See [Deployment Types](https://langchain-ai.github.io/langgraph/concepts/langgraph_control_plane/#deployment-types) for more details. This cannot be changed (`PATCH`) once the deployment is created. Only applicable for `github` source.
build_on_push:
anyOf:
- type: boolean
- type: 'null'
title: Build On Push
description: Whether to build a new revision for the deployment on push to the `source_revision_config.repo_ref` (e.g. git branch).
Cannot be enabled when `source_revision_config.repo_ref` specifies a tag (starts with `refs/tags/`). Tags are immutable and cannot trigger automatic builds on push.
Only applicable for `github` source.
custom_url:
anyOf:
- type: string
- type: 'null'
title: Custom URL
description: The custom URL of the deployment.
This field can only be set for `external_docker` source deployments. However, it will be set automatically for `github` source deployments (read only).
resource_spec:
anyOf:
- $ref: '#/components/schemas/ResourceSpec-Output'
- type: 'null'
listener_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Listener ID
description: The ID of the listener used for the deployment.
Retrieve this value from the `GET /v2/listeners` endpoint. This cannot be changed (`PATCH`) once the deployment is created. Only applicable for `external_docker` source.
listener_config:
anyOf:
- $ref: '#/components/schemas/ListenerConfig'
- type: 'null'
install_command:
anyOf:
- type: string
- type: 'null'
title: Install Command
description: The custom install command to run for your deployment. This only applies to JS deployments. This command will be run from the root of your repository - NOT where your langgraph.json file lives (unless these are the same place). If not provided, we will autodetect the command based on the presence of yarn/npm/etc. files.
build_command:
anyOf:
- type: string
- type: 'null'
title: Build Command
description: The custom build command to run for your deployment. This only applies to JS deployments. This command will be run from where your langgraph.json file lives. This is helpful for using shared workspaces in your deployments, without having to provide a postinstall command or something similar in your package.json.
type: object
title: SourceConfig
description: Source configuration.
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
ResourceSpec-Output:
properties:
min_scale:
anyOf:
- type: integer
- type: 'null'
title: Min Scale
description: The minimum scale (number of replicas) of the deployment.
max_scale:
anyOf:
- type: integer
- type: 'null'
title: Max Scale
description: The maximum scale (number of replicas) of the deployment.
cpu:
anyOf:
- type: number
maximum: 8.0
minimum: 0.1
- type: 'null'
title: CPU
description: CPU request in cores for a single replica of the deployment. Supports fractional values (e.g. 0.5 for 500m). Values are rounded to 1 decimal place. If cpu_limit is not set, limit defaults to 2x this value.
examples:
- 0.1
- 0.5
- 1
- 2
- 4
cpu_limit:
anyOf:
- type: number
maximum: 16.0
minimum: 0.1
- type: 'null'
title: CPU Limit
description: CPU limit in cores for a single replica of the deployment. Supports fractional values (e.g. 0.5 for 500m). Values are rounded to 1 decimal place. If not set, defaults to 2x cpu.
examples:
- 0.2
- 1
- 2
- 4
- 8
- 16
memory_mb:
anyOf:
- type: integer
- type: 'null'
title: Memory (MB)
description: Memory request (MB) of a single replica of the deployment. If memory_limit_mb is not set, limit defaults to 2x this value.
memory_limit_mb:
anyOf:
- type: integer
- type: 'null'
title: Memory Limit (MB)
description: Memory limit (MB) of a single replica of the deployment. If not set, defaults to 2x memory_mb.
queue_min_scale:
anyOf:
- type: integer
- type: 'null'
title: Queue Min Scale
description: The minimum scale (number of replicas) of the queue deployment. If not provided, defaults to the same value as `min_scale`.
queue_max_scale:
anyOf:
- type: integer
- type: 'null'
title: Queue Max Scale
description: The maximum scale (number of replicas) of the queue deployment. If not provided, defaults to the same value as `max_scale`.
queue_cpu:
anyOf:
- type: number
maximum: 8.0
minimum: 0.1
- type: 'null'
title: Queue CPU
description: CPU request in cores for a single replica of the queue deployment. Supports fractional values (e.g. 0.5 for 500m). Values are rounded to 1 decimal place. If not provided, defaults to the same value as `cpu`. If queue_cpu_limit is not set, limit defaults to 2x this value.
examples:
- 0.1
- 0.5
- 1
- 2
queue_cpu_limit:
anyOf:
- type: number
maximum: 16.0
minimum: 0.1
- type: 'null'
title: Queue CPU Limit
description: CPU limit in cores for a single replica of the queue deployment. Supports fractional values (e.g. 0.5 for 500m). Values are rounded to 1 decimal place. If not set, defaults to 2x queue_cpu.
examples:
- 0.2
- 1
- 2
- 4
- 8
queue_memory_mb:
anyOf:
- type: integer
- type: 'null'
title: Queue Memory (MB)
description: Memory request (MB) of a single replica of the queue deployment. If not provided, defaults to the same value as `memory_mb`. If queue_memory_limit_mb is not set, limit defaults to 2x this value.
queue_memory_limit_mb:
anyOf:
- type: integer
- type: 'null'
title: Queue Memory Limit (MB)
description: Memory limit (MB) of a single replica of the queue deployment. If not set, defaults to 2x queue_memory_mb.
orchestrator_cpu:
anyOf:
- type: number
- type: 'null'
title: Orchestrator CPU
description: do not use
orchestrator_cpu_limit:
anyOf:
- type: number
- type: 'null'
title: Orchestrator CPU Limit
description: do not use
orchestrator_memory_mb:
anyOf:
- type: integer
- type: 'null'
title: Orchestrator Memory (MB)
description: do not use
orchestrator_memory_limit_mb:
anyOf:
- type: integer
- type: 'null'
title: Orchestrator Memory Limit (MB)
description: do not use
orchestrator_min_scale:
anyOf:
- type: integer
- type: 'null'
title: Orchestrator Min Scale
description: do not use
orchestrator_max_scale:
anyOf:
- type: integer
- type: 'null'
title: Orchestrator Max Scale
description: do not use
executor_cpu:
anyOf:
- type: number
- type: 'null'
title: Executor CPU
description: do not use
executor_cpu_limit:
anyOf:
- type: number
- type: 'null'
title: Executor CPU Limit
description: do not use
executor_memory_mb:
anyOf:
- type: integer
- type: 'null'
title: Executor Memory (MB)
description: do not use
executor_memory_limit_mb:
anyOf:
- type: integer
- type: 'null'
title: Executor Memory Limit (MB)
description: do not use
redis_cpu:
anyOf:
- type: number
maximum: 8.0
minimum: 0.1
- type: 'null'
title: Redis CPU
description: CPU request in cores for the Redis deployment. Supports fractional values (e.g. 0.5 for 500m). Values are rounded to 1 decimal place. If redis_cpu_limit is not set, limit defaults to 2x this value.
examples:
- 0.1
- 0.5
- 1
- 2
redis_cpu_limit:
anyOf:
- type: number
maximum: 16.0
minimum: 0.1
- type: 'null'
title: Redis CPU Limit
description: CPU limit in cores for the Redis deployment. Supports fractional values (e.g. 0.5 for 500m). Values are rounded to 1 decimal place. If not set, defaults to 2x redis_cpu.
examples:
- 0.2
- 1
- 2
- 4
- 8
redis_memory_mb:
anyOf:
- type: integer
- type: 'null'
title: Redis Memory Mb
description: Memory request (MB) of the Redis deployment. If redis_memory_limit_mb is not set, limit defaults to this value.
redis_memory_limit_mb:
anyOf:
- type: integer
- type: 'null'
title: Redis Memory Limit (MB)
description: Memory limit (MB) of the Redis deployment. If not set, defaults to redis_memory_mb.
labels:
anyOf:
- additionalProperties:
type: string
type: object
- type: 'null'
title: Labels
description: Additional labels to apply to resources created for the deployment.
annotations:
anyOf:
- additionalProperties:
type: string
type: object
- type: 'null'
title: Annotations
description: Additional annotations to apply to resources created for the deployment.
service_account_name:
anyOf:
- type: string
- type: 'null'
title: Service Account Name
description: The name of the service account to use for the deployment.
This must already exist in the Kubernetes namespace where the deployment will be deployed to.
image_pull_secrets:
anyOf:
- items:
$ref: '#/components/schemas/LocalObjectReference'
type: array
- type: 'null'
title: Image Pull Secrets
description: List of references to secrets in the same namespace to use for pulling container images. Each entry is a LocalObjectReference to a Secret of type kubernetes.io/dockerconfigjson.
volumes:
anyOf:
- items:
$ref: '#/components/schemas/Volume'
type: array
- type: 'null'
title: Volumes
description: List of volumes that can be mounted by containers belonging to the pod. Reference the kubernetes documentation for more details on how to configure volumes.
volume_mounts:
anyOf:
- items:
$ref: '#/components/schemas/VolumeMount'
type: array
- type: 'null'
title: Volume Mounts
description: Pod volumes to mount into the container's filesystem. Reference the kubernetes documentation for more details on how to configure volume mounts.
init_containers:
anyOf:
- items:
$ref: '#/components/schemas/Container'
type: array
- type: 'null'
title: Init Containers
description: List of initialization containers belonging to the pod. Init containers are set as initContainers in the pod spec and run to completion before the main application container starts.
sidecars:
anyOf:
- items:
$ref: '#/components/schemas/Container'
type: array
- type: 'null'
title: Sidecars
description: List of sidecar containers that run alongside the main application container. These will be added to the pod spec as additional containers.
db_cpu:
anyOf:
- type: number
- type: 'null'
title: Database CPU
description: CPU request of the Postgres database deployment. If db_cpu_limit is not set, limit defaults to 2x this value.
db_cpu_limit:
anyOf:
- type: number
- type: 'null'
title: Database CPU Limit
description: CPU limit of the Postgres database deployment. If not set, defaults to 2x db_cpu.
db_memory_mb:
anyOf:
- type: integer
- type: 'null'
title: Database Memory (MB)
description: Memory request (MB) of the Postgres database deployment. If db_memory_limit_mb is not set, limit defaults to 2x this value.
db_memory_limit_mb:
anyOf:
- type: integer
- type: 'null'
title: Database Memory Limit (MB)
description: Memory limit (MB) of the Postgres database deployment. If not set, defaults to 2x db_memory_mb.
db_storage_gi:
anyOf:
- type: integer
- type: 'null'
title: Database Storage (GiB)
description: Storage (GiB) of the Postgres database deployment.
db_max_connections:
anyOf:
- type: integer
- type: 'null'
title: Database Max Connections
description: Maximum number of connections allowed to the Postgres database.
type: object
title: ResourceSpec
description: 'Resource specification for the deployment.
When updating a deployment (`PATCH`), setting this field to a non-null value will trigger creation of a new revision and overwrite the existing resource_spec for the deployment. Only applicable for `external_docker` source.'
SourceConfigRequest:
properties:
integration_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Integration ID
description: The ID of the integration used for the deployment.
Retrieve this value from the `GET /v1/integrations/github/install` endpoint. This cannot be changed (`PATCH`) once the deployment is created. Only applicable for `github` source.
repo_url:
anyOf:
- type: string
- type: 'null'
title: Repository URL
description: The URL of the git repository used for the deployment.
This cannot be changed (`PATCH`) once the deployment is created. Only applicable for `github` source.
deployment_type:
anyOf:
- type: string
enum:
- dev_free
- dev
- prod
- type: 'null'
title: Deployment Type
description: The type of deployment to create.
See [Deployment Types](https://langchain-ai.github.io/langgraph/concepts/langgraph_control_plane/#deployment-types) for more details. This cannot be changed (`PATCH`) once the deployment is created. Only applicable for `github` source.
build_on_push:
anyOf:
- type: boolean
- type: 'null'
title: Build On Push
description: Whether to build a new revision for the deployment on push to the `source_revision_config.repo_ref` (e.g. git branch).
Cannot be enabled when `source_revision_config.repo_ref` specifies a tag (starts with `refs/tags/`). Tags are immutable and cannot trigger automatic builds on push.
Only applicable for `github` source.
custom_url:
anyOf:
- type: string
- type: 'null'
title: Custom URL
description: The custom URL of the deployment.
This field can only be set for `external_docker` source deployments. However, it will be set automatically for `github` source deployments (read only).
resource_spec:
anyOf:
- $ref: '#/components/schemas/ResourceSpec-Input'
- type: 'null'
listener_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Listener ID
description: The ID of the listener used for the deployment.
Retrieve this value from the `GET /v2/listeners` endpoint. This cannot be changed (`PATCH`) once the deployment is created. Only applicable for `external_docker` source.
listener_config:
anyOf:
- $ref: '#/components/schemas/ListenerConfig'
- type: 'null'
install_command:
anyOf:
- type: string
- type: 'null'
title: Install Command
description: The custom install command to run for your deployment. This only applies to JS deployments. This command will be run from the root of your repository - NOT where your langgraph.json file lives (unless these are the same place). If not provided, we will autodetect the command based on the presence of yarn/npm/etc. files.
build_command:
anyOf:
- type: string
- type: 'null'
title: Build Command
description: The custom build command to run for your deployment. This only applies to JS deployments. This command will be run from where your langgraph.json file lives. This is helpful for using shared workspaces in your deployments, without having to provide a postinstall command or something similar in your package.json.
type: object
title: SourceConfigRequest
description: 'Fields for a deployment that are specific to the `source`, but do not require a new revision when modified or cannot be modified.
All fields are nullable, but are validated based on the `source`.'
VolumeMount:
properties:
name:
type: string
title: Name
description: This must match the Name of a Volume.
mountPath:
type: string
title: Mountpath
description: Path within the container at which the volume should be mounted.
subPath:
anyOf:
- type: string
- type: 'null'
title: Subpath
description: Path within the volume from which the container's volume should be mounted.
mountPropagation:
anyOf:
- type: string
- type: 'null'
title: Mountpropagation
description: Determines how mounts are propagated from the host to container and the other way around.
readOnly:
anyOf:
- type: boolean
- type: 'null'
title: Readonly
description: Mounted read-only if true, read-write otherwise.
subPathExpr:
anyOf:
- type: string
- type: 'null'
title: Subpathexpr
description: Expanded path within the volume from which the container's volume should be mounted.
type: object
title: VolumeMount
description: Kubernetes VolumeMount specification.
SecretReference:
properties:
name:
type: string
title: Name
description: Name of the environment variable to populate.
secret_name:
type: string
title: Secret Name
description: Name of the Kubernetes Secret that already exists in the same namespace as the deployment.
secret_key:
type: string
title: Secret Key
description: Key within the Kubernetes Secret whose value should be populated to the environment variable.
type: object
required:
- name
- secret_name
- secret_key
title: SecretReference
description: Reference to an existing Kubernetes Secret to populate an environment variable.
Revision:
properties:
id:
type: string
format: uuid
title: ID
description: The ID of the revision.
This is a read-only field.
created_at:
type: string
format: date-time
title: Created At
description: The creation time of the revision.
This is a read-only field.
updated_at:
type: string
format: date-time
title: Updated At
description: The last update time of the revision.
This is a read-only field.
status:
type: string
enum:
- CREATING
- QUEUED
- AWAITING_BUILD
- BUILDING
- AWAITING_DEPLOY
- DEPLOYING
- CREATE_FAILED
- BUILD_FAILED
- DEPLOY_FAILED
- DEPLOYED
- SKIPPED
- INTERRUPTED
- UNKNOWN
title: Status
description: The status of the revision.
This is a read-only field.
source:
type: string
enum:
- github
- external_docker
- internal_docker
- internal_source
title: Source
description: Deploy from a GitHub repository (`github`) or an external Docker image (`external_docker`).
Deploying from GitHub is only available for Cloud SaaS deployments. Deploying from an external Docker image is only available for self-hosted deployments. This cannot be changed once the deployment is created.
source_revision_config:
$ref: '#/components/schemas/SourceRevisionConfig'
type: object
required:
- id
- created_at
- updated_at
- status
- source
- source_revision_config
title: Revision
description: Revision resource.
ResourceSpec-Input:
properties:
min_scale:
anyOf:
- type: integer
- type: 'null'
title: Min Scale
description: The minimum scale (number of replicas) of the deployment.
max_scale:
anyOf:
- type: integer
- type: 'null'
title: Max Scale
description: The maximum scale (number of replicas) of the deployment.
cpu:
anyOf:
- type: number
maximum: 8.0
minimum: 0.1
- type: 'null'
title: CPU
description: CPU request in cores for a single replica of the deployment. Supports fractional values (e.g. 0.5 for 500m). Values are rounded to 1 decimal place. If cpu_limit is not set, limit defaults to 2x this value.
examples:
- 0.1
- 0.5
- 1
- 2
- 4
cpu_limit:
anyOf:
- type: number
maximum: 16.0
minimum: 0.1
- type: 'null'
title: CPU Limit
description: CPU limit in cores for a single replica of the deployment. Supports fractional values (e.g. 0.5 for 500m). Values are rounded to 1 decimal place. If not set, defaults to 2x cpu.
examples:
- 0.2
- 1
- 2
- 4
- 8
- 16
memory_mb:
anyOf:
- type: integer
- type: 'null'
title: Memory (MB)
description: Memory request (MB) of a single replica of the deployment. If memory_limit_mb is not set, limit defaults to 2x this value.
memory_limit_mb:
anyOf:
- type: integer
- type: 'null'
title: Memory Limit (MB)
description: Memory limit (MB) of a single replica of the deployment. If not set, defaults to 2x memory_mb.
queue_min_scale:
anyOf:
- type: integer
- type: 'null'
title: Queue Min Scale
description: The minimum scale (number of replicas) of the queue deployment. If not provided, defaults to the same value as `min_scale`.
queue_max_scale:
anyOf:
- type: integer
- type: 'null'
title: Queue Max Scale
description: The maximum scale (number of replicas) of the queue deployment. If not provided, defaults to the same value as `max_scale`.
queue_cpu:
anyOf:
- type: number
maximum: 8.0
minimum: 0.1
- type: 'null'
title: Queue CPU
description: CPU request in cores for a single replica of the queue deployment. Supports fractional values (e.g. 0.5 for 500m). Values are rounded to 1 decimal place. If not provided, defaults to the same value as `cpu`. If queue_cpu_limit is not set, limit defaults to 2x this value.
examples:
- 0.1
- 0.5
- 1
- 2
queue_cpu_limit:
anyOf:
- type: number
maximum: 16.0
minimum: 0.1
- type: 'null'
title: Queue CPU Limit
description: CPU limit in cores for a single replica of the queue deployment. Supports fractional values (e.g. 0.5 for 500m). Values are rounded to 1 decimal place. If not set, defaults to 2x queue_cpu.
examples:
- 0.2
- 1
- 2
- 4
- 8
queue_memory_mb:
anyOf:
- type: integer
- type: 'null'
title: Queue Memory (MB)
description: Memory request (MB) of a single replica of the queue deployment. If not provided, defaults to the same value as `memory_mb`. If queue_memory_limit_mb is not set, limit defaults to 2x this value.
queue_memory_limit_mb:
anyOf:
- type: integer
- type: 'null'
title: Queue Memory Limit (MB)
description: Memory limit (MB) of a single replica of the queue deployment. If not set, defaults to 2x queue_memory_mb.
orchestrator_cpu:
anyOf:
- type: number
- type: 'null'
title: Orchestrator CPU
description: do not use
orchestrator_cpu_limit:
anyOf:
- type: number
- type: 'null'
title: Orchestrator CPU Limit
description: do not use
orchestrator_memory_mb:
anyOf:
- type: integer
- type: 'null'
title: Orchestrator Memory (MB)
description: do not use
orchestrator_memory_limit_mb:
anyOf:
- type: integer
- type: 'null'
title: Orchestrator Memory Limit (MB)
description: do not use
orchestrator_min_scale:
anyOf:
- type: integer
- type: 'null'
title: Orchestrator Min Scale
description: do not use
orchestrator_max_scale:
anyOf:
- type: integer
- type: 'null'
title: Orchestrator Max Scale
description: do not use
executor_cpu:
anyOf:
- type: number
- type: 'null'
title: Executor CPU
description: do not use
executor_cpu_limit:
anyOf:
- type: number
- type: 'null'
title: Executor CPU Limit
description: do not use
executor_memory_mb:
anyOf:
- type: integer
- type: 'null'
title: Executor Memory (MB)
description: do not use
executor_memory_limit_mb:
anyOf:
- type: integer
- type: 'null'
title: Executor Memory Limit (MB)
description: do not use
redis_cpu:
anyOf:
- type: number
maximum: 8.0
minimum: 0.1
- type: 'null'
title: Redis CPU
description: CPU request in cores for the Redis deployment. Supports fractional values (e.g. 0.5 for 500m). Values are rounded to 1 decimal place. If redis_cpu_limit is not set, limit defaults to 2x this value.
examples:
- 0.1
- 0.5
- 1
- 2
redis_cpu_limit:
anyOf:
- type: number
maximum: 16.0
minimum: 0.1
- type: 'null'
title: Redis CPU Limit
description: CPU limit in cores for the Redis deployment. Supports fractional values (e.g. 0.5 for 500m). Values are rounded to 1 decimal place. If not set, defaults to 2x redis_cpu.
examples:
- 0.2
- 1
- 2
- 4
- 8
redis_memory_mb:
anyOf:
- type: integer
- type: 'null'
title: Redis Memory Mb
description: Memory request (MB) of the Redis deployment. If redis_memory_limit_mb is not set, limit defaults to this value.
redis_memory_limit_mb:
anyOf:
- type: integer
- type: 'null'
title: Redis Memory Limit (MB)
description: Memory limit (MB) of the Redis deployment. If not set, defaults to redis_memory_mb.
labels:
anyOf:
- additionalProperties:
type: string
type: object
- type: 'null'
title: Labels
description: Additional labels to apply to resources created for the deployment.
annotations:
anyOf:
- additionalProperties:
type: string
type: object
- type: 'null'
title: Annotations
description: Additional annotations to apply to resources created for the deployment.
service_account_name:
anyOf:
- type: string
- type: 'null'
title: Service Account Name
description: The name of the service account to use for the deployment.
This must already exist in the Kubernetes namespace where the deployment will be deployed to.
image_pull_secrets:
anyOf:
- items:
$ref: '#/components/schemas/LocalObjectReference'
type: array
- type: 'null'
title: Image Pull Secrets
description: List of references to secrets in the same namespace to use for pulling container images. Each entry is a LocalObjectReference to a Secret of type kubernetes.io/dockerconfigjson.
volumes:
anyOf:
- items:
$ref: '#/components/schemas/Volume'
type: array
- type: 'null'
title: Volumes
description: List of volumes that can be mounted by containers belonging to the pod. Reference the kubernetes documentation for more details on how to configure volumes.
volume_mounts:
anyOf:
- items:
$ref: '#/components/schemas/VolumeMount'
type: array
- type: 'null'
title: Volume Mounts
description: Pod volumes to mount into the container's filesystem. Reference the kubernetes documentation for more details on how to configure volume mounts.
init_containers:
anyOf:
- items:
$ref: '#/components/schemas/Container'
type: array
- type: 'null'
title: Init Containers
description: List of initialization containers belonging to the pod. Init containers are set as initContainers in the pod spec and run to completion before the main application container starts.
sidecars:
anyOf:
- items:
$ref: '#/components/schemas/Container'
type: array
- type: 'null'
title: Sidecars
description: List of sidecar containers that run alongside the main application container. These will be added to the pod spec as additional containers.
db_cpu:
anyOf:
- type: number
- type: 'null'
title: Database CPU
description: CPU request of the Postgres database deployment. If db_cpu_limit is not set, limit defaults to 2x this value.
db_cpu_limit:
anyOf:
- type: number
- type: 'null'
title: Database CPU Limit
description: CPU limit of the Postgres database deployment. If not set, defaults to 2x db_cpu.
db_memory_mb:
anyOf:
- type: integer
- type: 'null'
title: Database Memory (MB)
description: Memory request (MB) of the Postgres database deployment. If db_memory_limit_mb is not set, limit defaults to 2x this value.
db_memory_limit_mb:
anyOf:
- type: integer
- type: 'null'
title: Database Memory Limit (MB)
description: Memory limit (MB) of the Postgres database deployment. If not set, defaults to 2x db_memory_mb.
db_storage_gi:
anyOf:
- type: integer
- type: 'null'
title: Database Storage (GiB)
description: Storage (GiB) of the Postgres database deployment.
db_max_connections:
anyOf:
- type: integer
- type: 'null'
title: Database Max Connections
description: Maximum number of connections allowed to the Postgres database.
type: object
title: ResourceSpec
description: 'Resource specification for the deployment.
When updating a deployment (`PATCH`), setting this field to a non-null value will trigger creation of a new revision and overwrite the existing resource_spec for the deployment. Only applicable for `external_docker` source.'
SourceRevisionConfigRequest:
properties:
repo_ref:
anyOf:
- type: string
- type: 'null'
title: Repo Ref
description: 'The git ref of the repository used for the deployment.
Supports:
- **Branches**: Specify just the branch name (e.g., `main`, `develop`)
- **Tags**: Specify the full ref path (e.g., `refs/tags/v1.0.0`)
When using a tag, `source_config.build_on_push` must be set to `false` since tags are immutable.
When updating a deployment (`PATCH`), setting this field to a non-null value will trigger creation of a new revision. Only applicable for `github` source.'
langgraph_config_path:
anyOf:
- type: string
- type: 'null'
title: LangGraph Configuration Path
description: The path to the LangGraph configuration file (`langgraph.json`) used for the deployment.
Required on create for buildable sources (`github`, `internal_source`). Must be `null` for all other sources.
When updating a deployment (`PATCH`), setting this field to a non-null value will trigger creation of a new revision.
image_uri:
anyOf:
- type: string
- type: 'null'
title: Image URI
description: The URI of the Docker image used for the deployment.
When updating a deployment (`PATCH`), setting this field to a non-null value will trigger creation of a new revision. Applicable for `external_docker` source.
source_tarball_path:
anyOf:
- type: string
- type: 'null'
title: Source Tarball Path
description: The object path of the uploaded source tarball.
Must be an object path obtained from the `POST /deployments/{deployment_id}/upload-url` endpoint. Arbitrary paths are not accepted.
When updating a deployment (`PATCH`), setting this field to a non-null value will trigger creation of a new revision. Only applicable for `internal_source` source.
type: object
title: SourceRevisionConfigRequest
description: 'Fields for a deployment that are specific to the `source` and require a new revision when modified.
All fields are nullable, but are validated based on the `source`.'
DeploymentPatchRequest:
properties:
revision_source:
anyOf:
- type: string
enum:
- github
- internal_docker
- internal_source
- type: 'null'
title: Revision Source
description: Override the source for this revision. If omitted, falls back to deployment's default source.
source_config:
anyOf:
- $ref: '#/components/schemas/SourceConfigRequest'
- type: 'null'
source_revision_config:
anyOf:
- $ref: '#/components/schemas/SourceRevisionConfigRequest'
- type: 'null'
secrets:
anyOf:
- items:
$ref: '#/components/schemas/Secret'
type: array
- type: 'null'
title: Secrets
secret_references:
anyOf:
- items:
$ref: '#/components/schemas/SecretReference'
type: array
- type: 'null'
title: Secret References
description: List of Kubernetes Secret references.
Only applicable for `external_docker` source.
type: object
title: DeploymentPatchRequest
description: 'Request body for patching a deployment.
Patching a deployment may trigger a new revision depending on the provided `source` configurations.'
ListenerConfig:
properties:
k8s_namespace:
anyOf:
- type: string
- type: 'null'
title: K8S Namespace
description: Kubernetes namespace where the deployment will be deployed to.
This cannot be changed (`PATCH`) once the deployment is created. Only applicable for deployments of listeners with `k8s` compute type.
type: object
title: ListenerConfig
description: 'Listener configuration for the deployment.
All fields are nullable, but are validated based on `compute_type` of the listener ID. Only applicable for `external_docker` source.'
Volume:
properties:
name:
type: string
title: Name
description: Volume's name. Must be a DNS_LABEL and unique within the pod.
configMap:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Configmap
description: ConfigMap represents a configMap that should populate this volume.
secret:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Secret
description: Secret represents a secret that should populate this volume.
emptyDir:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Emptydir
description: EmptyDir represents a temporary directory that shares a pod's lifetime.
persistentVolumeClaim:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Persistentvolumeclaim
description: PersistentVolumeClaim represents a reference to a PersistentVolumeClaim.
nfs:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Nfs
description: NFS represents an NFS mount on the host that shares a pod's lifetime.
projected:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Projected
description: Projected represents a volume that projects several volume sources into the same directory.
downwardAPI:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Downwardapi
description: DownwardAPI represents downward API about the pod that should populate this volume.
csi:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Csi
description: CSI represents a volume that should be handled by an external CSI driver.
type: object
title: Volume
description: Kubernetes Volume specification.
Container:
properties:
name:
type: string
title: Name
description: Name of the container. Must be a DNS_LABEL.
image:
type: string
title: Image
description: Container image name.
imagePullPolicy:
anyOf:
- type: string
- type: 'null'
title: Imagepullpolicy
description: Image pull policy. One of Always, Never, IfNotPresent.
command:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Command
description: Entrypoint array. Not executed within a shell.
args:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Args
description: Arguments to the entrypoint.
workingDir:
anyOf:
- type: string
- type: 'null'
title: Workingdir
description: Container's working directory.
env:
anyOf:
- items:
$ref: '#/components/schemas/EnvVar'
type: array
- type: 'null'
title: Env
description: List of environment variables to set in the container.
envFrom:
anyOf:
- items:
additionalProperties: true
type: object
type: array
- type: 'null'
title: Envfrom
description: List of sources to populate environment variables in the container.
resources:
anyOf:
- $ref: '#/components/schemas/ResourceRequirements'
- type: 'null'
description: Compute resource requirements.
volumeMounts:
anyOf:
- items:
$ref: '#/components/schemas/VolumeMount'
type: array
- type: 'null'
title: Volumemounts
description: Pod volumes to mount into the container's filesystem.
securityContext:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Securitycontext
description: Security options the pod should run with.
restartPolicy:
anyOf:
- type: string
- type: 'null'
title: Restartpolicy
description: RestartPolicy for the container (for sidecar containers). One of Always, OnFailure.
type: object
required:
- name
- image
title: Container
description: Container specification for init and sidecar containers.
DeploymentCreateRequest:
properties:
name:
type: string
title: Name
description: Name of the deployment.
A LangSmith tracing project with the same name will also automatically be created. This cannot be changed once the deployment is created.
source:
type: string
enum:
- github
- external_docker
- internal_docker
- internal_source
title: Source
description: Deploy from a GitHub repository (`github`) or an external Docker image (`external_docker`).
Deploying from GitHub is only available for Cloud SaaS deployments. Deploying from an external Docker image is only available for self-hosted deployments. This cannot be changed once the deployment is created.
source_config:
$ref: '#/components/schemas/SourceConfigRequest'
source_revision_config:
$ref: '#/components/schemas/SourceRevisionConfigRequest'
secrets:
items:
$ref: '#/components/schemas/Secret'
type: array
title: Secrets
secret_references:
anyOf:
- items:
$ref: '#/components/schemas/SecretReference'
type: array
- type: 'null'
title: Secret References
description: List of Kubernetes Secret references.
Only applicable for `external_docker` source.
type: object
required:
- name
- source
- source_config
- source_revision_config
- secrets
title: DeploymentCreateRequest
description: Request body for creating a deployment.
securitySchemes:
LangSmith API Key:
type: apiKey
in: header
name: X-Api-Key