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

# Update tag dimension by key

> Updates a specific tag dimension by its key string. All fields are optional.



## OpenAPI

````yaml patch /v1/businesses/{businessId}/tags/dimensions/key/{dimensionKey}
openapi: 3.0.1
info:
  title: API
  version: latest
servers: []
security:
  - BearerAuth: []
tags: []
externalDocs:
  url: /
paths:
  /v1/businesses/{businessId}/tags/dimensions/key/{dimensionKey}:
    patch:
      tags: []
      summary: Update tag dimension by key
      description: >-
        Updates a specific tag dimension by its key string. All fields are
        optional.
      operationId: business.tags.dimensions.key.patch
      parameters:
        - name: businessId
          in: path
          description: The UUID of the business.
          required: true
          schema:
            type: string
            format: uuid
        - name: dimensionKey
          in: path
          description: The key string of the tag dimension to update.
          required: true
          schema:
            type: string
        - name: Content-Type
          in: header
          description: Content-Type must be set to application/json.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TagDimensionPatchParams'
      responses:
        '200':
          description: Tag dimension updated successfully.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ApiTagDimension'
                required:
                  - data
        '400':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: Business or tag dimension not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      deprecated: false
components:
  schemas:
    TagDimensionPatchParams:
      type: object
      properties:
        key:
          type: string
          description: The tag dimension key.
        display_name:
          type: string
          nullable: true
          description: >-
            Display name for the tag dimension. Layer shows this as the filter
            label and the column header when the dimension splits a report.
        strictness:
          $ref: '#/components/schemas/TagStrictness'
        user_visible:
          type: boolean
          default: false
          description: >-
            Whether Layer's embedded components show this dimension to end
            users. Set this to `true` for a dimension that users tag with and
            filter reports by. The default of `false` keeps the dimension
            available for tagging and API-level filtering, but hides it in the
            UI.
      description: Parameters for updating a tag dimension. All fields are optional.
    ApiTagDimension:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the tag dimension.
        key:
          type: string
          description: The tag dimension key.
        strictness:
          $ref: '#/components/schemas/TagStrictness'
        display_name:
          type: string
          nullable: true
          description: Display name for the tag dimension.
        defined_values:
          type: array
          items:
            $ref: '#/components/schemas/ApiTagValueDefinition'
          description: Predefined values for this tag dimension.
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        deleted_at:
          type: string
          format: date-time
          nullable: true
        user_visible:
          type: boolean
          default: false
          description: >-
            Whether Layer's embedded components show this dimension to end
            users.
      required:
        - id
        - key
        - strictness
        - defined_values
        - created_at
        - updated_at
        - user_visible
    ApiError:
      type: object
      description: An error object returned in API error responses.
      properties:
        type:
          $ref: '#/components/schemas/ApiErrorType'
          description: >-
            A fixed category for the error, helpful for categorizing and
            processing errors.
        description:
          type: string
          description: A human-readable error description.
        error_enum:
          $ref: '#/components/schemas/ApiEnumErrorType'
          description: >-
            A stable, machine-readable identifier for programmatically handling
            specific error conditions. Only present for 4xx client errors—not
            included for 5xx server errors. Use this instead of parsing the
            description field, as enum values remain stable across API versions.
          nullable: true
        meta:
          type: object
          description: Optional additional information about the error.
          nullable: true
      required:
        - type
        - description
    TagStrictness:
      type: string
      enum:
        - BALANCING
        - NON_BALANCING
      description: >-
        Tag strictness level - BALANCING requires tags to be applied to whole
        journal entries that balance, NON_BALANCING has no such restriction and
        can therefore be applied to individual line items of entries, invoices,
        etc.
      example: NON_BALANCING
    ApiTagValueDefinition:
      type: object
      properties:
        type:
          type: string
          description: Resource type. Value will be `TagValue`.
          example: TagValue
        id:
          type: string
          format: uuid
          description: Unique identifier for the tag value definition.
        key:
          type: string
          description: The tag dimension key.
        value:
          type: string
          description: The tag value.
        display_name:
          type: string
          nullable: true
          description: Optional display name for the tag value definition.
        archived_at:
          type: string
          format: date-time
          nullable: true
          description: Timestamp when the tag value definition was archived.
      required:
        - id
        - key
        - value
    ApiErrorType:
      type: string
      enum:
        - ResourceArchived
        - AuthFailure
        - Plaid
        - Stripe
        - InvalidState
        - ResourceNotFound
        - InvalidParameters
        - JsonSerialization
        - Unknown
        - BadRequest
        - PaginationCursor
        - Conflict
        - LedgerOperationFailed
      example: InvalidParameters
    ApiEnumErrorType:
      type: string
      description: >-
        Stable enum values for programmatic error handling. Only present in 4xx
        error responses.
      enum:
        - AccessCodeInvalid
        - BalanceSheetDoesNotBalance
        - BalanceSheetMissingAccount
        - BankStatementParserError
        - BillStateError
        - BulkCategorizeFailure
        - BulkMatchFailure
        - BusinessTaskAlreadyCompleted
        - BusinessTaskDeleted
        - CalendlyOAuthError
        - CallBookingError
        - CantUpdateTransactionInCustomerPayout
        - CantUpdateTransactionInVendorPayout
        - CheckPayrollConfigNotFound
        - CheckPayrollServiceNotFound
        - ClerkUserAlreadyExists
        - ConflictingQueryParams
        - CustomAccountAlreadyExists
        - CustomTransactionCsvParsingError
        - CustomTransactionUploadFailure
        - CustomerPayoutInputFormatError
        - DoesNotMatchExistingEntity
        - EmptyBatchRequest
        - ExpenseParserError
        - ExternalAccountBalanceReconciliationError
        - ExternalIdConflict
        - InvalidCategory
        - InvalidEffectiveDate
        - InvalidLedgerOperation
        - InvalidMonthlyAverageRange
        - InvalidMultiPartRequest
        - InvalidPaginationCursor
        - InvalidPayload
        - InvoiceDeleted
        - InvoiceNotFound
        - InvoiceReferenceMismatch
        - InvoiceStateError
        - ManualRateLimit
        - MultipleTagKeyFiltersUnsupported
        - NoCognitoUserFound
        - NoOpeningBalanceFound
        - NotYetReconciled
        - OnePasswordApiError
        - OnePasswordItemNotFound
        - OnePasswordVaultNotFound
        - OpenAICategorizationError
        - PaymentLinkInvalid
        - PayrollStateError
        - PeriodIsClosed
        - PeriodNotClosed
        - PhoneNumberAlreadyRegistered
        - PlaidApiError
        - PlaidConnectionBroken
        - PlaidCreateLinkTokenError
        - PlaidCredentialsNotConfigured
        - PlaidExchangePublicTokenError
        - PlaidGetInstitutionByIdError
        - PlaidGetItemError
        - PlaidInvalidEnvironment
        - PlaidItemAlreadyExists
        - PlaidItemNotFound
        - PlaidProcessorApiError
        - PlaidUnlinkItemError
        - QueryParamFormat
        - QueryParamMissing
        - QuickbooksBrokenConnection
        - QuickbooksConnectionAlreadyExists
        - QuickbooksConnectionAlreadySyncing
        - QuickbooksConnectionMissing
        - QuickbooksConnectionNotActivated
        - QuickbooksInvalidRequest
        - QuickbooksInvalidState
        - QuickbooksNoMatchingAccount
        - QuickbooksNonPostingAccountType
        - QuickbooksNotConfigured
        - QuickbooksOAuthCallbackInvalid
        - QuickbooksOAuthError
        - QuickbooksTokenExpired
        - ResourceArchived
        - ScheduleCNotConfigured
        - SmsNotEnabled
        - SpecifiedBadRequest
        - SpecifiedIdNotFound
        - SplitTransactionError
        - StepEvaluationBadRequest
        - StripeConnectAccountIdNotFound
        - StripeCredentialsNotConfigured
        - StripeGetBalanceForConnectAccountFailure
        - StripeRedirectOrRefreshUrlNotConfigured
        - TagFilterNotFound
        - UnexpectedQueryParam
        - UnitAccountsInUse
        - WrongAnswerType
      example: InvalidPayload
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````