---
title: "Update multiple locations and replace their Company Attributes with the payload"
method: PATCH
path: "/api/serviceworkforce/processes/locations/custom_attributes"
tags: ["locations"]
---

# Update multiple locations and replace their Company Attributes with the payload

`PATCH /api/serviceworkforce/processes/locations/custom_attributes`

Updates multiple Locations and upserts their Company Attributes. The provided customAttributesPayload replaces the entire set of attributes attached to each location: omit the field to leave existing attributes unchanged; provide an empty array ([]) to remove all attributes from the location. Values must match the attribute data type configured for the company attribute.

## Request body

- object[]
  - `locationUuid` string, uuid — UUID of the location to update
  - `locationPayload` Location
    - `uuid` string, uuid — Unique identifier
    - `createdAt` string, date-time — Creation timestamp
    - `createdBy` string, uuid — Creator UUID
    - `lastUpdatedAt` string, date-time — Last update timestamp
    - `lastUpdatedBy` string, uuid — Last updater UUID
    - `lastUpdatedByAudience` string — Audience of last updater
    - `lastUpdatedByAudienceUuid` string, uuid — Audience UUID of last updater
    - `lastUpdatedByImpersonatedBy` string, uuid — Impersonator UUID
    - `lastUpdatedByCompanyUuid` string, uuid — Company UUID of last updater
    - `lastUpdatedByEnterpriseUuid` string, uuid — Enterprise UUID of last updater
    - `name` string, required
    - `description` string
    - `companyUuid` string, uuid
    - `street_address` string
    - `address_2` string
    - `city` string
    - `state_code` string
    - `postal_code` string
    - `country_code` 'US' | 'AD' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'AE' | 'UM' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' — 2-letter ISO country code
    - `locationNotes` string
    - `timezone` string
    - `language` string
    - `externalLocation` object — Metadata storage of the location data from an external source
      - `source` 'hire' | 'hire-go' | 'workday', required
      - `externalIdentifier` string, required
      - `externalCreatedAt` string, date-time, required
    - `geolocation` object
      - `latitude` number, required
      - `longitude` number, required
    - `brandUuid` string, uuid, nullable
    - `isRemote` boolean
    - `ownerUuid` string, uuid, nullable
    - `locationGroupUuid` string, uuid, nullable
    - `virtualLocationGroup` object
      - `name` string
  - `customAttributesPayload` object[] — Replacement list of Company Attributes to attach to the location. Attribute may be referenced by UUID or key and value must match the attribute's configured data type. Omit the field to leave the location's existing attributes unchanged; provide an empty array ([]) to remove all attributes from the location.
    - `attribute` string, required — Attribute UUID or key
    - `value` unknown, required

## Response `204`

Updated Successfully

## Other responses

- `400` — default error response
- `404` — default error response

---

[API](https://skmtc.net/fountain/apis/hire-public-api.md) · [All operations](https://skmtc.net/fountain/apis/hire-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fountain/hire-public-api/versions/5f406c0e9462/schema)
