Skip to main content
Updates an existing product or service. All fields are optional — only the fields you send will be updated.

Authentication

Requires a valid Bearer token. The authenticated user must be an owner or admin of the organization.

Path Parameters

ParameterTypeRequiredDescription
organizationIdstring (UUID)YesOrganization ID
productIdstring (UUID)YesProduct ID

Request Body

All fields are optional.
FieldTypeDescription
descriptionstringProduct or service description
productKeyintegerSAT product/service key
pricenumberUnit price
taxIncludedbooleanWhether taxes are included in the price
taxabilitystringSAT taxability code
taxesarrayList of applicable taxes (replaces existing)
localTaxesarrayList of applicable local taxes (replaces existing)
unitKeystringSAT unit of measure key
unitNamestringUnit of measure name
skustringInternal product SKU
livemodebooleanWhether this is a live mode product

Example Request

curl -X PUT http://localhost:3001/api/organizations/550e8400-e29b-41d4-a716-446655440000/products/590ce6c56d04f840aa8438af \
  -H "Authorization: Bearer <your_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "price": 400.0,
    "sku": "UKL-002"
  }'

Example Response

{
  "id": "590ce6c56d04f840aa8438af",
  "organizationId": "550e8400-e29b-41d4-a716-446655440000",
  "livemode": true,
  "description": "Ukelele",
  "productKey": 60131324,
  "price": 400.0,
  "taxIncluded": true,
  "taxability": "01",
  "taxes": [{ "type": "IVA", "rate": 0.16 }],
  "localTaxes": [],
  "unitKey": "H87",
  "unitName": "Elemento",
  "sku": "UKL-002",
  "createdAt": "2025-01-26T10:00:00Z",
  "updatedAt": "2025-01-26T11:00:00Z"
}

Common Errors

404 Not Found

Product does not exist or does not belong to the organization.

409 Conflict

A product with the new SKU already exists in this organization.