### GET /v2/auth/setup/{provider_id} Source: https://api.host.langchain.com/openapi.json Handle OAuth setup callback redirect from GitHub Apps. This endpoint handles the "Setup URL" callback from GitHub Apps, which is triggered when a user installs or updates their GitHub App installation. For "update" actions (user modified repo access via GitHub), we just show a success page since no token exchange is needed. For new installations with code/state, we process similar to the regular OAuth callback. ```markdown ### Parameters - **provider_id** (string, path, required) - **code** (string, query, optional): Authorization code from OAuth provider - **state** (string, query, optional): State parameter containing auth_id - **setup_action** (string, query, optional): Setup action from GitHub App - **installation_id** (integer, query, optional): GitHub App installation ID - **error** (string, query, optional): Error code from OAuth provider - **error_description** (string, query, optional): Error description from OAuth provider ### Responses #### 200 - Successful Response #### 422 - Validation Error **HTTPValidationError** - **detail** (array (ValidationError)) Array items: - **loc** (array (union)) (required) - **msg** (string) (required) - **type** (string) (required) ### Example Usage ```bash curl -X GET "https://api.example.com/v2/auth/setup/{provider_id}?code=string&state=string&setup_action=string&installation_id=0&error=string&error_description=string" ``` ``` -------------------------------- ### GET /v2/listeners Source: https://api.host.langchain.com/openapi.json List all listeners. ```markdown ### Parameters - **limit** (integer, query, optional): Maximum number of resources to return. - **offset** (integer, query, optional): Pagination offset. Pass this value to subsequent requests to fetch the next page of resources. ### Responses #### 200 - Successful Response **ListenersList** - **resources** (array (Listener)) (required) Array items: - **version** (string) - **compute_type** (string) (required): The compute type of the listener.

This cannot be changed (`PUT`) once the listener is created. - **compute_id** (string) (required): User assigned unique ID of the compute infrastructure for the listener.

For example, if `compute_type` is `k8s`, then the user may set this field to the Kubernetes cluster name. This cannot be changed (`PUT`) once the listener is created. - **compute_config** (object) (required): Fields for a listener that are specific to `compute_type`.

All fields are nullable, but are validated based on `compute_type`. - **k8s_namespaces** (array (string)) - **id** (string (uuid)) (required): System assigned ID of the listener.

This is a read-only field. - **created_at** (string (date-time)) (required): The creation time of the listener.

This is a read-only field. - **updated_at** (string (date-time)) (required): The last update time of the listener.

