Review and reject a bank package
When a customer submits a bank package and your bank decides one or more components don't pass review, you reject the package with a customer-facing reason. Doing so flags the organization not-ajour and starts a flow that chases the customer for a resubmission.
All steps require a JWT — get one from the homepage first.
1. Find packages awaiting review
List the most recently published bank reports for your bank.
query awaitingReview {
bankReports(order: [{ publishedTime: DESC }], first: 20) {
totalCount
nodes {
id
publishedTime
isRejected
}
}
}
bankReports excludes cancelled and soft-deleted reports automatically. The result includes packages already rejected by your bank as well as freshly published ones — see the bank-packages concept for the lifecycle.
2. Inspect the package
bankReportById returns a list ([bankReport!]!), usually with one element. Pull the package's contents — typically the organization and any components you care about — to make a decision.
query inspectBankPackage($id: UUID!) {
bankReportById(id: $id) {
id
publishedTime
type
isRejected
organization {
id
name
vatNumber
}
isStatutesRequired
statute {
state
}
}
}
For the full list of fields available on bankReport (statutes, board, attorneys, business volume, …), browse the live schema in /graphql and project only the components you need.
3. Reject the package
Pick exactly which components fail and supply a customer-facing reason. The reason text is what the customer reads — write it as if speaking to them directly. The payload wraps the rejected package in an inner rejectBankPackagePayload.
mutation rejectBankPackage($input: RejectBankPackageByIdInput!) {
rejectBankPackageById(input: $input) {
rejectBankPackagePayload {
rejectedBankPackage {
id
isRejected
}
}
}
}
Toggling sendNotificationToAllBoardMembers: true notifies every board member rather than only the contact person — useful when the issue affects authorization or board composition.
If you also want to reject the board composition, supply the board object:
{
"board": {
"rejectBoardMembers": true,
"expectedNumberOfBoardMembers": 3
}
}
After rejection, the organization is flagged not-ajour and a new chase flow starts automatically. If the customer has reached out and you've agreed to delay the chase, pause the not-ajour flow until an agreed restart date.