Import managed accounts from a file, and see where each claim stands
Three new operations create managed accounts in bulk from a spreadsheet: download the template, preview what would happen, then apply. The account resource also tells you whether its claim link is still usable.
Three new operations create managed accounts in bulk from a spreadsheet: download the template, preview what would happen, then apply. The account resource also tells you whether its claim link is still usable.
What else changed
- Download the template with
GET /v1/templates/account-importand fill it in. The import accepts the sheet as it comes. - Preview before committing with
POST /v1/accounts/imports/preview: it reports, row by row, what would be created and what would be rejected, without creating anything. Each rejection says what is wrong with that row rather than failing the whole file. - Apply with
POST /v1/accounts/imports. - The account resource now carries
claim, with the state of its claim link and when it expires. The top-levelstatuscould tell you an account was provisioned but not whether the holder still had a working link or whether it expired weeks ago — which is the difference between waiting and having to act.
Endpoints
- GET/v1/templates/account-importDownload the import template
- POST/v1/accounts/imports/previewPreview an import without creating anything
- POST/v1/accounts/importsImport managed accounts from a file
Tax breakdowns, series numbering and recurring schedules say what they mean
Breakdowns travel complete and their bases add up to the invoice base. Series publish the number they will actually assign next. Recurring invoices declare `frequency` in the request. A submission that was never sent is now `NOT_SUBMITTED` rather than absent.
Semantic rejections answer 422 and name the rule they broke
A body that parses but breaks a rule now answers `422` with a code and populated `details`, instead of `400` with an empty `details` object. `400` is left for what is wrong with the request target.