---
title: "Upload an OpenAPI specification file"
method: POST
path: "/v2/add/openapi-upload"
tags: ["Add Library"]
---

# Upload an OpenAPI specification file

`POST /v2/add/openapi-upload`

Upload an OpenAPI specification file (JSON or YAML) for documentation processing. Requires a team project. File size limit is 10MB.

## Response `200`

Library submitted successfully for processing

- AddLibraryResponse — Response after successfully submitting a library
  - `libraryName` string, required — The library identifier assigned — the URL path of the library on context7.com. `/owner/repo` for GitHub repositories, or `/<source>/<id>` for other sources (e.g., `/vercel/next.js`, `/websites/uploadcare_com`). See [Library ID format](/api-guide#library-id-format).
  - `message` string, required — Human-readable success message

## Other responses

- `400` — Bad Request - Invalid input parameters
- `401` — Unauthorized - Invalid or missing API key
- `403` — Forbidden - Insufficient permissions or plan restrictions
- `404` — Not Found - Resource doesn't exist
- `409` — Conflict - Resource already exists
- `429` — Too Many Requests - Rate limit exceeded
- `500` — Internal Server Error
- `504` — Gateway Timeout - Processing timed out waiting for logs

---

[API](https://skmtc.net/context7/apis/context7-public-api.md) · [All operations](https://skmtc.net/context7/apis/context7-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/context7/context7-public-api/versions/5e85fc74bff0/schema)
