---
title: "Upsert (create or replace) a Language"
method: PUT
path: "/languages"
tags: ["Language"]
---

# Upsert (create or replace) a Language

`PUT /languages`

Creates a Language if it does not yet exist (i.e. if the resource does not have an `id` property yet), or replaces the existing Language resource if it does. Note that this replaces the *entire* Language. It is not a partial update.

## Headers

- `ifMatch` string

## Request body

- object

## Response `201`

201: Upsert successful.

## Changes

- **2017-09-03** `62485f488e11` — 5 info
  - removed the non-success response with the status `403`
  - removed the non-success response with the status `409`
  - removed the non-success response with the status `412`
  - removed the non-success response with the status `413`
  - …1 more
- **2017-06-05** `1040300286b6` — 5 info
  - added the non-success response with the status `403`
  - added the non-success response with the status `409`
  - added the non-success response with the status `412`
  - added the non-success response with the status `413`
  - …1 more
- **2017-04-26** `4ad4937acacb` — 2 info
  - api operation id `upsertLanguages` removed and replaced with `upsertLanguage`
  - added the new optional `header` request parameter `ifMatch`
- **2017-04-22** `97593df68230` — 1 info
  - api operation id `upsertLanguage` removed and replaced with `upsertLanguages`
- **2016-12-01** `13f179dcd92d` — 2 warning
  - the optional response header `Last-Modified` removed for the status `201`
  - deleted the `header` request parameter `ifMatch`

[Change history](https://skmtc.dev/digitallinguistics/apis/dlx/changes/languages/put.md)

---

[API](https://skmtc.dev/digitallinguistics/apis/dlx.md) · [All operations](https://skmtc.dev/digitallinguistics/apis/dlx/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/digitallinguistics/dlx/revisions/16a3d9472e1b/schema)
