Skip to main content

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.