---
title: "Update classification"
method: PATCH
path: "/accounting/v2beta/gl-classifications/{id}"
tags: ["GL Classifications"]
---

# Update classification

`PATCH /accounting/v2beta/gl-classifications/{id}`

## Request

- Base URL: `https://api.atlar.com`
- URL: `https://api.atlar.com/accounting/v2beta/gl-classifications/{id}`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/atlar/apis/atlar-api-v2/docs/accounting/v2beta/gl-classifications/:id/patch.ts> (a function with typed inputs; its response is checked against the schema)

Update a GL classification using JSON Patch. The name, GL entities and inactive state can be changed. Retire a
value that is no longer available in your ERP by setting `inactive` to true, as classifications cannot be
deleted. Values that Atlar syncs from a connected ERP may be overwritten by that sync.

## Path parameters

- `id` string, required

## Headers

- `If-Match` string

## Request body

- union[]: JSON Patch for GL classifications. Send `If-Match` with the classification etag. Supported paths: `/name`, `/glEntityIds` (empty array = all GL entities; same authorization constraints as create), and `/inactive` to retire a value. Classifications cannot be deleted.
  - union
    - GLClassificationJSONPatchReplaceName: Set the name of the GL classification.
      - `op` 'replace', required
      - `path` '/name', required
      - `value` string, required
    - GLClassificationJSONPatchReplaceGlEntityIds: Replace `/glEntityIds`. An empty array applies the value organization-wide; principals restricted to specific GL entities cannot set an empty list.
      - `op` 'replace', required
      - `path` '/glEntityIds', required
      - `value` string[], required
    - GLClassificationJSONPatchReplaceInactive: Replace `/inactive` to mark the ERP value retired without deleting the Atlar row.
      - `op` 'replace', required
      - `path` '/inactive', required
      - `value` boolean, required

## Response `200`

The updated GL classification.

- GLClassification: A selectable ERP dimension value used to tag journal lines — classes, departments, locations, and custom segments. Reference classifications by Atlar `id` on document `glEntries[].glClassificationIds`, creation templates, and reconciliation rules. Upsert identity in your ERP is (`type.type`, `thirdPartyId`, `vendorValueId`); use `:find` with that key, then create or patch. Reconciliation match create may reject lines when GL classification policies are violated (`gl_classification_policy_violation`). Classifications are not deletable. Rows imported by a connected ERP may be updated by the next sync.
  - `id` string, required: Unique resource identifier.
  - `organizationId` string, required: Unique resource identifier for an Organization.
  - `thirdPartyId` string: ID of the third party (ERP) the classification originates from. Omitted if the integration has no third party.
  - `vendorValueId` string, required: ID of the classification value in the ERP.
  - `type` GLClassificationType, required: Describes the parent type that a GL classification value belongs to.
    - `type` string, required: Identifies the kind of ERP-specific classification. This is a free string, stored as the ERP reports it: - NetSuite built-in classifications are `CLASS`, `DEPARTMENT` and `LOCATION`. - NetSuite custom segments use the raw field key, for example `cseg_region`. - Business Central uses the dimension code.
    - `name` string, required: Human-readable name of the classification type, as shown in the ERP.
    - `fieldKey` string, required: The ERP-side field name to populate when this classification value is applied to a document or transaction line. For NetSuite, this is the field's scriptid: `class`, `department`, `location`, or `cseg_<segment>` for custom segments.
  - `name` string, required: Human-readable name of the classification value, as shown in the ERP.
  - `glEntityIds` string[]: GL entity ids this value may be used with. Empty means all GL entities in the organization (restricted principals cannot create or widen to org-wide scope).
  - `inactive` boolean, required: Whether the value is inactive in the ERP. Inactive classifications remain addressable by id; retire obsolete values with `inactive` true instead of deleting.
  - `version` integer, required: Resource version. Starts at value `1` when the resource is created and increases by one for each successive update.
  - `etag` string, required: [ETag](https://en.wikipedia.org/wiki/HTTP_ETag) based on the resource version. This can be passed along in `If-Match` HTTP header when updating a resource to perform a conditional update.
  - `created` string, date-time, required: Time at which the resource was created.
  - `updated` string, date-time, required: Time at which the resource was last updated.

## Other responses

- `400`: Bad request.
- `404`: Resource not found.

## Changes

- **2026-11-03** `b49df1e4b3e9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/atlar/apis/atlar-api-v2/changes/accounting/v2beta/gl-classifications/:id/patch.md)

---

[API](https://skmtc.dev/atlar/apis/atlar-api-v2.md) - [All operations](https://skmtc.dev/atlar/apis/atlar-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/atlar/apis/atlar-api-v2/revisions/b49df1e4b3e9?raw)
