---
title: "Create monitors in bulk from an OpenAPI spec"
method: POST
path: "/api/v1/endpoints/import-openapi"
tags: ["endpoints"]
---

# Create monitors in bulk from an OpenAPI spec

`POST /api/v1/endpoints/import-openapi`

## Request

- Base URL: `https://monit.rs`
- URL: `https://monit.rs/api/v1/endpoints/import-openapi`
- Auth: HTTP bearer

## Request body

- OpenAPIImportRequest
  - `spec_url` string, required
  - `base_url` string, nullable
  - `interval_seconds` integer
  - `include_write_methods` boolean
  - `include_path_params` boolean
  - `headers` object, nullable
  - `auth_config` object, nullable
  - `query_params` object, nullable
  - `selected` object[], nullable

## Response `201`

Successful Response

- OpenAPIImportResponse
  - `spec_url` string, required
  - `base_url` string, required
  - `total_paths` integer, required
  - `total_created` integer, required
  - `created` OpenAPIImportedEndpoint[], required
    - `id` string, uuid, required
    - `name` string, required
    - `url` string, required
    - `method` string, required
  - `skipped` OpenAPIImportSkipped[], required
    - `path` string, required
    - `method` string, required
    - `reason` string, required

## Other responses

- `400`: Invalid request.
- `403`: Not permitted for this account or scope.
- `422`: Validation Error
- `502`: Upstream fetch failed.

---

[API](https://skmtc.dev/monit/apis/monit-rs-public-api.md) · [All operations](https://skmtc.dev/monit/apis/monit-rs-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/monit/apis/monit-rs-public-api/revisions/7e1923981112?raw)