This is a read-only field. - **offset** (integer) (required): Pagination offset. Pass this value to subsequent requests to fetch the next page. #### 422 - Validation Error **HTTPValidationError** - **detail** (array (ValidationError)) Array items: - **loc** (array (union)) (required) - **msg** (string) (required) - **type** (string) (required) ### Example Usage ```bash curl -X GET "https://api.example.com/v2/listeners?limit=20&offset=0" ``` ``` -------------------------------- ### POST /v2/auth/authenticate Source: https://api.host.langchain.com/openapi.json Get OAuth token or start authentication flow if needed. ```markdown ### Request Body **Content-Type:** application/json - **user_id** (string) - **ls_user_id** (string) - **agent_id** (string) - **provider** (string) (required) - **scopes** (array (string)) (required) - **use_agent_builder_public_oauth** (boolean) - **force_new** (boolean) - **token_id** (string (uuid)) - **is_default** (boolean) ### Responses #### 200 - Successful Response **AuthAuthenticateResponse** - **status** (string (completed|pending|connection_required|token_expired)) (required): Valid authentication status values. ("completed"|"pending"|"connection_required"|"token_expired") - **url** (string) - **auth_id** (string) - **token** (string) - **user_id** (string) - **metadata** (object) #### 422 - Validation Error **HTTPValidationError** - **detail** (array (ValidationError)) Array items: - **loc** (array (union)) (required) - **msg** (string) (required) - **type** (string) (required) ### Example Usage ```bash curl -X POST "https://api.example.com/v2/auth/authenticate" \ -H "Content-Type: application/json" \ -d '{ "user_id": "value", "ls_user_id": "value", "agent_id": "value", "provider": "string", "scopes": [ "string" ], "use_agent_builder_public_oauth": "false", "force_new": "false", "token_id": "value", "is_default": "true" }' ``` ``` -------------------------------- ### GET /v1/integrations/forge/github/install Source: https://api.host.langchain.com/openapi.json List available Forge GitHub integrations. ```markdown ### Responses #### 200 - Successful Response - Array of GithubIntegration ### Example Usage ```bash curl -X GET "https://api.example.com/v1/integrations/forge/github/install" ``` ``` -------------------------------- ### GET /v1/integrations/github/install Source: https://api.host.langchain.com/openapi.json List available GitHub integrations for LangGraph Platfom Cloud SaaS. ```markdown ### Responses #### 200 - Successful Response - Array of GithubIntegration ### Example Usage ```bash curl -X GET "https://api.example.com/v1/integrations/github/install" ``` ``` -------------------------------- ### GET /v2/deployments Source: https://api.host.langchain.com/openapi.json List all deployments. ```markdown ### Parameters - **limit** (integer, query, optional): Maximum number of resources to return. - **offset** (integer, query, optional): Pagination offset. Pass this value to subsequent requests to fetch the next page of resources. - **name_contains** (union, query, optional): Name of the deployment to filter by. - **status** (union, query, optional): `status` of the deployment to filter by. - **remote_reconciled** (union, query, optional): Flag to filter by remote reconciled deployments. - **tag_value_ids** (union, query, optional): Comma separated list of tag value IDs of the deployment to filter by. - **image_version** (union, query, optional): Image version to filter by. - **deployment_type** (union, query, optional): Deployment type to filter by. - **deployment_ids** (union, query, optional): Comma separated list of deployment IDs to filter by. ### Responses #### 200 - Successful Response **DeploymentsList** - **resources** (array (Deployment)) (required) Array items: - **name** (string) (required): 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** (string (github|external_docker|internal_docker|internal_source|internal_template)) (required): Deploy from a GitHub repository (`github`), an external Docker image (`external_docker`), a CLI-pushed image (`internal_docker`), uploaded source (`internal_source`), or a prebuilt LangChain template (`internal_template`).

Deploying from GitHub, internal Docker, internal source, or a template 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. ("github"|"external_docker"|"internal_docker"|"internal_source"|"internal_template") - **source_config** (object) (required): Source configuration. - **integration_id** (string (uuid)) - **repo_url** (string) - **deployment_type** (string (dev_free|dev|prod)) ("dev_free"|"dev"|"prod") - **build_on_push** (boolean) - **custom_url** (string) - **resource_spec** (object): 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. - **min_scale** (integer) - **max_scale** (integer) - **cpu** (number) - **cpu_limit** (number) - **memory_mb** (integer) - **memory_limit_mb** (integer) - **queue_min_scale** (integer) - **queue_max_scale** (integer) - **queue_cpu** (number) - **queue_cpu_limit** (number) - **queue_memory_mb** (integer) - **queue_memory_limit_mb** (integer) - **orchestrator_cpu** (number) - **orchestrator_cpu_limit** (number) - **orchestrator_memory_mb** (integer) - **orchestrator_memory_limit_mb** (integer) - **orchestrator_min_scale** (integer) - **orchestrator_max_scale** (integer) - **executor_cpu** (number) - **executor_cpu_limit** (number) - **executor_memory_mb** (integer) - **executor_memory_limit_mb** (integer) - **redis_cpu** (number) - **redis_cpu_limit** (number) - **redis_memory_mb** (integer) - **redis_memory_limit_mb** (integer) - **labels** (object) - **annotations** (object) - **service_account_name** (string) - **image_pull_secrets** (array (LocalObjectReference)) Array items: - **name** (string) (required): Name of the referent (e.g., name of a Secret for imagePullSecrets). - **volumes** (array (Volume)) Array items: - **name** (string): Volume's name. Must be a DNS_LABEL and unique within the pod. - **configMap** (object) - **secret** (object) - **emptyDir** (object) - **persistentVolumeClaim** (object) - **nfs** (object) - **projected** (object) - **downwardAPI** (object) - **csi** (object) - **volume_mounts** (array (VolumeMount)) Array items: - **name** (string): This must match the Name of a Volume. - **mountPath** (string): Path within the container at which the volume should be mounted. - **subPath** (string) - **mountPropagation** (string) - **readOnly** (boolean) - **subPathExpr** (string) - **init_containers** (array (Container)) Array items: - **name** (string) (required): Name of the container. Must be a DNS_LABEL. - **image** (string) (required): Container image name. - **imagePullPolicy** (string) - **command** (array (string)) - **args** (array (string)) - **workingDir** (string) - **env** (array (EnvVar)) Array items: - **name** (string) (required): Name of the environment variable. Must be a C_IDENTIFIER. - **value** (string) - **valueFrom** (object) - **envFrom** (array (object)) - **resources** (object): Compute resource requirements. - **limits** (object) - **requests** (object) - **volumeMounts** (array (VolumeMount)) Array items: - **securityContext** (object) - **restartPolicy** (string) - **sidecars** (array (Container)) Array items: - **db_cpu** (number) - **db_cpu_limit** (number) - **db_memory_mb** (integer) - **db_memory_limit_mb** (integer) - **db_storage_gi** (integer) - **db_max_connections** (integer) - **listener_id** (string (uuid)) - **listener_config** (object): 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. - **k8s_namespace** (string) - **install_command** (string) - **build_command** (string) - **source_revision_config** (object) (required): 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. - **repo_ref** (string) - **langgraph_config_path** (string) - **image_uri** (string) - **source_tarball_path** (string) - **repo_commit_sha** (string) - **secrets** (array (Secret)) (required) Array items: - **name** (string) (required): Name of the secret - **value** (string) (required): Value of the secret - **secret_references** (array (SecretReference)) Array items: - **name** (string) (required): Name of the environment variable to populate. - **secret_name** (string) (required): Name of the Kubernetes Secret that already exists in the same namespace as the deployment. - **secret_key** (string) (required): Key within the Kubernetes Secret whose value should be populated to the environment variable. - **id** (string (uuid)) (required): The ID of the deployment.

