---
title: "Get a debt line's onboarding and draw-eligibility status"
method: GET
path: "/debt-lines/{id}/status"
tags: ["Debt Lines"]
---

# Get a debt line's onboarding and draw-eligibility status

`GET /debt-lines/{id}/status`

## Request

- Base URL: `https://core.sivo.com`
- URL: `https://core.sivo.com/debt-lines/{id}/status`
- Auth: one of:
  - API key in header `Authorization`
  - OAuth 2
    - Authorization code: `https://dashboard.sivo.com/oauth/authorize`
    - Client credentials
    - Token URL: `https://core.sivo.com/oauth/token`
- TypeScript: <https://skmtc.dev/sivo/apis/sivo-advance-api/docs/debt-lines/:id/status/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `id` string, required: An object id with prefix

## Response `200`

Successful operation

- object
  - `checks` object, required: individual checks, one per onboarding checklist step; an omitted check means the step is not required and is hidden
    - `kyx` object: the AiPrise KYC/KYB verification for the organization: not_started until a verification is created, started while the originator still has work to do (unsubmitted, declined, owners awaiting KYC, information requested, or sessions expired — the reason says which), submitted while AiPrise/Sivo reviews it, completed once approved; omitted once the terms are active
      - `status` 'not_started' | 'started' | 'submitted' | 'completed', required: progress of the check: not_started (the user has to start the step), started (begun but incomplete, see detail), submitted (the user is done and Sivo is verifying), completed (done)
      - `reason` string: what is still missing or wrong, as plain English text for logs and support; present only while the status is started. Show customers message instead
      - `detail` union: why the check is still started, as a code and its figures; present only while the status is started
        - object: the KYB verification has not been submitted
          - `code` 'kyb_not_submitted', required
        - object: the KYB verification was declined
          - `code` 'kyb_declined', required
        - object: additional owners still have to complete their KYC
          - `code` 'kyc_owners_pending', required
        - object: additional information was requested for the KYB verification
          - `code` 'kyb_info_requested', required
        - object: the KYB verification session expired
          - `code` 'kyb_session_expired', required
        - object: the settled collateral is short of the required minimum
          - `code` 'collateral_insufficient', required
          - `settled` integer, required: settled collateral posted
          - `required` integer, required: min_collateral of the current terms step
        - object: financials are missing for some of the recent months
          - `code` 'financials_months_missing', required
          - `months` integer, required: recent months with financials reported
          - `required_months` integer, required: recent months required
        - object: reported financials fall short of the application inputs
          - `code` 'financials_short', required
          - `fields` object[], required: every field that falls short
            - `field` 'cash_and_equivalents' | 'revenue' | 'expenses', required
            - `issue` 'not_reported' | 'below_application', required: not_reported: no value in the recent months; below_application: the average is too low compared with the application input
        - object: receivables were processed and none is eligible for the debt line
          - `code` 'receivables_none_eligible', required
        - object: none is eligible yet, but at least one only awaits the risk team's review (invoices are ineligible until approved)
          - `code` 'receivables_pending_review', required
      - `message` string: what is missing, as a sentence ready to show the customer; present whenever detail is. On the review_terms step, it says when the terms come up for review instead
    - `collateral` object: the collateral balance covers the min_collateral of the current terms step: not_started with no deposits, started while the settled balance falls short, submitted while pending deposits would cover it, completed once the settled balance does; omitted until the terms are active, or when the current step requires no collateral. Blocks a draw
      - `status` 'not_started' | 'started' | 'submitted' | 'completed', required: progress of the check: not_started (the user has to start the step), started (begun but incomplete, see detail), submitted (the user is done and Sivo is verifying), completed (done)
      - `reason` string: what is still missing or wrong, as plain English text for logs and support; present only while the status is started. Show customers message instead
      - `detail` union: why the check is still started, as a code and its figures; present only while the status is started
        - object: the KYB verification has not been submitted
          - `code` 'kyb_not_submitted', required
        - object: the KYB verification was declined
          - `code` 'kyb_declined', required
        - object: additional owners still have to complete their KYC
          - `code` 'kyc_owners_pending', required
        - object: additional information was requested for the KYB verification
          - `code` 'kyb_info_requested', required
        - object: the KYB verification session expired
          - `code` 'kyb_session_expired', required
        - object: the settled collateral is short of the required minimum
          - `code` 'collateral_insufficient', required
          - `settled` integer, required: settled collateral posted
          - `required` integer, required: min_collateral of the current terms step
        - object: financials are missing for some of the recent months
          - `code` 'financials_months_missing', required
          - `months` integer, required: recent months with financials reported
          - `required_months` integer, required: recent months required
        - object: reported financials fall short of the application inputs
          - `code` 'financials_short', required
          - `fields` object[], required: every field that falls short
            - `field` 'cash_and_equivalents' | 'revenue' | 'expenses', required
            - `issue` 'not_reported' | 'below_application', required: not_reported: no value in the recent months; below_application: the average is too low compared with the application input
        - object: receivables were processed and none is eligible for the debt line
          - `code` 'receivables_none_eligible', required
        - object: none is eligible yet, but at least one only awaits the risk team's review (invoices are ineligible until approved)
          - `code` 'receivables_pending_review', required
      - `message` string: what is missing, as a sentence ready to show the customer; present whenever detail is. On the review_terms step, it says when the terms come up for review instead
    - `payout` object: the debt line has a payout instruction for receiving draws (not_started or completed); omitted until the terms are active since the payout account is only set up once the line is active. Blocks a draw
      - `status` 'not_started' | 'started' | 'submitted' | 'completed', required: progress of the check: not_started (the user has to start the step), started (begun but incomplete, see detail), submitted (the user is done and Sivo is verifying), completed (done)
      - `reason` string: what is still missing or wrong, as plain English text for logs and support; present only while the status is started. Show customers message instead
      - `detail` union: why the check is still started, as a code and its figures; present only while the status is started
        - object: the KYB verification has not been submitted
          - `code` 'kyb_not_submitted', required
        - object: the KYB verification was declined
          - `code` 'kyb_declined', required
        - object: additional owners still have to complete their KYC
          - `code` 'kyc_owners_pending', required
        - object: additional information was requested for the KYB verification
          - `code` 'kyb_info_requested', required
        - object: the KYB verification session expired
          - `code` 'kyb_session_expired', required
        - object: the settled collateral is short of the required minimum
          - `code` 'collateral_insufficient', required
          - `settled` integer, required: settled collateral posted
          - `required` integer, required: min_collateral of the current terms step
        - object: financials are missing for some of the recent months
          - `code` 'financials_months_missing', required
          - `months` integer, required: recent months with financials reported
          - `required_months` integer, required: recent months required
        - object: reported financials fall short of the application inputs
          - `code` 'financials_short', required
          - `fields` object[], required: every field that falls short
            - `field` 'cash_and_equivalents' | 'revenue' | 'expenses', required
            - `issue` 'not_reported' | 'below_application', required: not_reported: no value in the recent months; below_application: the average is too low compared with the application input
        - object: receivables were processed and none is eligible for the debt line
          - `code` 'receivables_none_eligible', required
        - object: none is eligible yet, but at least one only awaits the risk team's review (invoices are ineligible until approved)
          - `code` 'receivables_pending_review', required
      - `message` string: what is missing, as a sentence ready to show the customer; present whenever detail is. On the review_terms step, it says when the terms come up for review instead
    - `payin` object: the debt line has a payin instrument for automatic interest payments (not_started or completed); omitted until the terms are active, or when the debt line currency has no supported debit rail. Never blocks a draw
      - `status` 'not_started' | 'started' | 'submitted' | 'completed', required: progress of the check: not_started (the user has to start the step), started (begun but incomplete, see detail), submitted (the user is done and Sivo is verifying), completed (done)
      - `reason` string: what is still missing or wrong, as plain English text for logs and support; present only while the status is started. Show customers message instead
      - `detail` union: why the check is still started, as a code and its figures; present only while the status is started
        - object: the KYB verification has not been submitted
          - `code` 'kyb_not_submitted', required
        - object: the KYB verification was declined
          - `code` 'kyb_declined', required
        - object: additional owners still have to complete their KYC
          - `code` 'kyc_owners_pending', required
        - object: additional information was requested for the KYB verification
          - `code` 'kyb_info_requested', required
        - object: the KYB verification session expired
          - `code` 'kyb_session_expired', required
        - object: the settled collateral is short of the required minimum
          - `code` 'collateral_insufficient', required
          - `settled` integer, required: settled collateral posted
          - `required` integer, required: min_collateral of the current terms step
        - object: financials are missing for some of the recent months
          - `code` 'financials_months_missing', required
          - `months` integer, required: recent months with financials reported
          - `required_months` integer, required: recent months required
        - object: reported financials fall short of the application inputs
          - `code` 'financials_short', required
          - `fields` object[], required: every field that falls short
            - `field` 'cash_and_equivalents' | 'revenue' | 'expenses', required
            - `issue` 'not_reported' | 'below_application', required: not_reported: no value in the recent months; below_application: the average is too low compared with the application input
        - object: receivables were processed and none is eligible for the debt line
          - `code` 'receivables_none_eligible', required
        - object: none is eligible yet, but at least one only awaits the risk team's review (invoices are ineligible until approved)
          - `code` 'receivables_pending_review', required
      - `message` string: what is missing, as a sentence ready to show the customer; present whenever detail is. On the review_terms step, it says when the terms come up for review instead
    - `financials` object: financials are reported for the last 3 full calendar months and their averages, converted to the debt line currency, are not too low compared with the application inputs: not_started with no financials recorded, started while the coverage or the amounts fall short, completed otherwise; omitted until the terms are active. Never blocks a draw: Sivo underwrites the line on these financials before raising it beyond its first step, which is fully collateralized
      - `status` 'not_started' | 'started' | 'submitted' | 'completed', required: progress of the check: not_started (the user has to start the step), started (begun but incomplete, see detail), submitted (the user is done and Sivo is verifying), completed (done)
      - `reason` string: what is still missing or wrong, as plain English text for logs and support; present only while the status is started. Show customers message instead
      - `detail` union: why the check is still started, as a code and its figures; present only while the status is started
        - object: the KYB verification has not been submitted
          - `code` 'kyb_not_submitted', required
        - object: the KYB verification was declined
          - `code` 'kyb_declined', required
        - object: additional owners still have to complete their KYC
          - `code` 'kyc_owners_pending', required
        - object: additional information was requested for the KYB verification
          - `code` 'kyb_info_requested', required
        - object: the KYB verification session expired
          - `code` 'kyb_session_expired', required
        - object: the settled collateral is short of the required minimum
          - `code` 'collateral_insufficient', required
          - `settled` integer, required: settled collateral posted
          - `required` integer, required: min_collateral of the current terms step
        - object: financials are missing for some of the recent months
          - `code` 'financials_months_missing', required
          - `months` integer, required: recent months with financials reported
          - `required_months` integer, required: recent months required
        - object: reported financials fall short of the application inputs
          - `code` 'financials_short', required
          - `fields` object[], required: every field that falls short
            - `field` 'cash_and_equivalents' | 'revenue' | 'expenses', required
            - `issue` 'not_reported' | 'below_application', required: not_reported: no value in the recent months; below_application: the average is too low compared with the application input
        - object: receivables were processed and none is eligible for the debt line
          - `code` 'receivables_none_eligible', required
        - object: none is eligible yet, but at least one only awaits the risk team's review (invoices are ineligible until approved)
          - `code` 'receivables_pending_review', required
      - `message` string: what is missing, as a sentence ready to show the customer; present whenever detail is. On the review_terms step, it says when the terms come up for review instead
    - `receivables` object: at least one eligible receivable is linked to the debt line: not_started with no receivables recorded, submitted while the recorded receivables await their eligibility calculation, started once they were processed and none is eligible, completed once the debt line has eligible receivables; omitted until the terms are active. Never blocks a draw: Sivo underwrites the line on its receivables before raising it beyond its first step, which is fully collateralized
      - `status` 'not_started' | 'started' | 'submitted' | 'completed', required: progress of the check: not_started (the user has to start the step), started (begun but incomplete, see detail), submitted (the user is done and Sivo is verifying), completed (done)
      - `reason` string: what is still missing or wrong, as plain English text for logs and support; present only while the status is started. Show customers message instead
      - `detail` union: why the check is still started, as a code and its figures; present only while the status is started
        - object: the KYB verification has not been submitted
          - `code` 'kyb_not_submitted', required
        - object: the KYB verification was declined
          - `code` 'kyb_declined', required
        - object: additional owners still have to complete their KYC
          - `code` 'kyc_owners_pending', required
        - object: additional information was requested for the KYB verification
          - `code` 'kyb_info_requested', required
        - object: the KYB verification session expired
          - `code` 'kyb_session_expired', required
        - object: the settled collateral is short of the required minimum
          - `code` 'collateral_insufficient', required
          - `settled` integer, required: settled collateral posted
          - `required` integer, required: min_collateral of the current terms step
        - object: financials are missing for some of the recent months
          - `code` 'financials_months_missing', required
          - `months` integer, required: recent months with financials reported
          - `required_months` integer, required: recent months required
        - object: reported financials fall short of the application inputs
          - `code` 'financials_short', required
          - `fields` object[], required: every field that falls short
            - `field` 'cash_and_equivalents' | 'revenue' | 'expenses', required
            - `issue` 'not_reported' | 'below_application', required: not_reported: no value in the recent months; below_application: the average is too low compared with the application input
        - object: receivables were processed and none is eligible for the debt line
          - `code` 'receivables_none_eligible', required
        - object: none is eligible yet, but at least one only awaits the risk team's review (invoices are ineligible until approved)
          - `code` 'receivables_pending_review', required
      - `message` string: what is missing, as a sentence ready to show the customer; present whenever detail is. On the review_terms step, it says when the terms come up for review instead
    - `yc` object: the organization's YC backing is verified (not_started or completed); omitted when the terms input does not claim YC backing or once the terms are active
      - `status` 'not_started' | 'started' | 'submitted' | 'completed', required: progress of the check: not_started (the user has to start the step), started (begun but incomplete, see detail), submitted (the user is done and Sivo is verifying), completed (done)
      - `reason` string: what is still missing or wrong, as plain English text for logs and support; present only while the status is started. Show customers message instead
      - `detail` union: why the check is still started, as a code and its figures; present only while the status is started
        - object: the KYB verification has not been submitted
          - `code` 'kyb_not_submitted', required
        - object: the KYB verification was declined
          - `code` 'kyb_declined', required
        - object: additional owners still have to complete their KYC
          - `code` 'kyc_owners_pending', required
        - object: additional information was requested for the KYB verification
          - `code` 'kyb_info_requested', required
        - object: the KYB verification session expired
          - `code` 'kyb_session_expired', required
        - object: the settled collateral is short of the required minimum
          - `code` 'collateral_insufficient', required
          - `settled` integer, required: settled collateral posted
          - `required` integer, required: min_collateral of the current terms step
        - object: financials are missing for some of the recent months
          - `code` 'financials_months_missing', required
          - `months` integer, required: recent months with financials reported
          - `required_months` integer, required: recent months required
        - object: reported financials fall short of the application inputs
          - `code` 'financials_short', required
          - `fields` object[], required: every field that falls short
            - `field` 'cash_and_equivalents' | 'revenue' | 'expenses', required
            - `issue` 'not_reported' | 'below_application', required: not_reported: no value in the recent months; below_application: the average is too low compared with the application input
        - object: receivables were processed and none is eligible for the debt line
          - `code` 'receivables_none_eligible', required
        - object: none is eligible yet, but at least one only awaits the risk team's review (invoices are ineligible until approved)
          - `code` 'receivables_pending_review', required
      - `message` string: what is missing, as a sentence ready to show the customer; present whenever detail is. On the review_terms step, it says when the terms come up for review instead
  - `steps` object[], required: the required steps in order: until the terms are active, the onboarding steps (kyx, yc, then review_terms); once active, the setup steps (collateral, financials, receivables, payin, payout), which the customer may complete in any order. Steps not required for the debt line are left out
    - `key` 'kyx' | 'yc' | 'payin' | 'financials' | 'receivables' | 'collateral' | 'review_terms' | 'payout', required: the step: a check key, or review_terms (accept the approved terms)
    - `blocking` boolean, required: whether the step stops the next action until it is completed: every onboarding check stops a submission, and once the terms are active only collateral and payout stop a draw. review_terms comes after the submission, so it never blocks
    - `status` 'not_started' | 'started' | 'submitted' | 'completed', required: progress of the check: not_started (the user has to start the step), started (begun but incomplete, see detail), submitted (the user is done and Sivo is verifying), completed (done)
    - `reason` string: what is still missing or wrong, as plain English text for logs and support; present only while the status is started. Show customers message instead
    - `detail` union: why the check is still started, as a code and its figures; present only while the status is started
      - object: the KYB verification has not been submitted
        - `code` 'kyb_not_submitted', required
      - object: the KYB verification was declined
        - `code` 'kyb_declined', required
      - object: additional owners still have to complete their KYC
        - `code` 'kyc_owners_pending', required
      - object: additional information was requested for the KYB verification
        - `code` 'kyb_info_requested', required
      - object: the KYB verification session expired
        - `code` 'kyb_session_expired', required
      - object: the settled collateral is short of the required minimum
        - `code` 'collateral_insufficient', required
        - `settled` integer, required: settled collateral posted
        - `required` integer, required: min_collateral of the current terms step
      - object: financials are missing for some of the recent months
        - `code` 'financials_months_missing', required
        - `months` integer, required: recent months with financials reported
        - `required_months` integer, required: recent months required
      - object: reported financials fall short of the application inputs
        - `code` 'financials_short', required
        - `fields` object[], required: every field that falls short
          - `field` 'cash_and_equivalents' | 'revenue' | 'expenses', required
          - `issue` 'not_reported' | 'below_application', required: not_reported: no value in the recent months; below_application: the average is too low compared with the application input
      - object: receivables were processed and none is eligible for the debt line
        - `code` 'receivables_none_eligible', required
      - object: none is eligible yet, but at least one only awaits the risk team's review (invoices are ineligible until approved)
        - `code` 'receivables_pending_review', required
    - `message` string: what is missing, as a sentence ready to show the customer; present whenever detail is. On the review_terms step, it says when the terms come up for review instead
  - `completed_count` integer, required: steps completed
  - `total_count` integer, required: steps in the checklist
  - `can_submit` boolean, required: whether the checklist is complete, so the terms can be approved: they are pre_approved and every onboarding check is completed. Sivo then approves them, without a review, and the customer reviews and accepts them
  - `can_draw` boolean, required: whether principal can be drawn: the terms are active and every blocking step (collateral, payout) is completed; financials, receivables and payin never stop a draw. A draw is still capped by the available_to_draw of the debt line position
  - `blockers` object[], required: the steps not completed yet that stop the next action, in checklist order. Before activation, every open step, ending with review_terms, which comes after the terms are approved, so it never stops the approval; once active, only the open draw requirements (collateral, payout)
    - `key` 'kyx' | 'yc' | 'payin' | 'financials' | 'receivables' | 'collateral' | 'review_terms' | 'payout', required: the step: a check key, or review_terms (accept the approved terms)
    - `blocking` boolean, required: whether the step stops the next action until it is completed: every onboarding check stops a submission, and once the terms are active only collateral and payout stop a draw. review_terms comes after the submission, so it never blocks
    - `status` 'not_started' | 'started' | 'submitted' | 'completed', required: progress of the check: not_started (the user has to start the step), started (begun but incomplete, see detail), submitted (the user is done and Sivo is verifying), completed (done)
    - `reason` string: what is still missing or wrong, as plain English text for logs and support; present only while the status is started. Show customers message instead
    - `detail` union: why the check is still started, as a code and its figures; present only while the status is started
      - object: the KYB verification has not been submitted
        - `code` 'kyb_not_submitted', required
      - object: the KYB verification was declined
        - `code` 'kyb_declined', required
      - object: additional owners still have to complete their KYC
        - `code` 'kyc_owners_pending', required
      - object: additional information was requested for the KYB verification
        - `code` 'kyb_info_requested', required
      - object: the KYB verification session expired
        - `code` 'kyb_session_expired', required
      - object: the settled collateral is short of the required minimum
        - `code` 'collateral_insufficient', required
        - `settled` integer, required: settled collateral posted
        - `required` integer, required: min_collateral of the current terms step
      - object: financials are missing for some of the recent months
        - `code` 'financials_months_missing', required
        - `months` integer, required: recent months with financials reported
        - `required_months` integer, required: recent months required
      - object: reported financials fall short of the application inputs
        - `code` 'financials_short', required
        - `fields` object[], required: every field that falls short
          - `field` 'cash_and_equivalents' | 'revenue' | 'expenses', required
          - `issue` 'not_reported' | 'below_application', required: not_reported: no value in the recent months; below_application: the average is too low compared with the application input
      - object: receivables were processed and none is eligible for the debt line
        - `code` 'receivables_none_eligible', required
      - object: none is eligible yet, but at least one only awaits the risk team's review (invoices are ineligible until approved)
        - `code` 'receivables_pending_review', required
    - `message` string: what is missing, as a sentence ready to show the customer; present whenever detail is. On the review_terms step, it says when the terms come up for review instead
  - `summary` string, required: what the next action waits on, in words ready for the customer. For pre_approved terms, every step still stopping the terms from being approved, and for active terms every step still stopping a draw (never the non-blocking setup steps): first the ones the customer still has to complete, then the submitted ones Sivo is checking, which need nothing more from the customer. For any other terms status it only says where the application stands and names no steps. Relay all of it; never single out one step as the only blocker or the only one left when it names several

## Changes

- **2026-11-03** `4bbab9699612`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sivo/apis/sivo-advance-api/changes/debt-lines/:id/status/get.md)

---

[API](https://skmtc.dev/sivo/apis/sivo-advance-api.md) - [All operations](https://skmtc.dev/sivo/apis/sivo-advance-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sivo/apis/sivo-advance-api/revisions/4bbab9699612?raw)
