Update API Proxy from File
Endpoint
PUT /apiops/projects/{projectName}/apiProxies/file/
Authentication
Requires a Personal API Access Token.
Header
Authorization: Bearer YOUR_TOKEN
Request
Headers
| Header | Value | Required |
|---|---|---|
| Authorization | Bearer {token} | Yes |
| Content-Type | multipart/form-data | Yes |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| projectName | string | Yes | Project name |
Form Data
| Field | Type | Required | Description |
|---|---|---|---|
| metadata | string (JSON) | Yes | JSON string containing API proxy metadata |
| specFile | file | Yes | Specification file (OpenAPI/Swagger/WSDL) or ZIP file for WSDLs with many XSDs |
Request Body (metadata JSON)
Full JSON Body Example - Update OpenAPI
{
"apiProxyName": "petstore-api",
"apiProxyDescription": "Updated Petstore API Proxy",
"apiProxyCreationType": "OPEN_API",
"clientRoute": {
"relativePathList": ["/api/v1"],
"hostList": ["api.example.com"],
"methodList": ["GET", "POST", "PUT", "DELETE"],
"headerList": [],
"bufferRequest": true,
"bufferResponse": true
},
"routingInfo": {
"routingAddressList": [
{
"address": "https://backend.example.com",
"weight": 100,
"soapType": "SOAP11"
}
],
"loadBalanceAlgorithm": "ROUND_ROBIN",
"connectTimeout": 30,
"readTimeout": 60,
"retryCount": 3,
"failoverRetryCount": 2,
"ignoreRoutingError": false
},
"deploy": false,
"deployTargetEnvironmentNameList": ["production"],
"reParse": true,
"soapToRest": false,
"enableWSA": false,
"enableWSRM": false,
"backendApiVersion": "v2",
"maintenanceModeSetting": {
"enabled": false,
"httpStatusCode": 503,
"contentType": "application/json",
"message": "Service is under maintenance"
}
}
Full JSON Body Example - Update WSDL
{
"apiProxyName": "soap-service",
"apiProxyDescription": "Updated SOAP Service",
"apiProxyCreationType": "WSDL",
"clientRoute": {
"relativePathList": ["/soap"],
"hostList": ["soap.example.com"],
"methodList": [],
"headerList": [],
"bufferRequest": true,
"bufferResponse": true
},
"routingInfo": {
"routingAddressList": [
{
"address": "https://backend.example.com/soap",
"weight": 100,
"soapType": "SOAP11"
}
],
"loadBalanceAlgorithm": "ROUND_ROBIN",
"connectTimeout": 30,
"readTimeout": 60,
"retryCount": 3,
"failoverRetryCount": 2,
"ignoreRoutingError": false
},
"deploy": false,
"deployTargetEnvironmentNameList": ["production"],
"reParse": true,
"soapToRest": false,
"enableWSA": true,
"enableWSRM": false,
"backendApiVersion": null,
"maintenanceModeSetting": {
"enabled": false,
"httpStatusCode": 503,
"contentType": "text/xml",
"message": "Service is under maintenance"
}
}
Request Body Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| apiProxyName | string | Yes | - | API Proxy name (must exist for update) |
| apiProxyDescription | string | No | - | API Proxy description (if empty, keeps existing description) |
| apiProxyCreationType | string | Yes | - | API creation type. Must match existing API Proxy type. See EnumApiProxySpecType |
| clientRoute | object | Yes | - | Client route configuration. See ClientRoute |
| routingInfo | object | No | - | Routing configuration. See RoutingInfo |
| deploy | boolean | No | false | Whether to deploy after update |
| deployTargetEnvironmentNameList | array | No | [] | List of environment names to deploy to |
| reParse | boolean | No | true | Whether to reparse API proxy (should be true for update) |
| soapToRest | boolean | No | false | Enable SOAP to REST transformation (cannot be changed if not set initially) |
| enableWSA | boolean | No | false | Enable WS-Addressing (SOAP only) |
| enableWSRM | boolean | No | false | Enable WS-ReliableMessaging (SOAP only) |
| backendApiVersion | string | No | - | Backend API version |
| maintenanceModeSetting | object | No | - | Maintenance mode settings. See MaintenanceModeSetting |
EnumApiProxySpecType (apiProxyCreationType)
OPEN_API- OpenAPI 3.0 specificationSWAGGER- Swagger 2.0 specificationWSDL- WSDL specification (SOAP)REVERSE_PROXY- Reverse proxy (no specification)
ClientRoute (clientRoute)
| Field | Type | Required | Description |
|---|---|---|---|
| relativePathList | array | Yes | List of relative paths (at least one required, first cannot be empty) |
| hostList | array | No | List of host names |
| methodList | array | No | List of HTTP methods (for REST) |
| headerList | array | No | List of headers |
| bufferRequest | boolean | No | Buffer request body |
| bufferResponse | boolean | No | Buffer response body |