This is a read-only field. - **tenant_id** (string (uuid)) (required): The ID of the tenant that owns the deployment.

This is a read-only field. - **created_at** (string (date-time)) (required): The creation time of the deployment.

This is a read-only field. - **updated_at** (string (date-time)) (required): The last update time of the deployment.

This is a read-only field. - **status** (string (AWAITING_DATABASE|READY|UNUSED|AWAITING_DELETE|UNKNOWN)) (required): The status of the deployment.

This is a read-only field. ("AWAITING_DATABASE"|"READY"|"UNUSED"|"AWAITING_DELETE"|"UNKNOWN") - **latest_revision_id** (string (uuid)) (required) - **active_revision_id** (string (uuid)) (required) - **image_version** (string) - **offset** (integer) (required): Pagination offset. Pass this value to subsequent requests to fetch the next page. #### 422 - Validation Error **HTTPValidationError** - **detail** (array (ValidationError)) Array items: - **loc** (array (union)) (required) - **msg** (string) (required) - **type** (string) (required) ### Example Usage ```bash curl -X GET "https://api.example.com/v2/deployments?limit=20&offset=0&name_contains=value&status=value&remote_reconciled=value&tag_value_ids=value&image_version=value&deployment_type=value&deployment_ids=value" ``` ``` -------------------------------- ### GET /v2/auth/providers Source: https://api.host.langchain.com/openapi.json List OAuth providers. ```markdown ### Responses #### 200 - Successful Response - Array of OAuthProviderResponse ### Example Usage ```bash curl -X GET "https://api.example.com/v2/auth/providers" ``` ``` -------------------------------- ### API Overview: LangSmith Deployment Control Plane API Source: https://api.host.langchain.com/openapi.json 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. ```yaml # LangSmith Deployment Control Plane API # Version: 0.1.0 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. # Base URL: Not specified ``` -------------------------------- ### GET /v1/integrations/forge/github/{integration_id}/repos Source: https://api.host.langchain.com/openapi.json List available GitHub repositories for a Forge integration. ```markdown ### Parameters - **integration_id** (string (uuid), path, required): Forge GitHub integration ID. ### Responses #### 200 - Successful Response - Array of GithubRepository #### 422 - Validation Error **HTTPValidationError** - **detail** (array (ValidationError)) Array items: - **loc** (array (union)) (required) - **msg** (string) (required) - **type** (string) (required) ### Example Usage ```bash curl -X GET "https://api.example.com/v1/integrations/forge/github/{integration_id}/repos" ``` ``` -------------------------------- ### GET /v2/auth/wait/{auth_id} Source: https://api.host.langchain.com/openapi.json Wait for OAuth authentication completion. ```markdown ### Parameters - **auth_id** (string, path, required): Authentication ID to wait for - **timeout** (integer, query, optional): Timeout in seconds (default: 30) ### Responses #### 200 - Successful Response **AuthWaitResponse** - **status** (string (completed|pending|timeout|not_found)) (required): Valid auth wait status values. ("completed"|"pending"|"timeout"|"not_found") - **token** (string) #### 422 - Validation Error **HTTPValidationError** - **detail** (array (ValidationError)) Array items: - **loc** (array (union)) (required) - **msg** (string) (required) - **type** (string) (required) ### Example Usage ```bash curl -X GET "https://api.example.com/v2/auth/wait/{auth_id}?timeout=30" ``` ``` -------------------------------- ### GET /v1/integrations/github/{integration_id}/repos Source: https://api.host.langchain.com/openapi.json List available GitHub repositories for an integration that are available to deploy to LangSmith Deployment. ```markdown ### Parameters - **integration_id** (string (uuid), path, required): GitHub integration ID. ### Responses #### 200 - Successful Response - Array of GithubRepository #### 422 - Validation Error **HTTPValidationError** - **detail** (array (ValidationError)) Array items: - **loc** (array (union)) (required) - **msg** (string) (required) - **type** (string) (required) ### Example Usage ```bash curl -X GET "https://api.example.com/v1/integrations/github/{integration_id}/repos" ``` ``` -------------------------------- ### GET /v2/deployments/{deployment_id} Source: https://api.host.langchain.com/openapi.json Get a deployment by ID. ```markdown ### Parameters - **deployment_id** (string (uuid), path, required) ### Responses #### 200 - Successful Response **Deployment** - **name** (string) (required): 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** (string (github|external_docker|internal_docker|internal_source|internal_template)) (required): Deploy from a GitHub repository (`github`), an external Docker image (`external_docker`), a CLI-pushed image (`internal_docker`), uploaded source (`internal_source`), or a prebuilt LangChain template (`internal_template`).

