Classes

Class is a flexible dimension that can be defined in a company and used to track just about anything. You can rename the class dimension and add custom fields if needed, and then select a class and provide values for the fields in applicable transactions. You can use the data to create custom reports that provide important business insights.

Note that renaming the class dimension in the UI does not change the name of this object in the API. You still use class in API requests.

List classes

get/objects/company-config/class

Returns up to 100 object references from the collection with a key, ID, and link for each object. This operation is mostly for use in testing; use the query service to find objects that meet certain criteria and specify the properties that are returned.

SecurityOAuth2
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": [
    • {
      • "key": "1",
      • "id": "Class_1",
      • "href": "/objects/company-config/class/1"
      },
    • {
      • "key": "2",
      • "id": "Class_2",
      • "href": "/objects/company-config/class/2"
      }
    ],
  • "ia::meta": {
    • "totalCount": 2,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}

Create a class

post/objects/company-config/class

Creates a new class. You can think of this as adding a new value to the dimension that you can use to tag transactions for reporting.

SecurityOAuth2
Request
Request Body schema: application/json
required

Class object to create

id
required
string

Unique ID for the class.

Example: "1-Goods"
name
required
string

Name of the class.

Example: "Goods"
description
string

Description of the class.

Example: "Goods available for donations"
status
string
Default: "active"

Status of the dimension object:

  • active - Transactions can be posted to this dimension member and it can be used in reports.
  • activeNonPosting - Transactions cannot be posted to the dimension member but it can be used in reports.
  • inactive - The dimension member cannot be used for transactions or reports.
Enum: "active" "activeNonPosting" "inactive"
Example: "active"
object

Parent class, for class hierarchies.

id
string

Parent class ID.

Example: "23-Donations"
key
string

Parent class key.

Example: "4"
Responses
201

Created

400

Bad Request

Request samples
application/json
{
  • "id": "SW",
  • "name": "Software",
  • "description": "All software titles",
  • "status": "active"
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "1",
    • "id": "SW",
    • "href": "/objects/company-config/class/1"
    },
  • "ia::meta": {
    • "totalCount": 1
    }
}

Get a class

get/objects/company-config/class/{key}

Returns detailed information for a specified class.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the class.

Example: 43
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "key": "2",
    • "id": "SS",
    • "name": "Software & Services",
    • "description": "Software & Services",
    • "status": "active",
    • "parent": {
      • "key": "1",
      • "id": "3",
      • "name": "Heath Care",
      • "href": "/objects/company-config/class/1"
      },
    • "audit": {
      • "createdDateTime": "2024-06-28T18:11:36Z",
      • "modifiedDateTime": "2024-06-28T18:11:36Z",
      • "createdByUser": {
        },
      • "createdBy": "1",
      • "modifiedByUser": {
        },
      • "modifiedBy": "1"
      },
    • "locationKey": null,
    • "entity": {
      • "key": null,
      • "id": null,
      • "name": null
      },
    • "href": "/objects/company-config/class/2"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a class

patch/objects/company-config/class/{key}

Updates an existing class by setting field values. Any fields not provided remain unchanged.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the class.

Example: 43
Request Body schema: application/json
name
string

Name of the class.

Example: "Goods"
description
string

Description of the class.

Example: "Goods available for donations"
status
string
Default: "active"

Status of the dimension object:

  • active - Transactions can be posted to this dimension member and it can be used in reports.
  • activeNonPosting - Transactions cannot be posted to the dimension member but it can be used in reports.
  • inactive - The dimension member cannot be used for transactions or reports.
Enum: "active" "activeNonPosting" "inactive"
Example: "active"
object

Parent class, for class hierarchies.

id
string

Parent class ID.

Example: "23-Donations"
key
string

Parent class key.

Example: "4"
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "name": "Root one"
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "1",
    • "id": "Class1",
    • "href": "/objects/company-config/class/1"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Delete a class

delete/objects/company-config/class/{key}

Deletes a class. You can delete a class if it is not being used or referenced. Deleted classes cannot be recovered.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the class.

Example: 43
Responses
204

No Content

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "ia::error": {
      • "code": "invalidRequest",
      • "message": "A POST request requires a payload",
      • "errorId": "REST-1028",
      • "additionalInfo": {
        },
      • "supportId": "Kxi78%7EZuyXBDEGVHD2UmO1phYXDQAAAAo"
      }
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 0,
    • "totalError": 1
    }
}