Reference overview
Field-by-field reference for the SDK objects you'll touch in a connector.
For the complete field list of any request or response, the Customer API reference is the source of truth: the SDK objects mirror those endpoints field-for-field. These pages are the developer-focused view: what each object is, the methods you'll call, and a small runnable example for each.
The basics
- JobContext: the
contextargument every connector receives. Gives youapi,logger,secrets,config,job_params,customer_number,work_dir. - Logging:
context.logger.info/warn/error/debug.
Read/write patterns: BaseLoad
Every master-data entity (Supplier, Organization, purchase orders, users, etc.) has a Load class that gives you a uniform way to list, search, create, update and delete records. The patterns are the same across every object: read this once and the per-object pages just show you the highlights.
- BaseLoad:
.get_all(),.search(),.new(),.save_all(full_load=False, all_or_none=False, source_system=None),.patch_all([...]),.delete_keys([...]),obj.save(),obj.deactivate(),obj.delete().
Per-object pages
- SupplierLoad: supplier + locations + addresses + bank accounts.
- OrganizationLoad: organization units + identifiers + addresses.
- PurchaseOrderLoad + PurchaseOrderLineLoad.
- ReceiptLoad.
- CustomerDataTableLoad: dynamic customer-defined tables.
- InvoiceLoad: the consumer side: claim →
acknowledge → integration_result, with a lease per claimed invoice. Read-only access to template-driven
invoice fields. For ingesting invoices INTO Nuntiq see
IngestionLoadbelow. - PaymentLoad: upsert payments with line-level invoice applications.
- FxRateLoad: the customer's own exchange rates.
- IngestionLoad: push invoices INTO Nuntiq. Wraps the file-upload + structured-invoice-import flow into one ergonomic builder.
- LifecycleMessageLoad: read and write the timeline of events on an invoice (ERP success, rejection, payment, approval revoked, etc.).
- UserLoad: manage human and service-account users
in the customer's tenant. The standard Load methods plus a bulk
deactivate_inactive()helper. No connector entrypoint may read or write users yet.
Special-purpose helpers
- delta_run() context manager: incremental "where did I leave off" cursor for connectors that poll an external system.
Things to remember
save_all()sends full records. A field you leave out gets its default; a child list you send replaces your own children. To change a few fields, usepatch_all().save_all(full_load=True)is a sync run. It removes this source system's records that the run did not send, and nothing when a record was rejected. Only use it with the complete list. For incremental updates, leavefull_load=False(the default).- One result per record. Rejected records do not stop the others;
RecordsRejectedis raised after everything was sent and lists them. - Your connector owns its own records. Records of another source system, or made in the portal, are refused and never removed (unless the connector instance is the system of record).
InvoiceLoaddoesn't follow the standard CRUD pattern. Invoices are produced by the Nuntiq platform, not created by connectors:claim()→get_by_token()→acknowledge()→integration_result()is a different shape. See its page.- Validation runs at
save_all()time, not at field assignment. You can build up a half-finished entity and discard it if you change your mind.