---
title: "Update Spec API of API Proxy"
method: PUT
path: "/apiops/projects/{projectName}/apiProxies/{apiProxyName}/spec/"
tags: ["ApiProxy"]
---

# Update Spec API of API Proxy

`PUT /apiops/projects/{projectName}/apiProxies/{apiProxyName}/spec/`

## Request

- Base URL: `http://167.86.118.166:32080`
- URL: `http://167.86.118.166:32080/apiops/projects/{projectName}/apiProxies/{apiProxyName}/spec/`
- Auth: none declared
- TypeScript: <https://skmtc.dev/apinizer/apis/apinizer-management-apis/docs/apiops/projects/:projectName/apiProxies/:apiProxyName/spec/put.ts> (a function with typed inputs; its response is checked against the schema)

Updates the Spec API (OpenAPI specification) of the given API Proxy. If the API Proxy does not have a Spec API yet, a new one will be created and linked.

## Path parameters

- `projectName` string, required
- `apiProxyName` string, required

## Request body

- SpecApi
  - `id` string
  - `projectId` string
  - `apiProxyId` string
  - `apiProxyRevision` integer
  - `openapi` string
  - `info` SpecInfo
    - `title` string
    - `description` string
    - `termsOfService` string
    - `contact` SpecContact
      - `name` string
      - `url` string
      - `email` string
      - `extensions` object
    - `license` SpecLicense
      - `name` string
      - `url` string
      - `extensions` object
    - `version` string
    - `extensions` object
  - `advanced` boolean
  - `specFromProxy` boolean
  - `specCreationType` 'OPEN_API' | 'SWAGGER' | 'WSDL' | 'WADL'
  - `externalDocs` SpecExternalDocumentation
    - `description` string
    - `url` string
    - `extensions` object
  - `servers` SpecServer[]
    - `url` string
    - `description` string
    - `variables` object
      - `extensions` object
      - `empty` boolean
    - `extensions` object
    - `soapType` 'SOAP11' | 'SOAP12' | 'HTTP'
  - `security` SpecSecurityRequirement[]
    - `empty` boolean
  - `tags` SpecTag[]
    - `name` string
    - `description` string
    - `externalDocs` SpecExternalDocumentation
      - `description` string
      - `url` string
      - `extensions` object
    - `extensions` object
  - `paths` object
    - `extensions` object
    - `empty` boolean
  - `components` SpecComponents
    - `schemas` object
    - `responses` object
    - `parameters` object
    - `examples` object
    - `requestBodies` object
    - `headers` object
    - `securitySchemes` object
    - `links` object
    - `callbacks` object
    - `extensions` object
  - `extensions` object
  - `importedContentOfBackendApi` string
  - `soapSchemaList` SoapSchema[]
    - `schemaNo` integer
    - `schemaBody` string
    - `originalLocation` string
    - `schemaNamespace` string
  - `createdDate` string, date-time
  - `updatedDate` string, date-time

## Response `200`

successful operation!

- SpecApi
  - `id` string
  - `projectId` string
  - `apiProxyId` string
  - `apiProxyRevision` integer
  - `openapi` string
  - `info` SpecInfo
    - `title` string
    - `description` string
    - `termsOfService` string
    - `contact` SpecContact
      - `name` string
      - `url` string
      - `email` string
      - `extensions` object
    - `license` SpecLicense
      - `name` string
      - `url` string
      - `extensions` object
    - `version` string
    - `extensions` object
  - `advanced` boolean
  - `specFromProxy` boolean
  - `specCreationType` 'OPEN_API' | 'SWAGGER' | 'WSDL' | 'WADL'
  - `externalDocs` SpecExternalDocumentation
    - `description` string
    - `url` string
    - `extensions` object
  - `servers` SpecServer[]
    - `url` string
    - `description` string
    - `variables` object
      - `extensions` object
      - `empty` boolean
    - `extensions` object
    - `soapType` 'SOAP11' | 'SOAP12' | 'HTTP'
  - `security` SpecSecurityRequirement[]
    - `empty` boolean
  - `tags` SpecTag[]
    - `name` string
    - `description` string
    - `externalDocs` SpecExternalDocumentation
      - `description` string
      - `url` string
      - `extensions` object
    - `extensions` object
  - `paths` object
    - `extensions` object
    - `empty` boolean
  - `components` SpecComponents
    - `schemas` object
    - `responses` object
    - `parameters` object
    - `examples` object
    - `requestBodies` object
    - `headers` object
    - `securitySchemes` object
    - `links` object
    - `callbacks` object
    - `extensions` object
  - `extensions` object
  - `importedContentOfBackendApi` string
  - `soapSchemaList` SoapSchema[]
    - `schemaNo` integer
    - `schemaBody` string
    - `originalLocation` string
    - `schemaNamespace` string
  - `createdDate` string, date-time
  - `updatedDate` string, date-time

## Other responses

- `401`: not authorized for this operation!
- `500`: internal error!

## Changes

- **2026-10-20** `d1a546deccf0`: 5 breaking
  - request property `specCreationType` was restricted to a list of enum values
  - the `apiProxyRevision` request property format changed from no format to `int32`
  - the `soapSchemaList/items/schemaNo` request property format changed from no format to `int32`
  - the `specCreationType` request property type changed from `object` to `string`
  - …1 more
  - …this revision’s changelog is incomplete
- **2026-08-11** `9ae232e55479`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/apinizer/apis/apinizer-management-apis/changes/apiops/projects/:projectName/apiProxies/:apiProxyName/spec/put.md)

---

[API](https://skmtc.dev/apinizer/apis/apinizer-management-apis.md) - [All operations](https://skmtc.dev/apinizer/apis/apinizer-management-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/apinizer/apis/apinizer-management-apis/revisions/e083046b24cd?raw)
