Ana içeriğe atla

Endpoint

PUT /apiops/projects/{projectName}/apiProxies/url/

Authentication

Requires a Personal API Access Token.
Authorization: Bearer YOUR_TOKEN

Request

Headers

HeaderValueRequired
AuthorizationBearer Yes
Content-Typeapplication/jsonYes

Path Parameters

ParameterTypeRequiredDescription
projectNamestringYesProject name

Request Body

Full JSON Body Example - Update OpenAPI

{
  "apiProxyName": "petstore-api",
  "apiProxyDescription": "Updated Petstore API Proxy",
  "apiProxyCreationType": "OPEN_API",
  "specUrl": "https://petstore.swagger.io/v2/swagger.json",
  "clientRoute": {
    "relativePathList": ["/api/v1"],
    "virtualHostList": ["api.example.com"]
  },
  "routingInfo": {
    "routingAddressList": [
      {
        "address": "https://backend.example.com",
        "weight": 100,
        "healthCheckEnabled": true
      }
    ],
    "routingEnabled": true,
    "mirrorEnabled": 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"
  },
  "specAuthorizationValueList": [
    {
      "headerName": "Authorization",
      "headerValue": "Bearer token123"
    }
  ]
}

Full JSON Body Example - Update WSDL

{
  "apiProxyName": "soap-service",
  "apiProxyDescription": "Updated SOAP Service",
  "apiProxyCreationType": "WSDL",
  "specUrl": "https://example.com/service.wsdl",
  "clientRoute": {
    "relativePathList": ["/soap"],
    "virtualHostList": ["soap.example.com"]
  },
  "routingInfo": {
    "routingAddressList": [
      {
        "address": "https://backend.example.com/soap",
        "weight": 100,
        "healthCheckEnabled": true
      }
    ],
    "routingEnabled": true,
    "mirrorEnabled": 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"
  },
  "specAuthorizationValueList": []
}

Full JSON Body Example - Update Reverse Proxy

{
  "apiProxyName": "reverse-proxy",
  "apiProxyDescription": "Updated Reverse Proxy",
  "apiProxyCreationType": "REVERSE_PROXY",
  "specUrl": null,
  "clientRoute": {
    "relativePathList": ["/reverse"],
    "virtualHostList": ["reverse.example.com"]
  },
  "routingInfo": {
    "routingAddressList": [
      {
        "address": "https://backend.example.com",
        "weight": 100,
        "healthCheckEnabled": true
      }
    ],
    "routingEnabled": true,
    "mirrorEnabled": false
  },
  "deploy": false,
  "deployTargetEnvironmentNameList": ["production"],
  "reParse": true,
  "soapToRest": false,
  "enableWSA": false,
  "enableWSRM": false,
  "backendApiVersion": null,
  "maintenanceModeSetting": {
    "enabled": false,
    "httpStatusCode": 503,
    "contentType": "application/json",
    "message": "Service is under maintenance"
  },
  "specAuthorizationValueList": []
}

Request Body Fields

FieldTypeRequiredDefaultDescription
apiProxyNamestringYes-API Proxy name (must exist for update)
apiProxyDescriptionstringNo-API Proxy description (if empty, keeps existing description)
apiProxyCreationTypestringYes-API creation type. Must match existing API Proxy type. See EnumApiProxySpecType
specUrlstringYes*-Specification URL (required if not reverse proxy)
clientRouteobjectYes-Client route configuration. See ClientRoute
routingInfoobjectNo-Routing configuration. See RoutingInfo
deploybooleanNofalseWhether to deploy after update
deployTargetEnvironmentNameListarrayNo[]List of environment names to deploy to
reParsebooleanNotrueWhether to reparse API proxy (should be true for update)
soapToRestbooleanNofalseEnable SOAP to REST transformation (cannot be changed if not set initially)
enableWSAbooleanNofalseEnable WS-Addressing (SOAP only)
enableWSRMbooleanNofalseEnable WS-ReliableMessaging (SOAP only)
backendApiVersionstringNo-Backend API version
maintenanceModeSettingobjectNo-Maintenance mode settings. See MaintenanceModeSetting
specAuthorizationValueListarrayNo[]Authorization headers for accessing spec URL. See SpecAuthorizationValue

