Skip to content

python - v0.31.1 - 2026-03-18 23:39:35

Choose a tag to compare

@github-actions github-actions released this 18 Mar 23:39
745e4a9

Python SDK v0.31.1 Changelog

Release Date: March 2026

apideck-unify 0.31.1 on PyPI


What's New

This release updates the JournalEntryLineItem.type field to be nullable across the Journal Entries API, aligning the SDK with the actual API behavior where this field may be absent. It also adds bank_account support to the Accounting Employees API, allowing you to retrieve and set banking details for employees.


Summary of Changes

Category Description Action Required
⚠️ Breaking journal_entries.list() / journal_entries.get(): line_items[].type changed from required enum to Optional Update code that assumes .type is always present
⚠️ Breaking journal_entries.create() / journal_entries.update(): line_items[].type input field is now Optional No action if you were already omitting it
New field bank_account added to Accounting Employee responses and request inputs None — new optional field

Detailed Changes by API

Accounting — Journal Entries

line_items[].type is now Optional (Breaking)

What changed: The type field on JournalEntryLineItem has changed from a required non-nullable enum to Optional[JournalEntryLineItemType]. This affects responses from journal_entries.list() and journal_entries.get(), and input objects for journal_entries.create() and journal_entries.update().

Impact: If your code accesses .type directly without a null check, it may raise an AttributeError at runtime when the field is absent.

# Before — unsafe
for item in entry.line_items:
    print(item.type.value)  # may raise AttributeError

# After — safe
for item in entry.line_items:
    if item.type is not None:
        print(item.type.value)

Accounting — Employees

bank_account field added

What changed: A new bank_account field is available on AccountingEmployee objects returned by employees.list() and employees.get(). You can also supply it when creating or updating employees.

Impact: None — new optional field, existing code continues to work.

employee = apideck.accounting.employees.get(id="12345").data
if employee.bank_account:
    print(employee.bank_account.account_number)

Migration Checklist

  • Update dependency: uv add apideck-unify==0.31.1
  • Search your codebase for .type access on JournalEntryLineItem objects
  • Add null guards where line_items[].type is accessed
  • Run your test suite