# 已弃用

{% hint style="warning" %}
旧版 v1/deploy API 端点是 **过时的，已被 v2 API 取代** - 请参见 [专用服务器](/zh/docs/api/zhuan-yong-fu-wu-qi.md).
{% endhint %}

## ⚠️ Deploy Server

> DEPRECATED. \[Rate Limit: 40 req/s] Create a new deployment - containerized instance of an application version.

```json
{"openapi":"3.0.1","info":{"title":"Edgegap v1 API","version":"2026.04.24"},"tags":[{"name":"Deployments"},{"name":"Dedicated Servers"}],"servers":[{"url":"https://api.edgegap.com","description":"https://api.edgegap.com"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","in":"header","name":"Authorization","description":"[Manage API tokens in dashboard.](https://app.edgegap.com/user-settings?tab=tokens)"}},"schemas":{"InjectedEnvVariable":{"required":["key","value"],"properties":{"key":{"type":"string","description":"Custom key used to access the injected variable within the deployment. Automatically sanitized."},"value":{"type":"string","description":"Custom value to inject in your deployment, up to 4 KB."},"is_hidden":{"type":"boolean","description":"Enable encryption at rest to prevent reading the value with API.","default":false}},"type":"object"},"V1DeployFilter":{"type":"object","properties":{"field":{"type":"string","description":"Deployment field used for filtering."},"values":{"type":"array","description":"Values to compare against.","items":{"type":"string"}},"filter_type":{"type":"string","description":"Filter operator","enum":["any","all","not"]}},"required":["field","filter_type","values"]},"Error":{"required":["message"],"properties":{"message":{"type":"string","description":"A message depending of the request termination"}},"type":"object"}}},"paths":{"/v1/deploy":{"post":{"summary":"⚠️ Deploy Server","deprecated":true,"description":"DEPRECATED. [Rate Limit: 40 req/s] Create a new deployment - containerized instance of an application version.","operationId":"deployment-create","tags":["Deployments","Dedicated Servers"],"parameters":[{"name":"Accept","in":"header","description":"","schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"app_name":{"type":"string","description":"Application to deploy."},"version_name":{"type":"string","description":"Version to deploy. If omitted, last created version will be deployed."},"ip_list":{"type":"array","items":{"type":"string"},"description":"Mutually exclusive with geo_ip_list. List of user IPs, determining server location choice."},"geo_ip_list":{"type":"array","description":"Mutually exclusive with ip_list. List of user IPs and coordinates, determining server location choice. Coordinates override IP address.","items":{"type":"object","properties":{"ip":{"type":"string","description":"User public IP address."},"latitude":{"type":"number","description":"User latitude."},"longitude":{"type":"number","description":"User longitude."}},"required":["ip","latitude","longitude"]}},"filters":{"type":"array","description":"Restricts possible locations for the deployment.","items":{"type":"object","properties":{"field":{"type":"string","description":"Deployment field used for filtering."},"values":{"type":"array","description":"Values to compare against.","items":{"type":"string"}},"filter_type":{"type":"string","description":"Filter operator.","enum":["any","all","not"]}},"required":["field","filter_type","values"]}},"env_vars":{"type":"array","description":"List of environment variables to set in your deployment instance. These variables will be available in your container.","items":{"$ref":"#/components/schemas/InjectedEnvVariable"}},"tags":{"type":"array","description":"List of tags to mark your deployments for easy filtering.","items":{"type":"string"}},"webhook_url":{"type":"string","description":"URL to receive simple HTTP notifications in your game backend when the new deployment becomes Ready."},"container_log_storage":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Enable or disable uploading logs."},"endpoint_storage":{"type":"string","description":"Endpoint storage identifier to upload deployment logs."}},"required":["enabled","endpoint_storage"],"description":"Endpoint storage to upload deployment logs."},"command":{"description":"Overrides container command for the deployment, use with caution.","type":"string","nullable":true},"arguments":{"description":"Overrides container arguments for the deployment, use with caution.","type":"string","nullable":true}},"required":["app_name"]}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","description":"ID of your deployment, also referred to as request ID."},"request_dns":{"type":"string","description":"FQDN (URL) to connect to the deployment."},"request_app":{"type":"string","description":"Application which has been deployed."},"request_version":{"type":"string","description":"App version which has been deployed."},"request_user_count":{"type":"integer","description":"Number of users included in the deployment request.","minimum":1},"filters":{"type":"array","description":"List of filters applied to choose the location of the deployment.","items":{"$ref":"#/components/schemas/V1DeployFilter"}},"tags":{"type":"array","description":"List of tags to mark your deployments for easy filtering.","items":{"type":"string"}},"container_log_storage":{"description":"Object storage to upload deployment logs."}},"required":["request_app","request_dns","request_id","request_user_count","request_version","filters"]}}},"headers":{}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{}},"404":{"description":"","content":{"application/json":{"schema":{"title":"","type":"object","properties":{"message":{"type":"string","description":"A message depending of the request termination"}},"required":["message"]}}},"headers":{}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{}},"422":{"description":"Unprocessable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{}},"500":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{}}}},"headers":{}}}}}}}
```

## ⚠️ Updates properties of a deployment

> DEPRECATED. Updates properties of a deployment. Currently only the \`is\_joinable\_by\_session\` property can be updated.

```json
{"openapi":"3.0.1","info":{"title":"Edgegap v1 API","version":"2026.04.24"},"tags":[{"name":"Deployments"},{"name":"Dedicated Servers"}],"servers":[{"url":"https://api.edgegap.com","description":"https://api.edgegap.com"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","in":"header","name":"Authorization","description":"[Manage API tokens in dashboard.](https://app.edgegap.com/user-settings?tab=tokens)"}},"schemas":{"Error":{"required":["message"],"properties":{"message":{"type":"string","description":"A message depending of the request termination"}},"type":"object"}}},"paths":{"/v1/deployments/{request_id}":{"patch":{"summary":"⚠️ Updates properties of a deployment","deprecated":true,"description":"DEPRECATED. Updates properties of a deployment. Currently only the `is_joinable_by_session` property can be updated.","operationId":"deployment-update","tags":["Deployments","Dedicated Servers"],"parameters":[{"name":"request_id","in":"path","description":"","required":true,"schema":{"type":"string"}},{"name":"Accept","in":"header","description":"","schema":{"type":"string"}},{"name":"Content-Type","in":"header","description":"","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"is_joinable_by_session":{"type":"boolean","description":"Whether a session can connect to this deployment or not."}}}}},"required":true},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"is_joinable_by_session":{"type":"boolean","description":"If the deployment is joinable by sessions"}},"required":["is_joinable_by_session"]}}},"headers":{}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.edgegap.com/zh/docs/api/yi-qi-yong.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