EnumApiProxySpecType (apiProxyCreationType)

  • OPEN_API - OpenAPI 3.0 specification
  • SWAGGER - Swagger 2.0 specification
  • WSDL - WSDL specification (SOAP)
  • REVERSE_PROXY - Reverse proxy (no specification)

ClientRoute (clientRoute)

FieldTypeRequiredDescription
relativePathListarrayYesList of relative paths (at least one required, first cannot be empty)
virtualHostListarrayNoList of virtual hosts

RoutingInfo (routingInfo)

FieldTypeRequiredDescription
routingAddressListarrayNoList of routing addresses. See RoutingAddress
routingEnabledbooleanNoWhether routing is enabled
mirrorEnabledbooleanNoWhether mirroring is enabled

RoutingAddress (routingInfo.routingAddressList item)

FieldTypeRequiredDescription
addressstringYesBackend server address
weightintegerNoRouting weight (for load balancing)
healthCheckEnabledbooleanNoEnable health check

MaintenanceModeSetting (maintenanceModeSetting)

FieldTypeRequiredDescription
enabledbooleanNoWhether maintenance mode is enabled
httpStatusCodeintegerNoHTTP status code for maintenance response
contentTypestringNoContent type for maintenance response
messagestringNoMaintenance message

SpecAuthorizationValue (specAuthorizationValueList item)

FieldTypeRequiredDescription
headerNamestringYesHeader name (e.g., “Authorization”)
headerValuestringYesHeader value (e.g., “Bearer token123”)

Notes

  • apiProxyName must exist (API Proxy will be updated, not created).
  • apiProxyCreationType must match the existing API Proxy type (cannot change type).
  • specUrl is required unless apiProxyCreationType is REVERSE_PROXY.
  • clientRoute.relativePathList must contain at least one path, and the first path cannot be empty.
  • reParse: true is recommended for updates to reparse the specification.
  • soapToRest cannot be enabled if the API Proxy was not created with this option initially.
  • If apiProxyDescription is empty, the existing description is preserved.
  • routingInfo is optional; if not provided, existing routing settings are preserved.

Response

Success Response (200 OK)

{
  "success": true,
  "deploymentResult": {
    "success": true,
    "deploymentResults": [
      {
        "environmentName": "production",
        "success": true,
        "message": "Deployment successful"
      }
    ]
  }
}

cURL Example

curl -X PUT \
  "https://demo.apinizer.com/apiops/projects/MyProject/apiProxies/url/" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "apiProxyName": "petstore-api",
    "apiProxyDescription": "Updated Petstore API Proxy",
    "apiProxyCreationType": "OPEN_API",
    "specUrl": "https://petstore.swagger.io/v2/swagger.json",
    "clientRoute": {
      "relativePathList": ["/api/v1"]
    },
    "reParse": true,
    "deploy": false
  }'

Notes and Warnings

  • Update vs Create:
    • This endpoint updates an existing API Proxy (identified by apiProxyName)
    • If API Proxy does not exist, it will be created
    • Use this endpoint to reparse and update API Proxy from specification URL
  • Type Restrictions:
    • apiProxyCreationType must match the existing API Proxy type
    • Cannot change from SOAP to REST or vice versa
    • Cannot enable soapToRest if not enabled initially
  • Reparsing:
    • reParse: true re-parses the specification and updates endpoints
    • Existing endpoints may be modified or removed if specification changes
    • Policies and settings are preserved during reparse
  • Client Route:
    • clientRoute.relativePathList must contain at least one path
    • First path in the list cannot be empty
    • Virtual hosts are optional
  • Routing:
    • routingInfo is optional
    • If not provided, existing routing settings are preserved
    • Can update routing addresses, weights, and health checks
  • Deployment:
    • Set deploy: true to automatically deploy after update
    • Specify deployTargetEnvironmentNameList for target environments
    • Requires API_MANAGEMENT + DEPLOY_UNDEPLOY permission if deploying

Permissions

User must have API_MANAGEMENT + MANAGE permission in the project. For deployment operations (when deploy: true is set), user must also have API_MANAGEMENT + DEPLOY_UNDEPLOY permission.
  • Specification Authorization:
    • Use specAuthorizationValueList if specification URL requires authentication
    • Common: Authorization header with Bearer token
    • Headers are sent when fetching specification