---
title: "Update store settings"
method: PATCH
path: "/companies/{company}/stores/{store}"
tags: ["Stores"]
---

# Update store settings

`PATCH /companies/{company}/stores/{store}`

## Request

- Base URL: `https://api.factuarea.com/v1`
- URL: `https://api.factuarea.com/v1/companies/{company}/stores/{store}`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Updates the settings of a connected store; omitted fields keep their value.
- Editable: `name`, `series_id` (`null` = default series), invoicing flags, `remote_base_url`, `environment`.
- `invoice_note` takes up to 500 characters; `null` or empty clears it.
- Provider and `external_store_id` cannot change.

## Path parameters

- `company` string, uuid, required
- `store` string, uuid, required

## Headers

- `Idempotency-Key` string
- `Factuarea-Version` string, date

## Request body

- UpdateStoreV1Request: Public REST API v1 — PATCH /v1/companies/{company}/stores/{store}. Partial update of the settings of a connected store: every field is optional and a field you do not send keeps its current value. The identity of the store —its provider connection, its provider and the identifier of the remote shop— cannot be changed here: pointing an existing store at a different shop would keep the invoicing history of the old one. Three fields accept an explicit `null` and it means something: `series_id: null` goes back to the default series of your company, `remote_base_url: null` removes the declared address, and `invoice_note: null` removes the note of the automatic invoices. Omitting either one leaves it untouched. `simplified_threshold` is expressed in EUROS and capped at the legal maximum for a simplified invoice.
  - `name` string: Display name of the store.
  - `series_id` string, uuid, nullable: Series (UUID v7, type invoice) the store numbers into; send `null` to go back to the default series of your company.
  - `simplified_threshold` number: Order total, in euros, up to which the store issues a simplified invoice. Maximum 3000.00.
  - `require_tax_id` boolean: Whether the buyer tax ID is required for the order to be invoiced.
  - `prices_include_tax` boolean: Whether the prices of the store already include taxes.
  - `autoinvoicing_enabled` boolean: Whether paid orders are invoiced automatically.
  - `autosend_enabled` boolean: Whether the invoice is emailed to the buyer automatically.
  - `remote_base_url` string, uri, nullable: Base address of the remote shop; send `null` to remove it. Checked against the outbound policy of your company.
  - `environment` 'live' | 'test': Environment the store reports as: `live` invoices for real, `test` discards with a typed reason.
  - `invoice_note` string, nullable: Note written in the notes of every invoice issued automatically from this store (up to 500 characters). Send `null` or an empty string to remove it: invoices then carry no note.
  - `authorize_remote_host` boolean: Authorize the host of `remote_base_url` as an outbound destination in the same call.

## Response `200`

- object
  - `data` Store, required: A connected e-commerce store of your company. The public `id` is the store UUID v7. `integration_id` is the UUID of the provider connection that backs it, and `external_store_id` is the identifier the provider gives to the shop — an opaque string, not a foreign key of ours. The settings decide how the orders of the store become invoices.
    - `id` string, uuid, required: UUID v7 of the store. Public identity (KEY `id`).
    - `object` 'store', required: Stripe-like discriminator. Always `store` for this resource.
    - `integration_id` string, uuid, required: UUID of the provider connection (integration) that backs the store. Several stores of the same provider may hang from one connection.
    - `provider` 'woocommerce' | 'shopify' | 'prestashop', required: E-commerce provider of the store.
    - `external_store_id` string, required: Identifier the provider gives to the shop. Unique per provider within your company; an opaque string, NOT a foreign key of ours.
    - `name` string, required: Editable display name of the store.
    - `simplified_threshold` string, required: Order total, in EUROS, up to which the store issues a simplified invoice (F2). Capped at 3000.00, the legal maximum. Defaults to 400.00, the general legal limit.
    - `require_tax_id` boolean, required: Whether the buyer tax ID is required for an order to be invoiced. Defaults to `false`: a retail store sells to consumers who do not provide one.
    - `prices_include_tax` boolean, required: Whether the prices of the store already include taxes. Defaults to `true`, which is how Spanish retail displays prices.
    - `autoinvoicing_enabled` boolean, required: Whether paid orders are invoiced automatically. Defaults to `false`: a freshly connected store does not invoice on its own until you turn it on.
    - `autosend_enabled` boolean, required: Whether the invoice is emailed to the buyer automatically. Defaults to `false`.
    - `remote_base_url` string, nullable, required: Base address of the remote shop, or `null` when none is declared. Credentials embedded in the address are removed before it is returned.
    - `environment` 'live' | 'test', required: Environment the store reports as. `live` invoices for real; `test` discards its events with a typed reason. Defaults to `test`.
    - `status` 'active' | 'disconnected', required: Store status. `active` while connected; `disconnected` after disconnecting.
    - `connected_at` string, date-time, nullable, required: When the store was connected (ISO 8601), or `null` if unknown.
    - `invoice_note` string, nullable, required: Optional note written in the notes of the invoices auto-created from this store's orders, or `null` when none is configured (the default: invoices carry no note). When an order needed a currency conversion to EUR, the conversion trace is appended to the note. Editable with `PATCH /v1/companies/{company}/stores/{store}`; `null` or an empty string clears it.

## Other responses

- `400`: `parameter_unknown` with `subcode` `retired_active_profile_header`: the retired `X-Active-Profile` header was sent; the company goes in the path. `parameter_invalid_format` on `Factuarea-Version`: the header is not a `YYYY-MM-DD` date. `unsupported_api_version`: the `Factuarea-Version` date is not a supported version.
- `401`: Missing or invalid API key.
- `403`: The request is authenticated but not allowed: the API key lacks the required scope (`insufficient_scope`), the plan does not include the public API or this feature (`addon_not_active`, `feature_not_available_in_plan`), or the module is not available with a test key (`module_not_available_in_sandbox`).
- `404`: The requested resource does not exist or belongs to another company.
- `422`: Validation failed. The `error.param` field identifies which input is invalid.
- `429`: Rate limit exceeded. Retry after the duration in `Retry-After`.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/factuarea/apis/factuarea-public-api.md) · [All operations](https://skmtc.dev/factuarea/apis/factuarea-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/factuarea/apis/factuarea-public-api/revisions/718e77934422?raw)
