---
title: "Upload specification"
method: PUT
path: "/v1/specs"
tags: ["API specifications"]
---

# Upload specification

`PUT /v1/specs`

## Request

- Base URL: `https://api.entur.io/api-spec-registry`
- URL: `https://api.entur.io/api-spec-registry/v1/specs`
- Auth: HTTP bearer

Upload a specification to the registry.

## Query parameters

- `dryRun` boolean

## Request body `multipart/form-data`

- object
  - `spec` unknown
  - `changelog` unknown[]
    - unknown
  - `metadata` UploadMetadata
    - `repository` string, required
    - `github` object
      - `sha` string, required
      - `ref` string, required
      - `runId` string, required

## Response `201`

Uploaded specification contained changes from the current version

## Other responses

- `204`: Uploaded specification was identical to the current version
- `400`: Uploaded specification was invalid

---

[API](https://skmtc.dev/entur/apis/api-specification-registry.md) - [All operations](https://skmtc.dev/entur/apis/api-specification-registry/llms.txt) - [OpenAPI document](https://skmtc.dev/entur/apis/api-specification-registry/revisions/a55a9a90a722?raw)
