---
title: "Create a new business location"
method: POST
path: "/locations"
tags: ["Locations"]
---

# Create a new business location

`POST /locations`

## Request

- Base URL: `https://api.synup.com/api/v4`
- URL: `https://api.synup.com/api/v4/locations`
- Auth: none required
- TypeScript: <https://skmtc.dev/synup/apis/synup-api/docs/locations/post.ts> (a function with typed inputs; its response is checked against the schema)

A **Location** represents a physical business entity within your account and serves as the foundation for managing and interacting with the API’s features. Each Location acts as a centralized hub for managing and accessing data related to that specific business, including:

- **Listings Management**: Maintain accurate and consistent business details across multiple publishers.
- **Review Monitoring**: Track and respond to customer feedback associated with the location.
- **Performance Insights**: Analyze key metrics related to visibility, engagement, and growth.
- **SEO Optimization**: Enhance local search presence and improve rankings.

**_See the Request Section for a detailed data schema of Supported Fields. Here’s a key detail to keep in mind:_**

:::info []

**Processing Time for Location Updates**
Updates to any location attributes, including `enabledSiteIds` or `submissionDisabledSiteIds`, are processed asynchronously before they are accurately reflected across all publishers and within the system.

 For example, If the business hours for a location are updated in the system, the changes are processed asynchronously before being reflected across all publishers.

:::

## Headers

- `Authorization` string, required

## Request body

