The partner initiates a credit limit increase on an existing card engagement with a single request. As the application moves through document collection, review, signing and the final decision, Nordiska emits webhook events that mirror those state changes. The partner collects supporting documents from the customer and uploads them via the API. Signing is hosted by Nordiska; the partner only needs to forward the customer to the signingUrl that arrives on the webhook.
Recommended reapplication cooldown: 90 days. Nordiska does not enforce this in code, but we recommend the partner prevents a customer from submitting a new credit limit increase application within 90 days of a previous decision, regardless of whether the previous application was approved or rejected.
Initiate Credit Limit Increase
POST /api/engagements/card/{engagement-id}/credit-limit-increase
Request body
{
"appliedAmount": {
"amount": 1500000,
"currency": "EUR",
"unit": "MINOR"
},
"reason": {
"reasonType": "LARGER_PLANNED_PURCHASES"
},
"monthlyIncome": {
"amount": 450000,
"currency": "EUR",
"unit": "MINOR"
},
"employmentType": "PERMANENT",
"redirectUrls": {
"successUrl": "https://partner.example.com/credit-limit-increase/success",
"failUrl": "https://partner.example.com/credit-limit-increase/fail"
}
}
| Field | Required | Description |
|---|
appliedAmount | Yes | The new requested credit limit. |
reason | Yes | Customer-selected reason for requesting the increase. See Reason. |
monthlyIncome | Yes | The customer’s claimed net monthly income. |
employmentType | Yes | Customer’s current employment situation. See EmploymentType. |
redirectUrls | Yes | URLs the customer is sent back to after the hosted signing flow finishes or is aborted. |
Reason
reason is a tagged object discriminated by reasonType. Exactly one value must be provided.
reasonType | Extra fields | Meaning |
|---|
CURRENT_LIMIT_DOES_NOT_COVER_EVERYDAY_NEEDS | — | Existing limit is insufficient for the customer’s everyday spending. |
LARGER_PLANNED_PURCHASES | — | Customer plans specific larger purchases. |
INCREASED_NEED_FOR_FINANCIAL_FLEXIBILITY | — | Customer wants more general headroom. |
TEMPORARILY_HIGHER_OR_CHANGED_EXPENSES | — | Customer is going through a period of higher or changed expenses. |
OTHER | description (string) | Free-text reason supplied by the customer. |
Example with OTHER:
{
"reason": {
"reasonType": "OTHER",
"description": "Moving abroad and need higher monthly headroom"
}
}
EmploymentType
| Value | Meaning |
|---|
PERMANENT | Permanent employment. |
SOLE_PROPRIETOR | Self-employed sole proprietor. |
RETIRED | Retired. |
STUDENT | Student. |
HOMEMAKER | Homemaker. |
OTHER | Anything that does not fit. |
Response 200 OK
{
"id": "f4b5d83f-2eaa-4db3-9a1d-0a9f8a55cd11",
"status": "PROCESSING",
"createdAt": "2026-05-12T08:13:21.482Z"
}
The application always starts in PROCESSING. Subsequent status changes are pushed via webhooks.
Upload Supporting Documents
When the CREDIT_LIMIT_INCREASE_DOCUMENTS_REQUIRED webhook fires, the customer must supply supporting documents (e.g. payslips or bank statements). The partner uploads them as multipart/form-data. Up to 5 files can be sent in a single request, and the endpoint can be called multiple times until all required documents have been provided.
POST /api/engagements/card/credit-limit-increase/{credit-limit-increase-id}/documents
Content-Type: multipart/form-data
| Part | Required | Description |
|---|
documents | Yes | One or more files (repeat the part per file). Up to 5 files per request, each ≤10 MB, ≤50 MB combined. Content type must be application/pdf or image/*. |
Returns 200 OK on success.
Get Credit Limit Increase
Fetch the current state of a credit limit increase application.
GET /api/engagements/card/credit-limit-increase/{credit-limit-increase-id}
Response 200 OK
{
"id": "f4b5d83f-2eaa-4db3-9a1d-0a9f8a55cd11",
"engagementId": "8e3a2c1d-7b9f-4a52-9c01-2e8f6a91bd33",
"appliedAmount": {
"amount": 1500000,
"currency": "EUR",
"unit": "MINOR"
},
"status": "AWAITING_SIGNING",
"additionalInformation": {
"signingUrl": "https://sign.nordiska.com/?sessionId=1fa6ef79-16e7-4665-ae78-c885e65e372b"
},
"createdAt": "2026-05-12T08:13:21.482Z",
"updatedAt": "2026-05-12T09:02:55.117Z"
}
additionalInformation is present only in terminal or actionable states and carries the same payload as the corresponding webhook:
| Status | additionalInformation shape |
|---|
AWAITING_SIGNING | { "signingUrl": "..." } |
REJECTED | { "rejectReason": "..." } |
FAILED | { "failureCode": "..." } |
| other | omitted |
Credit Limit Increase Status
The application moves through the following statuses:
| Status | Final | Description |
|---|
PROCESSING | | Application created and submitted for evaluation. Initial state of every application. |
AWAITING_DOCUMENTS | | Supporting documents are required from the customer (e.g. payslips or bank statements). |
AWAITING_DOCUMENT_REVIEW | | Documents have been received and are being reviewed manually by Nordiska. |
AWAITING_SIGNING | | A new credit agreement has been generated and the customer needs to sign it via a hosted URL. |
COMPLETED | ✓ | The new credit limit has been activated. |
REJECTED | ✓ | The application was rejected. |
FAILED | ✓ | The application could not be processed due to an error. See failureCode. |
State diagram
The grey boxes show the webhook emitted on each transition.
Webhook Events
One webhook is emitted per status change. Every payload carries creditLimitIncreaseId.
CREDIT_LIMIT_INCREASE_DOCUMENTS_REQUIRED
The customer needs to upload supporting documents (payslips for employed customers, bank statements supporting the claimed income).
{
"eventType": "CREDIT_LIMIT_INCREASE_DOCUMENTS_REQUIRED",
"creditLimitIncreaseId": "f4b5d83f-2eaa-4db3-9a1d-0a9f8a55cd11"
}
CREDIT_LIMIT_INCREASE_DOCUMENT_REVIEW_STARTED
Documents have been received and are under review. No customer action required.
{
"eventType": "CREDIT_LIMIT_INCREASE_DOCUMENT_REVIEW_STARTED",
"creditLimitIncreaseId": "f4b5d83f-2eaa-4db3-9a1d-0a9f8a55cd11"
}
CREDIT_LIMIT_INCREASE_SIGNING_SESSION_CREATED
The customer must be redirected to signingUrl to sign the new credit agreement.
{
"eventType": "CREDIT_LIMIT_INCREASE_SIGNING_SESSION_CREATED",
"creditLimitIncreaseId": "f4b5d83f-2eaa-4db3-9a1d-0a9f8a55cd11",
"signingUrl": "https://sign.nordiska.com/?sessionId=1fa6ef79-16e7-4665-ae78-c885e65e372b"
}
CREDIT_LIMIT_INCREASE_COMPLETED
The new credit limit is active on the engagement.
{
"eventType": "CREDIT_LIMIT_INCREASE_COMPLETED",
"creditLimitIncreaseId": "f4b5d83f-2eaa-4db3-9a1d-0a9f8a55cd11"
}
CREDIT_LIMIT_INCREASE_REJECTED
The application was rejected.
{
"eventType": "CREDIT_LIMIT_INCREASE_REJECTED",
"creditLimitIncreaseId": "f4b5d83f-2eaa-4db3-9a1d-0a9f8a55cd11",
"rejectReason": "CREDIT_LIMIT_INCREASE_REJECTED"
}
rejectReason is always CREDIT_LIMIT_INCREASE_REJECTED. The field is kept as an enum for forward compatibility.
CREDIT_LIMIT_INCREASE_FAILED
The application could not be processed due to an error rather than a credit decision.
{
"eventType": "CREDIT_LIMIT_INCREASE_FAILED",
"creditLimitIncreaseId": "f4b5d83f-2eaa-4db3-9a1d-0a9f8a55cd11",
"failureCode": "INTERNAL_ERROR"
}
failureCode is one of:
| Value | Meaning |
|---|
INTERNAL_ERROR | An unexpected internal error occurred. |
TIMEOUT | The customer did not complete a required step within the allowed window. |
End-to-end sequence