201Successful Response
Schema: SuccessEnvelope_CreditProgramResponse_
successbooleanmessagestringcodestringdataCreditProgramResponse
/api/v1/credit/programsStand up a partner lending program. The program carries the parameter envelope, the policy positions, statement branding, and the card-issuing configuration, so onboarding a second partner is a row rather than a build. Operator action: an API token receives 403.
Bearer token authentication. Pass your DayZero API token in the Authorization header and the target business UUID in x-business-id.
Schema: CreditProgramCreateRequest
slugstringrequiredStable partner key, e.g. "tie".
display_namestringrequiredThe lender's name as merchants see it: statements, emails, the portal.
statusProgramStatusEnumProgramStatusEnumdraft (being set up) and active both take new lines; paused takes none and stops new originations but services the book; retired is closed. On a live business a program becomes active only while its blocking launch checks pass, unless an operator forces it.
force_activateForceActivateRequestOperator console only. With status: active on a live business, creates the program active although a blocking launch check fails; the reason, who and when are recorded as activation_override. Without it a program created active that fails a blocking check is refused (CREDIT_660): create it as a draft and activate it once the checklist is green. An API token cannot force (403).
lending_modelLendingModelLendingModelper_transaction: one loan per card transaction with its own term, due date, fee, and daily accrual after the due date (FRD v2 D-01). cycle_draw: one draw per monthly cycle (FRD v1).
limit_min_centsintegerlimit_max_centsintegerallowed_term_daysarray · integerSelectable payback terms. Defaults to [30, 45, 60, 90] (D-03).
default_rate_bpsintegerAnnual rate. 2000 = 20% APR (D-05).
default_disbursement_fee_bpsintegerFee assessed once at origination on each transaction, in basis points. 0-500 (0%-5%) per FRD v2 D-04.
max_float_daysintegerallocation_orderAllocationOrderAllocationOrderBucket order a payment fills within one loan (D-10).
loan_orderingLoanOrderingLoanOrderingWhich open loan a payment reaches first (D-11).
interest_accrual_startInterestAccrualStartInterestAccrualStartDaily accrual starts at the loan's due date (D-07) or at origination.
minimum_payment_centsintegerMinimum per-loan payment; the outstanding amount when smaller (D-09).
due_soon_daysintegerDays ahead the due-soon event fires (D-24).
underwriting_wait_daysintegerDays the nightly sweep leaves a new underwriting assessment pending while the merchant's bank backfill, categorisation and Shopify sync finish. Past it the sweep completes the assessment with whatever data exists. POST .../run never waits.
gl_posting_enabledbooleanPost journal entries on the operator's books (App. A.4).
gl_funding_ledger_idstringLedger credited at origination. Default: Card Issuer Payable.
gl_cash_ledger_idstringLedger debited on repayment. Default: Cash.
interest_cap_pct_of_principal_bpsintegerCeiling on total interest one loan can accrue, as a share of its principal. 2000 = 20%. Null (the default) is uncapped: interest accrues until the loan is repaid (D-07). At the ceiling the loan's interest stops growing, statements bill no further interest, and the loan stays past_due until it is paid. A cap reduces what a long-past-due merchant owes.
card_managementstringdayzero: DayZero provisions cards and pushes spend limits. partner: the partner provisions in the issuer, registers the card id, and receives credit.line.limit_changed events to push limits itself.
One of: dayzero, partner
deferred_fee_recognitionbooleanRecognise the disbursement fee over the term on the operator's books.
email_statementsbooleanEmail the statement PDF to the merchant when it issues.
noticesCreditNoticeSettingsBorrower notices to send, each off unless switched on: due_soon, past_due, loan_paid, statement_issued, collections, limit_changed, and reply_to. Branded from statement_branding.
complianceCompliancePolicyCompliance policy: disclosures, adverse-action notices and the template versions they use. Null, or enabled: false, changes nothing. See the guide's Compliance section.
bank_settlement_matchingbooleanSettle pending payments from the bank feed: the debit on the line's linked account, or a wire whose sender is a recorded alias, confirms the payment as at the bank date, and a return reverses it. Every decision is listed under GET /credit/lines/{id}/payment-matches.
alert_slack_channelstringalert_emailsarray · stringallowance_policyobjectLoan-loss allowance buckets, e.g. {"buckets":[{"label":"1–30","from_days":1,"to_days":30,"rate_bps":200}]}.
borrowing_base_policyBorrowingBasePolicyBorrowing-base eligibility: include_fees, max_days_past_due, exclude_on_hold, concentration_limit_bps, advance_rate_bps. Null means the defaults.
interchange_sourcestringHow interchange is recognised (D-32). estimate: interchange_bps of each cleared settlement, trued up when an issuer report row arrives. issuer_report: only from reported rows. none: not recognised.
One of: none, estimate, issuer_report
interchange_bpsintegerEstimated interchange rate, e.g. 175 = 1.75%.
statement_balance_modestringOne of: cumulative, cycle_scoped
allocation_scopestringOne of: per_cycle, across_line
cycle_boundary_basisstringOne of: issuer_clearing_date, merchant_local, utc
cycle_close_rulestringOne of: calendar_month_end, anchor_day, operational_trigger
cycle_anchor_dayintegerexcess_credit_dispositionstringOne of: carry_forward, refund_merchant
collections_policyobjectDelinquency ladder (D-31): {"stages": [{"days_past_due": 30, "action": "suspend_cards", "label": "Suspended"}]}. Actions: suspend_cards, suspend_line, notify.
limit_review_policyLimitReviewPolicyDynamic limit reviews: on a weekly or monthly cadence each line's limit is re-derived as formula (basis × pct_bps), clamped to the floor/cap and program envelope, held to the step limits, then adjusted by the risk triggers. Null means limits move only by hand.
limit_change_policystringWho may move a line's credit limit. direct: PATCH /credit/lines/{id} with credit_limit_cents applies it. approval_required: every change is a limit-change request a different console operator approves. console_only: an API token may only request a change; a console operator changes the limit.
One of: direct, approval_required, console_only
late_termsobjectLate fee / late interest rule body. Leave null while undecided — the late path raises rather than guessing a rate (§2.3).
early_payoff_termsobjectinterest_rebate (pro_rata | fully_earned) and fee_rebate (none | pro_rata). Null while undecided (§2.5).
underwriting_criteriaarray · objectPartner-owned rule set: key, label, threshold, comparator, source. Null while undecided (§2.7).
legal_lending_entitystringstatement_brandingobjectcovenantsobjectRead-only reflection of the Credit Agreement's universal covenants for the partner UI (§10.1): e.g. cash_covenant_bps, negative, affirmative. Not enforced by the ledger.
event_delivery_modeEventDeliveryModeEventDeliveryModepolling writes the event feed only; webhook also pushes each event to the business's subscribed endpoints; both does both. Polling stays the source of truth.
issuing_enabledbooleanWhether DayZero issues and manages cards for this program's lines through the issuing provider (DayZero-managed cards).
issuing_providerstringmock runs the card path against an in-memory issuer (Ramp has no sandbox).
One of: ramp, mock
ramp_spend_program_idstringRamp spend program the issued cards' funds are created under.
ramp_cardholder_user_idstringThe issuing identity: the one user on your Ramp account every card is issued to. The merchant is never a Ramp user. Verified as a user on the connected Ramp account when set (CREDIT_701 otherwise).
allowed_mcc_codesarray · stringMerchant category codes a card may spend at; mapped to Ramp category codes on the issuer. Empty means no restriction.
blocked_mcc_codesarray · stringMerchant category codes a card may never spend at (sent to Ramp as MCCs).
Schema: SuccessEnvelope_CreditProgramResponse_
successbooleanmessagestringcodestringdataCreditProgramResponseSchema: ErrorResponse
errorstringrequiredError category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.
messagestringrequiredHuman-readable explanation, safe to show to end users.
codestringrequiredStable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).
request_idstringCorrelation id for support requests. Echoes the x-request-id request header when one was supplied.
errorsobjectField-level validation messages keyed by field name. Present on 400/422 validation failures only.
Schema: ErrorResponse
errorstringrequiredError category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.
messagestringrequiredHuman-readable explanation, safe to show to end users.
codestringrequiredStable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).
request_idstringCorrelation id for support requests. Echoes the x-request-id request header when one was supplied.
errorsobjectField-level validation messages keyed by field name. Present on 400/422 validation failures only.
Schema: ErrorResponse
errorstringrequiredError category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.
messagestringrequiredHuman-readable explanation, safe to show to end users.
codestringrequiredStable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).
request_idstringCorrelation id for support requests. Echoes the x-request-id request header when one was supplied.
errorsobjectField-level validation messages keyed by field name. Present on 400/422 validation failures only.
Schema: ErrorResponse
errorstringrequiredError category: validation_error, unauthorized, forbidden, not_found, conflict, rate_limited, server_error, or service_unavailable.
messagestringrequiredHuman-readable explanation, safe to show to end users.
codestringrequiredStable machine-readable code in CATEGORY_NNN form (e.g. NOT_FOUND_006, AUTH_010, GEN_002).
request_idstringCorrelation id for support requests. Echoes the x-request-id request header when one was supplied.
errorsobjectField-level validation messages keyed by field name. Present on 400/422 validation failures only.