---
title: "POST /api/openapi/specs"
method: POST
path: "/api/openapi/specs"
tags: ["openapi"]
---

# POST /api/openapi/specs

`POST /api/openapi/specs`

## Request body

- object
  - `spec` union, required
    - object
      - `kind` 'url', required
      - `url` string, required
    - object
      - `kind` 'blob', required
      - `value` string, required
  - `slug` string, nullable
  - `name` string, nullable
  - `description` string, nullable
  - `baseUrl` string, nullable
  - `headers` object, nullable
  - `queryParams` object, nullable
  - `specFormat` string, nullable
  - `family` string, nullable
  - `healthCheck` object, nullable
    - `operation` string, required
    - `args` object, nullable
    - `identityField` string, nullable
  - `authenticationTemplate` union[], nullable
    - union
      - object
        - `slug` string, required
        - `kind` 'oauth2', required
        - `authorizationUrl` string, required
        - `tokenUrl` string, required
        - `resource` string, nullable
        - `scopes` string[], required
        - `supportsClientIdMetadataDocument` boolean, nullable
      - object
        - `slug` string, nullable
        - `type` 'apiKey', required
        - `label` string, nullable
        - `headers` object, nullable
        - `queryParams` object, nullable
  - `specOverrides` union[], nullable
    - union
      - object
        - `op` 'add', required
        - `path` string, required
        - `value` unknown, required
      - object
        - `op` 'remove', required
        - `path` string, required
      - object
        - `op` 'replace', required
        - `path` string, required
        - `value` unknown, required
      - object
        - `op` 'move', required
        - `path` string, required
        - `from` string, required
      - object
        - `op` 'copy', required
        - `path` string, required
        - `from` string, required
      - object
        - `op` 'test', required
        - `path` string, required
        - `value` unknown, required

## Response `200`

Success

- object
  - `slug` string, required
  - `toolCount` union, required
    - number
    - 'NaN'
    - 'Infinity'
    - '-Infinity'
    - 'Infinity' | '-Infinity' | 'NaN'

## Other responses

- `400` — OpenApiParseError | OpenApiExtractionError | OpenApiOAuthError | OpenApiSpecOverrideError
- `409` — IntegrationAlreadyExistsError
- `500` — InternalError

---

[API](https://skmtc.net/executor/apis/executor-api.md) · [All operations](https://skmtc.net/executor/apis/executor-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/executor/executor-api/revisions/c1ec5e355d44/schema)
