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

# Save a client

> Save a new (or update an existing) client record



## OpenAPI

````yaml https://dev.hurdlr.com/rest/v1/devUtils/documentation?version=5&Authorization=dexfeE6aRK3zwXP4ku5aWm8w&env=sandbox post /v5/clientMgmt/client
openapi: 3.0.1
info:
  title: Tight API
  contact:
    name: Hurdlr, Inc. (dba Tight)
    url: https://www.tight.com
    email: api@tight.com
  version: 6.0.0
servers:
  - url: https://sandbox.hurdlr.com/rest
    description: Staging Environment
  - url: https://prod.hurdlr.com/rest
    description: Production Environment
security:
  - accessTokenSecurity: []
  - basicSecurity: []
tags:
  - name: Authentication
  - name: Banks
  - name: Business & Client Management
  - name: Invoicing
  - name: Revenue
  - name: Investments
  - name: Payouts
  - name: Bills
  - name: Expenses
  - name: Payroll
  - name: Reports
  - name: Accounting
  - name: Mileage
  - name: Taxes
  - name: Time Tracking
  - name: Imports
  - name: Files
  - name: Accountant
  - name: Audit Trail
  - name: Support
  - name: Tax Engine Express
  - name: Interview Endpoint
  - name: Ledgering
  - name: Configuration
  - name: Templates
paths:
  /v5/clientMgmt/client:
    post:
      tags:
        - Business & Client Management
      summary: Save a client
      description: Save a new (or update an existing) client record
      operationId: postClient
      requestBody:
        description: client object
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/TRAX_POST_BODYClientDTOV5'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FormRetVal'
      security:
        - accessTokenSecurity: []
components:
  schemas:
    TRAX_POST_BODYClientDTOV5:
      properties:
        client:
          $ref: '#/components/schemas/ClientDTOV5'
    FormRetVal:
      type: object
      properties:
        result:
          type: string
          description: The result of the action performed
          enum:
            - SUCCESS
            - FAILURE
        errors:
          $ref: '#/components/schemas/ValidationRetVal'
        id:
          type: string
          description: Id of the entity being acted upon
        webhook:
          $ref: '#/components/schemas/EntityUpdateEvent'
      description: Object containing details about result of the action performed
    ClientDTOV5:
      required:
        - email
        - name
      type: object
      properties:
        id:
          type: integer
          description: Id of this client, required to update an existing client
          format: int64
        businessId:
          type: integer
          description: Id of the business this client belongs to
          format: int64
        name:
          type: string
          description: Name for client
        additionalContactName:
          type: string
          description: Additional contact name for client
        showName:
          $ref: '#/components/schemas/FieldActionBoolean'
        businessName:
          type: string
          description: Business name for client, used for display on invoices
        showBusinessName:
          $ref: '#/components/schemas/FieldActionBoolean'
        status:
          type: string
          description: Status of this client
          enum:
            - ACTIVE
            - INACTIVE
        email:
          type: string
          description: Default email used when your user sends an invoice to this client
          example: devops@hurdlr.com
        showEmail:
          $ref: '#/components/schemas/FieldActionBoolean'
        ccEmails:
          type: array
          description: >-
            List of email addresses to be cc'd by default when your user sends
            an invoice to this client
          items:
            type: string
            description: >-
              List of email addresses to be cc'd by default when your user sends
              an invoice to this client
        bccEmails:
          type: array
          description: >-
            List of email addresses to be bcc'd by default when your user sends
            an invoice to this client
          items:
            type: string
            description: >-
              List of email addresses to be bcc'd by default when your user
              sends an invoice to this client
        invoicePrefix:
          type: string
          description: The prefix used for invoices to this client
          example: INV
        isDefault:
          type: boolean
          description: >-
            Whether or not this client is the default client for the associated
            business
        phoneWork:
          type: string
          description: This client's business phone number
        showPhoneWork:
          $ref: '#/components/schemas/FieldActionBoolean'
        address1:
          type: string
          description: First line of this client's address
        address2:
          type: string
          description: Second line of this client's address
        city:
          type: string
          description: City of this client's address
        state:
          type: string
          description: State/Province of this client's address
        zip:
          type: string
          description: Zip/Postal code of this client's address
        showAddress:
          $ref: '#/components/schemas/FieldActionBoolean'
    ValidationRetVal:
      type: object
      properties:
        fieldErrors:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ValidationError'
          description: Map of field-level errors, often originating from validation errors
        globalErrors:
          type: array
          description: List of higher-level errors
          items:
            $ref: '#/components/schemas/ValidationError'
      description: Error object containing details errors incurred, if any
    EntityUpdateEvent:
      type: object
      properties:
        userId:
          type: string
        accountantUserId:
          type: string
        type:
          type: string
          enum:
            - ENTITY_UPDATE
            - LIFECYCLE_EVENT
            - LIFECYCLE
    FieldActionBoolean:
      type: object
      description: Whether this client's address is displayed on invoices
    ValidationError:
      type: object
      properties:
        type:
          type: string
          description: A broad categorization of the error
          enum:
            - DUPLICATE
            - REQUIRED
            - DELETE
            - INVALID_VALUE
            - NOT_MODIFIABLE
            - GENERAL
            - INVALID_FORMAT
        errorMessage:
          type: string
          description: Human-friendly message describing this error
        message:
          type: string
          writeOnly: true
          enum:
            - DUPLICATE
            - REQUIRED
            - DELETE
            - INVALID_VALUE
            - NOT_MODIFIABLE
            - GENERAL
            - INVALID_FORMAT
            - INVALID_MAPPING
      description: List of higher-level errors
  securitySchemes:
    accessTokenSecurity:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: /auth/account
          scopes:
            write: ''

````