RepayIQ API documentation
Integrate student-loan analysis, plan selection, document package preparation, supplemental intake, review, and bundle generation.
Current status
API shape is ready for beta integration review. Document screening returns conservative form candidates, related-document dependencies, continuation capacity, certification roles, and submission routing; only exact verified mappings produce prefilled PDFs.
OpenAPI JSONCore Workflow
Both B2C and B2B clients follow the same backend lifecycle. The UI or partner system should follow workflow.next_action_ids instead of guessing the next step.
Create analysis
Submit borrower profile and loan data to receive current plan quotes plus a saved Direct Consolidation what-if.
POST /api/v1/analyses
Select a plan
Choose a workflow.plan_options entry. Return its analysis_scenario_id when the option belongs to a what-if scenario.
POST /api/v1/analyses/:analysis_id/document-packages
Complete requirements
Follow workflow.next_action_ids for source-specific intake, repeatable records, qualification paths, optional or required attachments, borrower attestation, and review.
supplemental-intake + attachments + review
Generate bundle
Generate bundle metadata and any official forms supported by an exact, verified PDF mapping.
POST /api/v1/analyses/:analysis_id/document-packages/:document_package_id/bundle
Download bundle
Use document_bundle_download.download_url to retrieve one ZIP containing package artifacts, supporting documents, and every generated official form instance.
GET .../bundle/content
Authentication
Production B2B requests use partner credentials. Sandbox browser routes use an HTTP-only session cookie so API keys are not exposed in client code.
x-repayiq-partner-idPartner identifier assigned by RepayIQ.
x-repayiq-api-keyRaw API key sent by the partner. Only SHA-256 hashes are stored server-side.
idempotency-keyOptional key for safely retrying analysis creation.
OpenAPI
The partner API contract is available as an OpenAPI 3.1 JSON document for import into API clients and documentation tools.
RepayIQ Partner API v1
/openapi/repayiq-v1.jsonEndpoints
Versioned partner routes authenticate with B2B headers and infer the channel from credentials.
Quick quotes
Estimate potential repayment-plan matches from loose borrower and balance information without creating a saved analysis.
/api/v1/quick-quotesReturn preliminary plan matches and payment estimates using a disclosed representative loan-rate assumption.
Analysis
Parse uploaded student-loan text, evaluate repayment options, and retrieve the current workflow state.
/api/v1/analysesEvaluate borrower and loan data, returning current results, a consolidation comparison, and workflow.plan_options.
/api/v1/analyses/:analysis_idRead the immutable analysis snapshot plus the current derived workflow summary.
/api/v1/analyses/:analysis_id/plan-optionsReturn the API-safe selectable plan options and current workflow state.
Documents
Move a selected plan through document preparation, official-form readiness, review, and bundle generation.
/api/v1/analyses/:analysis_id/document-packagesCreate a document package from a selected baseline or scenario plan.
/api/v1/analyses/:analysis_id/document-packages/:document_package_id/supplemental-intakeSave encrypted source-scoped intake, including mapped form values, Direct Alternative notes, or repeatable FFEL holder request and decision records.
/api/v1/analyses/:analysis_id/document-packages/:document_package_id/supplemental-intakeRead redacted supplemental intake status and official-form readiness.
/api/v1/analyses/:analysis_id/document-packages/:document_package_id/attachmentsUpload one verified PDF, JPEG, or PNG supporting document using multipart/form-data. Set source_id to keep every required or optional record scoped to its official form.
/api/v1/analyses/:analysis_id/document-packages/:document_package_id/attachmentsRead public-safe attachment metadata, branch requirements, and missing document roles.
/api/v1/analyses/:analysis_id/document-packages/:document_package_id/attachments/:attachment_id/contentDownload an authorized attachment after server-side decryption and integrity validation.
/api/v1/analyses/:analysis_id/document-packages/:document_package_id/attachments/:attachment_idDelete attachment metadata and its encrypted private object.
/api/v1/analyses/:analysis_id/document-packages/:document_package_id/reviewMark required packet fields as reviewed.
/api/v1/analyses/:analysis_id/document-packages/:document_package_id/bundleGenerate a bundle after the workflow reaches ready_to_generate_bundle.
/api/v1/analyses/:analysis_id/document-packages/:document_package_id/bundle/contentDownload the complete authorized ZIP archive with integrity-checked supporting documents.
/api/v1/analyses/:analysis_id/document-packages/:document_package_id/official-forms/:source_id/contentDownload a hash-verified prefilled PDF; pass form_instance_id when one source produces multiple forms.
Business Sandbox
Browser-safe partner sandbox routes scoped by an HTTP-only sandbox session cookie.
/api/business/sandbox/quick-quotesRun a browser-safe quick quote without exposing partner API credentials.
/api/business/sandbox/evaluateRun a B2B sandbox analysis without exposing partner API credentials in the browser.
/api/business/sandbox/:analysis_id/documentsCreate a sandbox document package for the selected plan.
/api/business/sandbox/:analysis_id/documents/:document_package_id/attachmentsUpload a sandbox supporting document for an attachment-enabled official-form source.
/api/business/sandbox/:analysis_id/documents/:document_package_id/attachmentsList sandbox attachment metadata and branch requirements.
/api/business/sandbox/:analysis_id/documents/:document_package_id/attachments/:attachment_id/contentDownload an authorized sandbox attachment.
/api/business/sandbox/:analysis_id/documents/:document_package_id/attachments/:attachment_idDelete a sandbox attachment and recalculate readiness.
/api/business/sandbox/:analysis_id/documents/:document_package_id/reviewSave sandbox review state.
/api/business/sandbox/:analysis_id/documents/:document_package_id/bundleGenerate a sandbox bundle after workflow requirements are met.
/api/business/sandbox/:analysis_id/documents/:document_package_id/bundle/contentDownload the complete sandbox ZIP archive.
/api/business/sandbox/:analysis_id/documents/:document_package_id/official-forms/:source_id/contentDownload one authorized sandbox PDF instance, including repeated PSLF/TLF forms, TPD companions, and holder-specific General Forbearance, Economic Hardship Deferment, Unemployment Deferment, or In-School Deferment requests.
Request Examples
The first response gives partners the plan options and next actions needed to continue the borrower workflow.
Quick Quote Request
{
"analysis_as_of": "2026-07-19",
"annual_income_cents": 6000000,
"estimated_balance_cents": 4500000,
"family_size": 2,
"state_of_residence": "CA",
"loan_category": "direct_undergraduate",
"loan_timing": "before_2026_07_01"
}Evaluate Request
{
"borrower_profile": {
"analysis_as_of": "2026-07-10",
"state_of_residence": "CA",
"poverty_guideline_region": "contiguous_48_dc",
"marital_status": "single",
"tax_filing_status": "single",
"spouse_income_included": false,
"adjusted_gross_income_cents": 7200000,
"family_size": 1,
"dependent_count": 0,
"direct_loan_repayment_start_status": "on_or_after_2006_07_01",
"extended_new_borrower_status": "new_borrower",
"ffel_extended_new_borrower_status": "new_borrower",
"ffel_income_sensitive_expected_monthly_gross_income_cents": 600000,
"ibr_new_borrower_status": "not_new_borrower",
"repaye_qualifying_payment_count_since_2024_07_01": 0,
"parent_plus_consolidation_idr_payment_status": "unknown",
"paye_new_borrower_status": "unknown",
"paye_enrollment_status": "not_repaying_on_2024_07_01",
"icr_enrollment_status": "not_repaying_on_2024_07_01",
"icr_joint_repayment_with_spouse": false
},
"consolidation_scenario": {
"selection_mode": "all_eligible",
"included_loan_ids": []
},
"document_screening": {
"public_service_employment": "yes",
"qualifying_teaching_service": "no",
"total_and_permanent_disability": "no",
"school_related_discharge_issue": "no",
"current_education_or_training": "no",
"graduate_fellowship_participation": "no",
"rehabilitation_training_participation": "no",
"parent_plus_student_enrollment": "no",
"economic_hardship_deferment": "no",
"unemployment_deferment": "no",
"unemployment_or_economic_hardship": "no",
"serious_illness_or_cancer_treatment": "no",
"military_service_or_post_active_duty": "no",
"military_or_national_service": "no",
"federal_loan_default": "no",
"inadvertent_overborrowing": "no",
"federal_tax_information_consent_revocation": "no",
"joint_consolidation_or_loan_limit_issue": "no",
"temporary_payment_relief": "no"
},
"raw_text": "Loan export text...",
"source_label": "studentaid_text_export",
"include_rule_traces": false,
"include_calculation_traces": false
}Workflow Response
{
"success": true,
"data": {
"analysis_id": "analysis_abc123...",
"consolidation_comparison": {
"scenario_id": "scenario_consolidation_def456...",
"status": "available",
"included_loan_ids": ["loan_1", "loan_2"],
"interest_rate_calculation": {
"rounded_interest_rate_bps": 562.5,
"projected_principal_balance_cents": 1275000
}
},
"workflow": {
"active_stage": "plan_selection_ready",
"next_action_ids": [
"review_plan_options",
"select_plan",
"create_document_package"
],
"plan_options": [
{
"plan_id": "tiered_standard",
"rank": 1,
"recommendation_status": "recommended",
"document_preparation_status": "ready",
"monthly_payment_cents": 84700,
"selectable": true
},
{
"analysis_scenario_id": "scenario_consolidation_def456...",
"scenario_type": "new_direct_consolidation",
"plan_id": "tiered_standard",
"rank": 1,
"recommendation_status": "recommended",
"document_preparation_status": "ready",
"monthly_payment_cents": 14200,
"selectable": true
}
]
}
},
"error_message": ""
}Response Format
JSON endpoints return the envelope below. Successful downloads return application/pdf or application/zip; download errors use the standard JSON envelope.
successbooleanTrue when the request completed successfully.
dataobjectEndpoint-specific response data. Successful workflow endpoints include workflow when applicable.
error_messagestringEmpty on success. On failure, one or more lines prefixed with "- ".
Workflow stages
Rate Limits And Data Handling
Partner traffic is rate limited by partner, operation, and fixed time window. Audit events store request metadata without raw loan exports, borrower profile payloads, supplemental PII, or API keys.
Rate limits
Exceeded requests return 429 with RateLimit headers and Retry-After.
Supplemental intake
Official-form-only PII is encrypted before persistence and returned only as redacted status.
Document status
Exact verified mappings produce signature-required official PDFs, including holder-specific General Forbearance, Economic Hardship Deferment, Unemployment Deferment, and In-School Deferment requests. The protected ZIP places verified supporting documents beside forms without embedding them in a PDF.