---
title: "Finalize source maps"
method: POST
path: "/v3/releases/{releaseSlug}/source-maps/finalize"
tags: ["Releases"]
---

# Finalize source maps

`POST /v3/releases/{releaseSlug}/source-maps/finalize`

## Request

- Base URL: `https://api.interfere.com`
- URL: `https://api.interfere.com/v3/releases/{releaseSlug}/source-maps/finalize`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Durably accepts all signed files and their verified manifest. R2 publication retries in the background.

## Path parameters

- `releaseSlug` string, required

## Query parameters

- `environment` string: Deploy environment of the build. Each environment of a release has its own source maps; omit it to use the source maps of the release.

## Request body

- CompleteSourceMapsRequest: Finalizes an upload session after all file chunks are durably accepted. Verifies the complete file inventory and schedules publication of the source-map manifest. Safe to retry.
  - `bundler` 'webpack' | 'turbopack' | 'rollup' | 'tsc', required: ManifestBundler
  - `files` CompleteSourceMapFile[], required
    - `chunkUrl` string, required
    - `debugId` string, required
    - `hash` string, required
    - `path` string, required
  - `sourceFileCount` integer

## Response `200`

Source maps durably accepted for processing

- CompleteSourceMapsResponse: CompleteSourceMapsResponse
  - `fileCount` integer, required
  - `ok` boolean, required

## Other responses

- `401`: Missing or invalid secret key
- `403`: Secret key lacks the required scope or its network is blocked
- `409`: Release already has different source maps
- `422`: The release is unknown
- `429`: Upload capacity is unavailable
- `503`: A dependency failed while recording the release; retry with backoff after the Retry-After delay

---

[API](https://skmtc.dev/interfere/apis/interfere-api.md) - [All operations](https://skmtc.dev/interfere/apis/interfere-api/llms.txt) - [OpenAPI document](https://skmtc.dev/interfere/apis/interfere-api/revisions/093321c104e6?raw)
