Save the workspace settings (admin, If-Match)
const url = 'https://example.com/api/v1/settings';const options = { method: 'PUT', headers: {'Content-Type': 'application/json'}, body: '{"accent_hex":"example","community_paragraph":"example","logo_svg":"example","name":"example","osm_signin_enabled":true,"tagline":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://example.com/api/v1/settings \ --header 'Content-Type: application/json' \ --data '{ "accent_hex": "example", "community_paragraph": "example", "logo_svg": "example", "name": "example", "osm_signin_enabled": true, "tagline": "example" }'Validate every field, then save with the version the admin last saw.
Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”The editable settings. Every field is sent; logo_svg: null removes the logo.
Responses
Section titled “Responses”Successful Response
The workspace as an admin sees it. version goes back as If-Match when saving.
object
The same accent lightened for the dark canvas
Accent on the light canvas (4.5:1 or better)
True when the server holds the OpenStreetMap application settings
Example generated
{ "accent_contrast_dark": 1, "accent_contrast_light": 1, "accent_dark_hex": "example", "accent_hex": "example", "active_pack": "example", "calibration_version": "example", "community_paragraph": "example", "logo_svg": "example", "name": "example", "osm_signin_configured": true, "osm_signin_enabled": true, "tagline": "example", "updated_at": "2026-04-15T12:00:00Z", "version": 1}Unauthorized
Application/problem+json body. Extension members (for example job_id) are allowed.
object
One validation failure: where, what, and a stable machine code (never the input value).
object
Example
{ "type": "about:blank"}Forbidden
Application/problem+json body. Extension members (for example job_id) are allowed.
object
One validation failure: where, what, and a stable machine code (never the input value).
object
Example
{ "type": "about:blank"}Precondition Failed
Application/problem+json body. Extension members (for example job_id) are allowed.
object
One validation failure: where, what, and a stable machine code (never the input value).
object
Example
{ "type": "about:blank"}Unprocessable Content
Application/problem+json body. Extension members (for example job_id) are allowed.
object
One validation failure: where, what, and a stable machine code (never the input value).
object
Example
{ "type": "about:blank"}Precondition Required
Application/problem+json body. Extension members (for example job_id) are allowed.
object
One validation failure: where, what, and a stable machine code (never the input value).
object
Example
{ "type": "about:blank"}Map data © OpenStreetMap contributors, under the Open Database Licence. Code under the Apache-2.0 licence. Made by Yogesh.
Changeset Second Opinion is an independent open source tool for OpenStreetMap reviewers. It is not endorsed by, sponsored by or affiliated with the OpenStreetMap Foundation. OpenStreetMap is a trademark of the OpenStreetMap Foundation, used under itstrademark policy.