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

# Set customer property

> Set a property value on the customer. Name the property by `key` — created on first use, with `label` and `valueType` as hints — or by `definitionId`. A confirmed value replaces the current one. With `status: "suggested"` the value is stored as a suggestion; a suggestion the customer already has is not stored twice, and one that was dismissed or matches the confirmed value is not stored at all: the response is 200 with `suppressed: true` and the value that suppressed it.



## OpenAPI

````yaml /api-reference/openapi.json post /v1/customers/{id}/properties
openapi: 3.1.0
info:
  title: Bizzy API
  version: 1.0.0
  description: Bizzy API for managing businesses, customers, contacts, and more.
servers:
  - url: https://api.bizzyco.ai
    description: Production
security: []
tags:
  - name: Automations
    description: Manage workflow automation rules
    x-group: Automations
  - name: Automation Executions
    description: View automation execution history
    x-group: Automations
  - name: Businesses
    description: Manage business profiles
    x-group: Businesses
  - name: Business Offerings
    description: Manage products and services offered by businesses
    x-group: Businesses
  - name: Business Online Presences
    description: Manage websites and social media links
    x-group: Businesses
  - name: Business Physical Presences
    description: Manage physical locations and addresses
    x-group: Businesses
  - name: Business Profile
    description: View and update business profile details
    x-group: Businesses
  - name: Business Properties
    description: Set and review custom property values on businesses
    x-group: Businesses
  - name: Contacts
    description: Manage contact records
    x-group: Contacts
  - name: Contact Addresses
    description: Manage mailing addresses for contacts
    x-group: Contacts
  - name: Contact Emails
    description: Manage email addresses for contacts
    x-group: Contacts
  - name: Contact Phone Numbers
    description: Manage phone numbers for contacts
    x-group: Contacts
  - name: Contact Properties
    description: Set and review custom property values on contacts
    x-group: Contacts
  - name: Customers
    description: Manage customer records
    x-group: Customers
  - name: Customer Transactions
    description: View customer transaction history
    x-group: Customers
  - name: Customer Properties
    description: Set and review custom property values on customers
    x-group: Customers
  - name: Domains
    description: Manage domain names
    x-group: Domains
  - name: Domain Contacts
    description: Manage contacts associated with domains
    x-group: Domains
  - name: Domain Registrations
    description: Manage domain registration records
    x-group: Domains
  - name: Email Templates
    description: Manage reusable email templates
    x-group: Email Templates
  - name: Email Opt-ins
    description: Record and withdraw recipients' marketing email opt-ins
    x-group: Email Templates
  - name: Files
    description: Manage file uploads and downloads
    x-group: Files
  - name: File Access Links
    description: Manage shareable file access links
    x-group: Files
  - name: Folders
    description: Organize files into folders
    x-group: Files
  - name: Messages
    description: Manage email messages
    x-group: Messages
  - name: Message Attachments
    description: Access message file attachments
    x-group: Messages
  - name: Message Contacts
    description: View contacts associated with messages
    x-group: Messages
  - name: Property Definitions
    description: Manage the custom properties contacts, customers, and businesses can hold
    x-group: Properties
  - name: Tasks
    description: Manage task records
    x-group: Tasks
  - name: Task Assignees
    description: Manage user assignments to tasks
    x-group: Tasks
  - name: Task Activity
    description: View task activity and change history
    x-group: Tasks
