Apideck · Schema

ExpenseCategory

IntegrationsUnified API

Properties

Name Type Description
id object
display_id object
name string The name of the expense category.
code string The code or external identifier of the expense category.
description string The description of the expense category.
status string The status of the expense category.
account object
offset_account object
tax_rate object
rate_required boolean Whether the expense category requires rate/quantity entry (e.g. mileage at $/mile).
default_rate number Default rate when rate_required is true (e.g. 0.67 for mileage).
custom_mappings object
downstream_id object
row_version object
updated_by object
created_by object
updated_at object
created_at object
pass_through object
View JSON Schema on GitHub

JSON Schema

apideck-expensecategory-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/ExpenseCategory",
  "title": "ExpenseCategory",
  "type": "object",
  "x-apideck-schema-id": "ExpenseCategory",
  "additionalProperties": false,
  "x-apideck-weights": {
    "id": "critical",
    "display_id": "medium",
    "name": "critical",
    "code": "medium",
    "description": "high",
    "status": "critical",
    "account": "critical",
    "offset_account": "edge-case",
    "tax_rate": "medium",
    "rate_required": "low",
    "default_rate": "low",
    "custom_mappings": "low",
    "downstream_id": "low",
    "row_version": "low",
    "updated_by": "edge-case",
    "created_by": "edge-case",
    "updated_at": "medium",
    "created_at": "medium",
    "pass_through": "low"
  },
  "required": [
    "name"
  ],
  "x-apideck-strict-required": [
    "id",
    "name",
    "status"
  ],
  "properties": {
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "display_id": {
      "$ref": "#/components/schemas/DisplayId"
    },
    "name": {
      "type": "string",
      "title": "Name",
      "description": "The name of the expense category.",
      "example": "Travel"
    },
    "code": {
      "type": "string",
      "title": "Code",
      "description": "The code or external identifier of the expense category.",
      "example": "TRAVEL-001",
      "nullable": true
    },
    "description": {
      "type": "string",
      "title": "Description",
      "description": "The description of the expense category.",
      "example": "Travel-related expenses including flights, hotels, and ground transportation.",
      "nullable": true
    },
    "status": {
      "type": "string",
      "title": "Status",
      "description": "The status of the expense category.",
      "x-apideck-enum-id": "expense_categories.status",
      "enum": [
        "active",
        "inactive"
      ],
      "example": "active",
      "nullable": true
    },
    "account": {
      "$ref": "#/components/schemas/LinkedLedgerAccount"
    },
    "offset_account": {
      "$ref": "#/components/schemas/LinkedLedgerAccount"
    },
    "tax_rate": {
      "$ref": "#/components/schemas/LinkedTaxRate"
    },
    "rate_required": {
      "type": "boolean",
      "title": "Rate Required",
      "description": "Whether the expense category requires rate/quantity entry (e.g. mileage at $/mile).",
      "example": false,
      "nullable": true
    },
    "default_rate": {
      "type": "number",
      "title": "Default Rate",
      "description": "Default rate when rate_required is true (e.g. 0.67 for mileage).",
      "example": 0.67,
      "nullable": true
    },
    "custom_mappings": {
      "$ref": "#/components/schemas/CustomMappings"
    },
    "downstream_id": {
      "$ref": "#/components/schemas/DownstreamId"
    },
    "row_version": {
      "$ref": "#/components/schemas/RowVersion"
    },
    "updated_by": {
      "$ref": "#/components/schemas/UpdatedBy"
    },
    "created_by": {
      "$ref": "#/components/schemas/CreatedBy"
    },
    "updated_at": {
      "$ref": "#/components/schemas/UpdatedAt"
    },
    "created_at": {
      "$ref": "#/components/schemas/CreatedAt"
    },
    "pass_through": {
      "$ref": "#/components/schemas/PassThroughBody"
    }
  }
}