> ## Documentation Index
> Fetch the complete documentation index at: https://docs.suprsend.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Tenant Properties

> Update a tenant's custom `properties` in one of two ways:

- **Replace entire payload** — send `{ "properties": { ... } }` to replace the entire custom properties object with the payload. Any custom property key not in the payload is removed.
- **Update individual properties** — send `{ "operations": [ ... ] }` with `$set` and `$unset` operators to add, update, or remove individual property keys without touching the rest. Use `$set` to add new keys or overwrite the value of existing keys. Use `$unset` to delete existing keys.

Only custom `properties` are affected by this endpoint. Use the [Create / Update Tenants](/reference/create-update-tenants) endpoint to update reserved fields such as branding, `blocked_channels`, or `parent_id`.




## OpenAPI

````yaml PATCH /v1/tenant/{tenant_id}/properties/
openapi: 3.1.1
info:
  title: SuprSend API
  description: APIs supported on suprsend platform
  version: 1.2.2
servers:
  - url: https://hub.suprsend.com
security:
  - sec0: []
  - BearerAuth: []
paths:
  /v1/tenant/{tenant_id}/properties/:
    patch:
      summary: Update Tenant Properties
      description: >
        Update a tenant's custom `properties` in one of two ways:


        - **Replace entire payload** — send `{ "properties": { ... } }` to
        replace the entire custom properties object with the payload. Any custom
        property key not in the payload is removed.

        - **Update individual properties** — send `{ "operations": [ ... ] }`
        with `$set` and `$unset` operators to add, update, or remove individual
        property keys without touching the rest. Use `$set` to add new keys or
        overwrite the value of existing keys. Use `$unset` to delete existing
        keys.


        Only custom `properties` are affected by this endpoint. Use the [Create
        / Update Tenants](/reference/create-update-tenants) endpoint to update
        reserved fields such as branding, `blocked_channels`, or `parent_id`.
      operationId: update-tenant-properties
      parameters:
        - name: tenant_id
          in: path
          description: unique identifier of the tenant whose properties you want to update
          schema:
            type: string
          required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  title: Replace entire payload
                  description: >-
                    Replace the entire custom properties object with the
                    payload.
                  required:
                    - properties
                  properties:
                    properties:
                      type: object
                      description: >-
                        The new custom properties object. Replaces the tenant's
                        existing custom properties in full.
                      additionalProperties: true
                - type: object
                  title: Update individual properties
                  description: >-
                    Update individual property keys with `$set` / `$unset`
                    operators.
                  required:
                    - operations
                  properties:
                    operations:
                      type: array
                      description: Ordered list of operations to apply.
                      items:
                        type: object
                        properties:
                          $set:
                            type: object
                            description: >-
                              Add or update these keys in the tenant's custom
                              properties.
                            additionalProperties: true
                          $unset:
                            type: array
                            description: Pass property keys to remove.
                            items:
                              type: string
            examples:
              Replace entire payload:
                summary: Replace entire payload
                value:
                  properties:
                    region: US
                    team: Web
              Update individual properties:
                summary: Update individual properties
                value:
                  operations:
                    - $set:
                        division: Engineering
                    - $unset:
                        - region
      responses:
        '200':
          description: >-
            Tenant properties updated. Returns the tenant's identifier fields
            and its updated `properties` object.
          content:
            application/json:
              examples:
                Result:
                  value:
                    id: tenant-1
                    name: SuprSend UAT
                    logo: >-
                      https://ik.imagekit.io/l0quatz6utm/suprsend/staging/media/suprsend_341e8336ac2e1fbeaeae8d92e1b32bc484440f42.png
                    properties:
                      p1: Q1
              schema:
                type: object
                description: The tenant with its updated local custom `properties`.
        '404':
          description: 404 - Not Found
          content:
            application/json:
              examples:
                Result:
                  value:
                    code: 404
                    error_code: not_found
                    type: NotFound
                    message: No tenant found for tenant_id tenant-1
                    detail: No tenant found for tenant_id tenant-1
              schema:
                type: object
                description: error code and message detailing the error
      deprecated: false
      security:
        - BearerAuth: []
components:
  securitySchemes:
    sec0:
      type: apiKey
      in: header
      name: Authorization
      x-bearer-format: bearer
      description: >-
        Bearer authentication header of the form `Bearer <token>`, where <token>
        is your auth token.
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API_Key
      description: >-
        Pass as `Bearer <API_KEY>`. Get API Key from SuprSend dashboard
        Developers -> API Keys section.

````