paths:
  /v1/customers/{id}/properties:
    post:
      tags:
        - Customer Properties
      summary: Set customer property
      description: >-
        Set a property value on the customer. Name the property by `key` —
        created on first use, with `label` and `valueType` as hints — or by
        `definitionId`. A confirmed value replaces the current one. With
        `status: "suggested"` the value is stored as a suggestion; a suggestion
        the customer already has is not stored twice, and one that was dismissed
        or matches the confirmed value is not stored at all: the response is 200
        with `suppressed: true` and the value that suppressed it.
      operationId: setCustomerProperty
      parameters:
        - schema:
            type: string
            format: uuid
            description: Customer UUID
            example: 123e4567-e89b-12d3-a456-426614174000
          required: true
          description: Customer UUID
          name: id
          in: path
        - schema:
            type: string
            minLength: 1
            maxLength: 255
            description: >-
              Key that makes this request safe to retry. Reuse the same value
              when retrying a request that may already have succeeded — the
              original response is replayed with an `Idempotency-Replay: true`
              header. Use a new value for a new operation.
            example: 9f8c2b1a-4d3e-4a6b-8c1d-2e3f4a5b6c7d
          required: false
          description: >-
            Key that makes this request safe to retry. Reuse the same value when
            retrying a request that may already have succeeded — the original
            response is replayed with an `Idempotency-Replay: true` header. Use
            a new value for a new operation.
          name: idempotency-key
          in: header
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PropertyValueCreate'
      responses:
        '200':
          description: >-
            Nothing new was stored: the value already exists, or the suggestion
            was suppressed
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: Maximum burst of requests the tier allows per minute
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window after this request
            X-RateLimit-Reset:
              schema:
                type: integer
              description: Seconds until the allowance is fully replenished
            Idempotency-Replay:
              schema:
                type: boolean
              description: >-
                Present and `true` when this response is a replay of an earlier
                request with the same Idempotency-Key
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/PropertyValueWrite'
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: number
                          limit:
                            type: number
                          offset:
                            type: number
                          hasMore:
                            type: boolean
                        required:
                          - limit
                          - offset
                          - hasMore
                required:
                  - data
        '201':
          description: Property value stored
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: Maximum burst of requests the tier allows per minute
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window after this request
            X-RateLimit-Reset:
              schema:
                type: integer
              description: Seconds until the allowance is fully replenished
            Idempotency-Replay:
              schema:
                type: boolean
              description: >-
                Present and `true` when this response is a replay of an earlier
                request with the same Idempotency-Key
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/PropertyValueWrite'
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          total:
                            type: number
                          limit:
                            type: number
                          offset:
                            type: number
                          hasMore:
                            type: boolean
                        required:
                          - limit
                          - offset
                          - hasMore
                required:
                  - data
        '400':
          description: Invalid input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Insufficient permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: >-
            A concurrent write changed this property (error code
            PROPERTY_VALUE_CONFLICT), a property key was taken concurrently
            (error code PROPERTY_KEY_TAKEN), or a request with the same
            Idempotency-Key is still in progress (error code
            IDEMPOTENCY_KEY_IN_FLIGHT)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: >-
            This Idempotency-Key was already used for a different request (error
            code IDEMPOTENCY_KEY_REUSED)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '429':
          description: Rate limit exceeded for the account tier (error code RATE_LIMITED)
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: Maximum burst of requests the tier allows per minute
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window after this request
            X-RateLimit-Reset:
              schema:
                type: integer
              description: Seconds until the allowance is fully replenished
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait before the next request will be accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - bearerAuth: []
components:
  schemas:
    PropertyValueCreate:
      type: object
      properties:
        key:
          type: string
          pattern: ^[a-z][a-z0-9_]{0,62}$
        definitionId:
          type: string
          format: uuid
        value:
          anyOf:
            - type: string
            - type: number
            - type: boolean
            - type: array
              items:
                type: string
        status:
          type: string
          enum:
            - confirmed
            - suggested
        label:
          type: string
          minLength: 1
        valueType:
          type: string
          enum:
            - text
            - number
            - boolean
            - date
            - url
            - select
            - multi_select
        sources:
          type: array
          items:
            type: object
            properties:
              url:
                type: string
              title:
                type:
                  - string
                  - 'null'
            required:
              - url
      required:
        - value
      additionalProperties: false
    PropertyValueWrite:
      allOf:
        - $ref: '#/components/schemas/PropertyValue'
        - type: object
          properties:
            suppressed:
              type: boolean
              description: >-
                True when a suggestion was not stored because the value was
                dismissed or is already confirmed; the returned value is the one
                that suppressed it
          required:
            - suppressed
    ApiError:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
            code:
              type: string
            details: {}
          required:
            - message
            - code
      required:
        - error
    PropertyValue:
      type: object
      properties:
        id:
          type: string
          format: uuid
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        deletedAt:
          type:
            - string
            - 'null'
          format: date-time
        organizationId:
          type: string
          format: uuid
        definitionId:
          type: string
          format: uuid
        valueType:
          type: string
          enum:
            - text
            - number
            - boolean
            - date
            - url
            - select
            - multi_select
        objectType:
          type: string
          enum:
            - contact
            - customer
            - business
        objectId:
          type: string
          format: uuid
        valueText:
          type:
            - string
            - 'null'
        valueNumber:
          type:
            - string
            - 'null'
        valueBoolean:
          type:
            - boolean
            - 'null'
        valueDate:
          type:
            - string
            - 'null'
          format: date
        valueTextList:
          type:
            - array
            - 'null'
          items:
            type: string
        status:
          type: string
          enum:
            - suggested
            - confirmed
            - dismissed
        setByKind:
          type: string
          enum:
            - user
            - agent
            - api
            - automation
            - system
        setByUserId:
          type:
            - string
            - 'null'
          format: uuid
        setByAgentId:
          type:
            - string
            - 'null'
          format: uuid
        sources:
          type: array
          items:
            $ref: '#/components/schemas/PropertyValueSource'
      required:
        - id
        - createdAt
        - updatedAt
        - deletedAt
        - organizationId
        - definitionId
        - valueType
        - objectType
        - objectId
        - valueText
        - valueNumber
        - valueBoolean
        - valueDate
        - valueTextList
        - status
        - setByKind
        - setByUserId
        - setByAgentId
        - sources
    PropertyValueSource:
      type: object
      properties:
        id:
          type: string
          format: uuid
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        deletedAt:
          type:
            - string
            - 'null'
          format: date-time
        organizationId:
          type: string
          format: uuid
        valueId:
          type: string
          format: uuid
        url:
          type: string
        title:
          type:
            - string
            - 'null'
      required:
        - id
        - createdAt
        - updatedAt
        - deletedAt
        - organizationId
        - valueId
        - url
        - title
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key authentication via Bearer token

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.