> ## Documentation Index
> Fetch the complete documentation index at: https://docs.occtoo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a destination

> Add a destination and its first API version in one dialog.

Creating a destination also creates **Version 1** of its API. The dialog therefore mixes properties of the destination itself (name, description, type) with properties of that first version (authentication, languages, regions).

<Steps>
  <Step title="Open the dialog">
    On the destinations listing, click **New destination**.
  </Step>

  <Step title="Choose a destination type">
    <img src="https://mintcdn.com/occtoo/1WzHqAa_CdnC2GBq/images/guides/studio/destinations/destination-type-options.png?fit=max&auto=format&n=1WzHqAa_CdnC2GBq&q=85&s=fb5d5938c8114a7e68ae3fa6d2587660" alt="The destination type options" width="880" height="222" data-path="images/guides/studio/destinations/destination-type-options.png" />

    The type is fixed at creation and cannot be changed afterwards — it decides how data is served and how many client applications the destination will accept. See [Destination types](/concepts/destination-types).
  </Step>

  <Step title="Name it">
    <img src="https://mintcdn.com/occtoo/1WzHqAa_CdnC2GBq/images/guides/studio/destinations/destination-create-dialog.png?fit=max&auto=format&n=1WzHqAa_CdnC2GBq&q=85&s=02794ac0c7374a8dd1cdabc167668cbf" alt="The new destination dialog" width="1440" height="900" data-path="images/guides/studio/destinations/destination-create-dialog.png" />

    * **Display name** — what you and your colleagues see in Studio.
    * **Safe name** — the URL segment. Studio derives it from the display name as you type, converting it to camelCase and dropping anything that is not alphanumeric, but you can overwrite it.
    * **Description** — optional.

    <Warning>
      The safe name becomes part of every URL this destination serves — `https://global.occtoo.com/{environment}/{safe name}/v{version}`. It cannot be changed once the destination exists, so a rename later means a new destination and new URLs for every consumer.
    </Warning>
  </Step>

  <Step title="Choose the authentication">
    **Protected** requires a token from a registered application; **Public** serves anyone with the URL.

    <Info>
      This choice only appears for the **Multi-consumer** type. Every other type is Protected.
    </Info>
  </Step>

  <Step title="Add the languages">
    Each row maps a **Source language** — a language key that already exists in your onboarded data — to the **Destination language** code you want to expose on the API. Use **Add language** for another row, and pick which of them is the **Default language**.

    <img src="https://mintcdn.com/occtoo/1WzHqAa_CdnC2GBq/images/guides/studio/destinations/destination-create-regions.png?fit=max&auto=format&n=1WzHqAa_CdnC2GBq&q=85&s=0920bb6b5e8b4478b2ae7b65eafbff01" alt="Languages and regions in the new destination dialog" width="1440" height="900" data-path="images/guides/studio/destinations/destination-create-regions.png" />

    Keys and values are 2–10 characters, may contain only letters, digits, `_` and `-`, and must each be unique within the destination. Add every language you intend to query on — localized fields cannot be requested for a language the destination does not carry. See [Languages](/guides/studio/destinations/add-languages).
  </Step>

  <Step title="Choose the regions">
    **Regions** are where the API is hosted, and **Default region** is the one used when a caller does not specify. Only the regions your contract covers are listed; if there is a single option it is chosen for you.
  </Step>

  <Step title="Save">
    Click **Save**. Studio opens the new destination on **Version 1**, in the **Not published** state.
  </Step>
</Steps>

The destination has no endpoints yet, and cannot be published until it has at least one — continue with [Create an endpoint](/guides/studio/destinations/create-an-endpoint).