Deploying from GitHub, internal Docker, internal source, or a template 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. ("github"|"external_docker"|"internal_docker"|"internal_source"|"internal_template") - **source_config** (object) (required): Source configuration. - **integration_id** (string (uuid)) - **repo_url** (string) - **deployment_type** (string (dev_free|dev|prod)) ("dev_free"|"dev"|"prod") - **build_on_push** (boolean) - **custom_url** (string) - **resource_spec** (object): 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. - **min_scale** (integer) - **max_scale** (integer) - **cpu** (number) - **cpu_limit** (number) - **memory_mb** (integer) - **memory_limit_mb** (integer) - **queue_min_scale** (integer) - **queue_max_scale** (integer) - **queue_cpu** (number) - **queue_cpu_limit** (number) - **queue_memory_mb** (integer) - **queue_memory_limit_mb** (integer) - **orchestrator_cpu** (number) - **orchestrator_cpu_limit** (number) - **orchestrator_memory_mb** (integer) - **orchestrator_memory_limit_mb** (integer) - **orchestrator_min_scale** (integer) - **orchestrator_max_scale** (integer) - **executor_cpu** (number) - **executor_cpu_limit** (number) - **executor_memory_mb** (integer) - **executor_memory_limit_mb** (integer) - **redis_cpu** (number) - **redis_cpu_limit** (number) - **redis_memory_mb** (integer) - **redis_memory_limit_mb** (integer) - **labels** (object) - **annotations** (object) - **service_account_name** (string) - **image_pull_secrets** (array (LocalObjectReference)) Array items: - **name** (string) (required): Name of the referent (e.g., name of a Secret for imagePullSecrets). - **volumes** (array (Volume)) Array items: - **name** (string): Volume's name. Must be a DNS_LABEL and unique within the pod. - **configMap** (object) - **secret** (object) - **emptyDir** (object) - **persistentVolumeClaim** (object) - **nfs** (object) - **projected** (object) - **downwardAPI** (object) - **csi** (object) - **volume_mounts** (array (VolumeMount)) Array items: - **name** (string): This must match the Name of a Volume. - **mountPath** (string): Path within the container at which the volume should be mounted. - **subPath** (string) - **mountPropagation** (string) - **readOnly** (boolean) - **subPathExpr** (string) - **init_containers** (array (Container)) Array items: - **name** (string) (required): Name of the container. Must be a DNS_LABEL. - **image** (string) (required): Container image name. - **imagePullPolicy** (string) - **command** (array (string)) - **args** (array (string)) - **workingDir** (string) - **env** (array (EnvVar)) Array items: - **name** (string) (required): Name of the environment variable. Must be a C_IDENTIFIER. - **value** (string) - **valueFrom** (object) - **envFrom** (array (object)) - **resources** (object): Compute resource requirements. - **limits** (object) - **requests** (object) - **volumeMounts** (array (VolumeMount)) Array items: - **securityContext** (object) - **restartPolicy** (string) - **sidecars** (array (Container)) Array items: - **db_cpu** (number) - **db_cpu_limit** (number) - **db_memory_mb** (integer) - **db_memory_limit_mb** (integer) - **db_storage_gi** (integer) - **db_max_connections** (integer) - **listener_id** (string (uuid)) - **listener_config** (object): 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. - **k8s_namespace** (string) - **install_command** (string) - **build_command** (string) - **source_revision_config** (object) (required): 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. - **repo_ref** (string) - **langgraph_config_path** (string) - **image_uri** (string) - **source_tarball_path** (string) - **repo_commit_sha** (string) - **secrets** (array (Secret)) (required) Array items: - **name** (string) (required): Name of the secret - **value** (string) (required): Value of the secret - **secret_references** (array (SecretReference)) Array items: - **name** (string) (required): Name of the environment variable to populate. - **secret_name** (string) (required): Name of the Kubernetes Secret that already exists in the same namespace as the deployment. - **secret_key** (string) (required): Key within the Kubernetes Secret whose value should be populated to the environment variable. - **id** (string (uuid)) (required): The ID of the deployment.

