---
title: "Upload extension"
method: POST
path: "/v1/extensions"
tags: ["Extensions"]
---

# Upload extension

`POST /v1/extensions`

Upload a Chrome extension (.zip/.crx file or Chrome Web Store URL) for the organization

## Response `201`

Default Response

- ExtensionUploadResponse
  - `createdAt` string, required — Creation timestamp
  - `id` string, required — Unique extension identifier (e.g., ext_12345)
  - `name` string, required — Extension name
  - `updatedAt` string, required — Last update timestamp

## Other responses

- `400` — An error response from the API
- `409` — An error response from the API
- `500` — An error response from the API

## Changes

- **2026-06-23** `2248d956188a` — 1 info
  - request body became optional
- **2026-06-16** `7b73b0d57792` — 1 breaking
  - request body became required
- **2026-06-07** `4985d7bcd32f` — 3 info
  - added the optional property `linkToDocs` to the response with the `400` status
  - added the optional property `linkToDocs` to the response with the `409` status
  - added the optional property `linkToDocs` to the response with the `500` status
- **2026-01-08** `97dcad9b050e` — 1 breaking, 4 info
  - the `file` request property contentEncoding changed from `` to `binary`
  - the `file` request property type/format was generalized from ``/`` to `string`/`binary`
  - the response property `context/items/params` became required for the status `400`
  - the response property `context/items/params` became required for the status `409`
  - …1 more
- **2025-08-21** `b5496a8d20fa` — 1 info
  - added optional request body

[Full history](https://skmtc.dev/steel-dev/apis/steel-api/changes/v1/extensions/post.md)

---

[API](https://skmtc.dev/steel-dev/apis/steel-api.md) · [All operations](https://skmtc.dev/steel-dev/apis/steel-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/steel-dev/steel-api/revisions/2248d956188a/schema)