- object
  - `input` object
    - `tenure` string: Required when an account has multiple subscriptions. Specifies the tenure (e.g., Monthly). For accounts with multiple subscriptions, specify the tenure of the corresponding subscription. Refer to [Subscriptions](/api/locations/list-active-subscriptions) for details.
    - `storeId` string, nullable: Unique store identifier. Must be unique across all locations.
    - `subCategoryId` integer, required: ID of the subcategory the business belongs to
    - `name` string, required: Name of the business
    - `street` string, required: Street address of the business
    - `street1` string: Additional street address information
    - `city` string, required: City where the business is located
    - `postalCode` string, required: Postal code of the business location
    - `phone` string, required: - Must follow the international **E.164 format**. [Ref here.](https://www.twilio.com/docs/glossary/what-e164) - Do not include the `+` sign or country code. - Remove parentheses and special characters. - Example: - **Incorrect**: `(123)-456-7890`, `+1-123-456-7890` - **Correct**: `1234567890`
    - `stateIso` string, required: State ISO code. Refer to the Places API for valid ISOs.
    - `countryIso` string, required: Country ISO code. Refer to the Places API for valid ISOs.
    - `description` string, required: Detailed description of the business
    - `ownerEmail` string: Email of the business owner
    - `ownerName` string: Name of the business owner
    - `bizUrl` string: URL of the business website
    - `facebookUrl` string: URL of the business's Facebook page
    - `twitterUrl` string: URL of the business's Twitter page
    - `linkedinUrl` string: URL of the business's LinkedIn page
    - `instagramUrl` string: URL of the business's Instagram page
    - `youtubeUrl` string: URL of the business's YouTube page
    - `tiktokUrl` string: URL of the business's TikTok page
    - `pinterestUrl` string: URL of the business's Pinterest page
    - `tagline` string: Tagline of the business
    - `paymentMethods` string[]: Accepted payment methods ("VISA", "MASTERCARD", "AMEX", "CASH", "CHEQUE", "CRYPTO", "DINERS_CLUB", "DISCOVER", "FINANCING", "INVOICE", "TRAVELERS_CHECK", "APPLE_PAY", "SAMSUNG_PAY", "PAYPAL", "ANDROID_PAY" )
    - `yearOfIncorporation` integer: Year the business was established
    - `hideAddress` boolean: Set to true if location is a Service Area Business
    - `businessHours` object[]: Business hours for each day of the week
      - `day` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', required: Day of the week
      - `slots` object[], required: Array of time slots (minimum 1, maximum 2). Required only if type is OPEN.
        - `start` string: Opening time. Valid formats: `<HH>:<MM>am` OR `<HH>:<MM>pm`
        - `end` string: Closing time. Valid formats: `<HH>:<MM>am` OR `<HH>:<MM>pm`
      - `type` 'OPEN' | 'OPEN_24x7' | 'CLOSED', required: Type of business hours (e.g., OPEN, CLOSED, OPEN_24x7)
    - `additionalCategoryIds` integer[]: Additional category IDs for the business
    - `videos` string[]: List of valid video URLs
    - `enabledSiteIds` integer[]: List of site IDs where the business details should be published
    - `submissionDisabledSiteIds` integer[]: List of site IDs where the business details should not be published
    - `temporarilyClosed` boolean: Set to true if the location's business hours should be marked as closed
    - `additionalPhones` string[]: Additional contact phone numbers
    - `googleAdsPhone` string: Google Ads-specific phone number
    - `bookingUrl` string, nullable: URL for booking appointments. Applicable only for Food industry businesses
    - `offeringsUrl` string, nullable: URL for listing business offerings. Applicable only for food industry businesses
    - `reservationUrl` string, nullable: URL for making reservations. Applicable only for restaurant only businesses.
    - `placeActionLinks` object[]: Manage a location's Place Action Links
      - `placeActionType` 'APPOINTMENT' | 'ONLINE_APPOINTMENT' | 'DINING_RESERVATION' | 'FOOD_ORDERING' | 'FOOD_DELIVERY' | 'FOOD_TAKEOUT' | 'SHOP_ONLINE', required: One of the valid types.
      - `isPreferred` boolean: Marks this link preferred for its type. At most one preferred per type.
      - `uri` string, required: Destination URL.

## Response `200`

Location created successfully

- object
  - `data` object: Contains the response data for the create location request.
    - `createLocation` object: Encapsulates details about the created location.
      - `errors` unknown
      - `location` object: Details of the created location.
        - `accountId` integer, required
        - `additionalCategoryIds` string[], required
        - `additionalInfo` unknown, required
        - `additionalPhones` string[], required
        - `archived` boolean, required
        - `archivedAt` unknown, required
        - `billingPeriod` unknown, required
        - `bizUrl` string, nullable
        - `bookingUrl` string, nullable
        - `categoryId` integer, required
        - `businessHours` object[]: Business hours for each day of the week
          - `day` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY' | 'SPECIAL', required: Day of the week | Special
          - `slots` object[], required: Array of time slots (minimum 1, maximum 2). Required only if type is OPEN.
            - `start` string: Opening time. Valid formats: `<HH>:<MM>am` OR `<HH>:<MM>pm`
            - `end` string: Closing time. Valid formats: `<HH>:<MM>am` OR `<HH>:<MM>pm`
          - `type` 'OPEN' | 'OPEN_24x7' | 'CLOSED', required: Type of business hours (e.g., OPEN, CLOSED, OPEN_24x7)
          - `specialDate` string: Day should be `SPECIAL`. Regular hours is mandatory. **Regular hours is mandatory for special hours to be allowed **
        - `city` string, required
        - `countryIso` string, required
        - `customAttributes` object[], required
          - `archived` boolean
          - `enumValues` string[]
          - `name` string
          - `slug` string
          - `type` string
          - `value` string[]
        - `databaseId` integer, required
        - `description` string, required
        - `facebookUrl` string, nullable
        - `folderId` string, required
        - `folderName` string, required
        - `googleAdsPhone` string, required
        - `googleplusUrl` unknown, required
        - `hideAddress` boolean, required
        - `id` string, required
        - `instagramUrl` string, nullable
        - `isRestaurant` boolean
        - `latitude` number, required
        - `linkedinUrl` string
        - `locationPhotos` string[], required
        - `longitude` number, required
        - `moreHours` string[], required
        - `name` string, required
        - `offeringsUrl` string, nullable
        - `ownerEmail` string, required
        - `ownerName` string, required
        - `package` string, required
        - `paymentMethods` string[], required
        - `phone` string, required
        - `pinterestUrl` string, required
        - `planId` integer, required
        - `planName` string, required
        - `postalCode` string, required
        - `publisherAttributes` string[], required
        - `reservationUrl` string, required
        - `serviceItems` string[], required
        - `stateIso` string, required
        - `storeId` unknown, required
        - `street` string, required
        - `street1` string, required
        - `subCategory` object, required
          - `databaseId` integer, required
          - `id` string, required
          - `name` string, required
          - `primary` boolean, required
        - `subCategoryId` integer, required
        - `subCategoryName` string, required
        - `tagline` string, required
        - `tags` string[], required
        - `temporarilyClosed` boolean, required
        - `tiktokUrl` unknown, required
        - `toplineMessage` unknown, required
        - `toplineMessageText` unknown, required
        - `twitterUrl` string, required
        - `videos` string[], required
        - `yearOfIncorporation` integer, required
        - `youtubeUrl` unknown, required
        - `placeActionLinks` object[]
          - `placeActionType` 'FOOD_ORDERING FOOD_ORDERING' | 'ONLINE_APPOINTMENT' | 'APPOINTMENT' | 'DINING_RESERVATION' | 'FOOD_DELIVERY' | 'FOOD_TAKEOUT' | 'SHOP_ONLINE', required
          - `uri` string, required
          - `isPreferred` boolean
          - `name` string
          - `submissionStatus` string
          - `submissionMessage` string
          - `lastSubmittedAt` string
          - `isEditable` string
        - `discoveredPlaceActionLinks` object[]
          - `placeActionType` string, required
          - `uri` string, required
          - `isPreferred` boolean, required
          - `name` string, required
          - `providerType` string, required
          - `isEditable` boolean, required
      - `success` boolean: Indicates whether the location creation was successful.
      - `warnings` string[]: List of warnings generated during the request processing, if any.
  - `message` string: Response message indicating the result of the operation.

## Other responses

- `400`: Bad request, invalid input

---

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