# Upsert extended location config

```http
POST https://api.synup.com/api/v4/local-post-ideas/upsert-extended-location-config
```

Creates or updates the extended generation config for a location — brand tone, target customers, contact/address, brand colors and logos, and the services/products/content-rules that ground post-idea generation. Only the fields you send are changed. `services`, `products`, and `contentRules` are JSON values.

Source: https://developer.synup.com/api/local-post-ideas/upsert-extended-location-config

## Header parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `Synup-Version` | string | required | API version date (YYYY-MM-DD). |

## Request body

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `locationId` | string | required |  |
| `tone` | string | optional |  |
| `targetCustomers` | string | optional |  |
| `country` | string | optional |  |
| `phone` | string | optional |  |
| `address` | string | optional |  |
| `location` | string | optional |  |
| `primaryColor` | string | optional |  |
| `secondaryColor` | string | optional |  |
| `logoLight` | string | optional |  |
| `logoDark` | string | optional |  |
| `services` | object | optional | Free-form JSON describing services. |
| `products` | object | optional | Free-form JSON describing products. |
| `contentRules` | object | optional | Free-form JSON content rules. |
| `additionalContext` | string | optional |  |

## Example request

```bash
curl -X POST 'https://api.synup.com/api/v4/local-post-ideas/upsert-extended-location-config' \
  -H 'Authorization: API YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "locationId": "TG9jYXRpb246MQ==",
  "tone": "friendly",
  "targetCustomers": "families"
}'
```

## Responses

| Status | Description |
| --- | --- |
| `200` | Successful response |
| `401` | Unauthorized - Invalid or missing API key |