This is a read-only field. - **tenant_id** (string (uuid)) (required): The ID of the tenant that owns the deployment.

This is a read-only field. - **created_at** (string (date-time)) (required): The creation time of the deployment.

This is a read-only field. - **updated_at** (string (date-time)) (required): The last update time of the deployment.

This is a read-only field. - **status** (string (AWAITING_DATABASE|READY|UNUSED|AWAITING_DELETE|UNKNOWN)) (required): The status of the deployment.

This is a read-only field. ("AWAITING_DATABASE"|"READY"|"UNUSED"|"AWAITING_DELETE"|"UNKNOWN") - **latest_revision_id** (string (uuid)) (required) - **active_revision_id** (string (uuid)) (required) - **image_version** (string) #### 404 - Not Found #### 422 - Validation Error **HTTPValidationError** - **detail** (array (ValidationError)) Array items: - **loc** (array (union)) (required) - **msg** (string) (required) - **type** (string) (required) ### Example Usage ```bash curl -X GET "https://api.example.com/v2/deployments/{deployment_id}" ``` ``` -------------------------------- ### GET /v2/listeners/{listener_id} Source: https://api.host.langchain.com/openapi.json Get a listener by ID. ```markdown ### Parameters - **listener_id** (string (uuid), path, required) ### Responses #### 200 - Successful Response **Listener** - **version** (string) - **compute_type** (string) (required): The compute type of the listener.

This cannot be changed (`PUT`) once the listener is created. - **compute_id** (string) (required): User assigned unique ID of the compute infrastructure for the listener.

For example, if `compute_type` is `k8s`, then the user may set this field to the Kubernetes cluster name. This cannot be changed (`PUT`) once the listener is created. - **compute_config** (object) (required): Fields for a listener that are specific to `compute_type`.

All fields are nullable, but are validated based on `compute_type`. - **k8s_namespaces** (array (string)) - **id** (string (uuid)) (required): System assigned ID of the listener.

This is a read-only field. - **created_at** (string (date-time)) (required): The creation time of the listener.

This is a read-only field. - **updated_at** (string (date-time)) (required): The last update time of the listener.

This is a read-only field. #### 403 - Forbidden #### 404 - Not Found #### 422 - Validation Error **HTTPValidationError** - **detail** (array (ValidationError)) Array items: - **loc** (array (union)) (required) - **msg** (string) (required) - **type** (string) (required) ### Example Usage ```bash curl -X GET "https://api.example.com/v2/listeners/{listener_id}" ``` ```