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

# Manage areas and stores

> Configure areas, stores, restricted users, and API keys to manage your regional promotional structure

<Info>
  Before you begin, read the [Areas and stores reference guide](/orchestrate/areas-and-stores), which explains the structure, roles, and visibility rules.

  This guide focuses only on configuration.
</Info>

Managing areas and stores covers:

* Creating and managing areas and stores.
* Assigning Restricted users and API keys to specific areas, stores, and all stores.
* Assigning campaigns to specific areas, stores, and all stores.

## Create and manage areas and stores

Only an **Admin** can create, edit, or delete areas and stores.

You can create up to **100 areas per project** and **100 stores per area**.

### Create an area

Go to **Home** > **Project Settings** > **Areas & Stores**.

<Steps>
  <Step title="Add area">
    Click **Add area**.
  </Step>

  <Step title="Name the area">
    Enter the area name.
  </Step>

  <Step title="Save">
    Click **Save**.
  </Step>
</Steps>

The area is added to the list of areas.

### Create a store

Open the **Areas and stores** tab and select an existing area.

<Steps>
  <Step title="Add store">
    Click **Add area store**.
  </Step>

  <Step title="Name the store">
    Enter the store name.
  </Step>

  <Step title="Create">
    Click **Create**.
  </Step>
</Steps>

The store is added to the list of stores in the area.

<Note>
  In the area details view, you can:

  * Edit the area name
  * Add or edit stores
  * Delete stores (if they have no campaigns assigned)
  * Delete the area (only if it has no stores)
</Note>

## Assign restricted users

Access configuration happens in two stages:

1. Assign the **User restricted** role.
2. Define the user's area or store scope.

### Assign the Restricted user role

Only the **Account owner** can assign or remove this role.

Go to **Team settings** > **Team**.

<Steps>
  <Step title="Select team member">
    Choose the team member.
  </Step>

  <Step title="Assign role">
    Assign the **User restricted** role for the project.
  </Step>
</Steps>

The member has the **Restricted user** role in a given project.

### Define area or store access

Only an **Admin** can define assignments.

A Restricted user can have up to **100 assignments**.

Go to **Project settings** > **General** > **Project members**.

<Steps>
  <Step title="Edit assignments">
    Click **Edit assignments** next to the member with the `USER_RESTRICTED` role.
  </Step>

  <Step title="Set access list">
    Click **Edit access list**.
  </Step>

  <Step title="Select scope">
    Select specific areas, stores, or all stores.
  </Step>

  <Step title="Save">
    Click **Save**.
  </Step>
</Steps>

The member is assigned to a given area, store, or all stores.

<Warning>
  Assigning a member to an area does not assign them to that area's stores.

  Use **All stores** if they need access to every store within that area.
</Warning>

## Create restricted API keys

Only Admins can create API keys with the **User Restricted** role.

These keys follow the same visibility rules as a Restricted user.

A Restricted user API key can also have up to **100 assignments**.

Go to **Project settings** > **General** > **Application keys**.

<Steps>
  <Step title="Create new key">
    Click the **+** button.
  </Step>

  <Step title="Select role">
    Enter a name and select the **User restricted** role.
  </Step>

  <Step title="Define access">
    Click **Edit access list** and select areas, stores, or all stores.
  </Step>
</Steps>

<Tip>
  The **Secret key** is hidden immediately after it's generated or regenerated.

  Store it securely.
</Tip>

## Assign campaigns to areas or stores

Campaign assignment controls where a campaign is visible and usable.

Admins and Users can assign campaigns. Restricted users must assign new campaigns to their own areas or stores.

A campaign can have up to **100 assignments**.

Open a campaign creation builder and create a new campaign or edit an existing one. Go to the **Access settings** step.

<Steps>
  <Step title="Edit access list">
    Click **Edit access list**.
  </Step>

  <Step title="Select scope">
    Select the areas or stores where the campaign should be available.
  </Step>

  <Step title="Save campaign">
    Save the campaign.
  </Step>
</Steps>

<Tip>
  <Badge color="green">Global campaigns</Badge>

  To make a campaign available everywhere:

  * Select all areas.
  * Within each area, select **All stores**.

  If a campaign has no assignment, Restricted users cannot access it.

  If assigned to **All stores**, it automatically applies to stores created later in that area.
</Tip>

## Manage resources as a Restricted user

Access depends on the role:

* **Admins** and **Users** can manage all resources in all areas and stores.
* **Restricted users** can manage resources only within their assigned areas or stores.

### Resources managed within assigned areas or stores

Restricted users can manage, like edit or delete, the following resources or perform actions within the area or store to which they are assigned:

* Campaigns
* Vouchers
* Redemptions
* Validations
* Publications
* Qualifications
* Promotion tiers
* Combined promotions

### Resources managed regardless of assignment

Restricted users can perform activities, like creating, editing, or deleting, on the following resources regardless of the area or store to which they are assigned:

* Customers
* Validation Rules
* Orders
* Products
* Product collections
* Rewards
* Locations
* Categories
* Distributions

<Note>
  A Restricted user can edit or delete a campaign only if their assignments include **all** of the campaign’s assignments.
</Note>

<Tip>
  You can further limit Restricted user permissions by creating a custom role with the **Join areas and stores** permission.
</Tip>

## Related features

Areas and stores connect to other parts of Voucherify. The features below show how they work together.

<AccordionGroup>
  <Accordion title="Developer setup: Management API">
    <Warning>
      The documentation of these endpoints is still in progress.
    </Warning>

    You can manage areas and stores programmatically using the Management API (Enterprise feature). This includes creating, updating, and deleting areas and stores, as well as listing all areas and stores in a project.

    **Area endpoints:**

    * `GET /management/v1/projects/{projectId}/areas`: List all areas
    * `GET /management/v1/projects/{projectId}/areas/{id}`: Get area details
    * `POST /management/v1/projects/{projectId}/areas`: Create an area
    * `PUT /management/v1/projects/{projectId}/areas/{id}`: Update an area
    * `DELETE /management/v1/projects/{projectId}/areas/{id}`: Delete an area

    **Store endpoints:**

    * `GET /management/v1/projects/{projectId}/areas/{areaId}/stores`: List all stores in an area
    * `GET /management/v1/projects/{projectId}/areas/{areaId}/stores/{storeId}`: Get store details
    * `POST /management/v1/projects/{projectId}/areas/{areaId}/stores`: Create a store
    * `PUT /management/v1/projects/{projectId}/areas/{areaId}/stores/{storeId}`: Update a store
    * `DELETE /management/v1/projects/{projectId}/areas/{areaId}/stores/{storeId}`: Delete a store
  </Accordion>
</AccordionGroup>
