Download OpenAPI specification:
This snapshot documents the v5 API surface. Runtime versioning is controlled by the request header.
Performs user logout by clearing HttpOnly refresh_token cookie. If refresh_token is present in cookies, backend additionally tries to invalidate it on server side (blacklist + DB cleanup). Endpoint is idempotent.
{- "success": true
}This endpoint calculates the total amount returned, total bonus, total interest earned, projected annual return (IRR), earnings schedule, and repayments schedule based on the initial investment, risk group, and optional parameters.
| initial required | number <float> Initial Investment |
| group | string Default: "conservative" Enum: "conservative" "moderate" A Risk Group |
| increase_income | boolean Default: false Enable Increase Income |
| bonuses | boolean Default: false Enable Bonuses |
| registration_bonus | number <float> Default: 0 Bonus for Registration |
{- "total_amount": 0.1,
- "total_bonus": 0.1,
- "total_interest": 0.1,
- "irr": 0.1,
- "earnings": [
- {
- "date": "2019-08-24",
- "balance": 0.1,
- "rate": 0.1,
- "interest": 0.1
}
], - "repayments": [
- {
- "date": "2019-08-24",
- "amount": 0.1,
- "payment": 0.1,
- "inflow": 0.1
}
]
}This endpoint calculates the total amount returned, total bonus, total contributions, total interest earned, projected annual return (IRR), and projected growth schedule based on the initial investment, monthly investment, risk group, and optional parameters.
| initial required | number <float> Initial Investment |
| monthly required | number <float> Monthly Investment |
| group | string Default: "conservative" Enum: "conservative" "moderate" A Risk Group |
| term | integer [ 6 .. 60 ] Default: 6 A Investment Term in months |
| bonuses | boolean Default: false Enable Bonuses |
| registration_bonus | number <float> Default: 0 Bonus for Registration |
{- "total_amount": 0.1,
- "total_bonus": 0.1,
- "total_contributions": 0.1,
- "total_interest": 0.1,
- "irr": 0.1,
- "projected_growth": [
- {
- "date": "2019-08-24",
- "earnings": 0.1,
- "contributions": 0.1
}
]
}This endpoint calculates the required investment to reach a target amount, along with the projected growth schedule based on the target amount, calculation mode, initial investment, monthly investment, risk group, investment term, and optional parameters.
| target required | number <float> Target Amount |
| mode | string Default: "monthly" Enum: "monthly" "initial" Calculation Mode |
| initial | number <float> Initial Investment |
| monthly | number <float> Monthly Investment |
| group | string Default: "conservative" Enum: "conservative" "moderate" A Risk Group |
| term | integer [ 6 .. 60 ] Default: 6 A Investment Term in months |
| bonuses | boolean Default: false Enable Bonuses |
| registration_bonus | number <float> Default: 0 Bonus for Registration |
{- "required_investment": 0.1,
- "projected_growth": [
- {
- "date": "2019-08-24",
- "earnings": 0.1,
- "contributions": 0.1
}
]
}This endpoint returns a random text message from the Did You Know section based on the user's country and monthly investments.
| country | string User Country |
| monthly_investments | integer Default: 0 Monthly Investments |
{- "text": "string"
}This endpoint returns constants used in calculations, such as IRR for different groups, investment ranges, and bank deposit rates.
{- "irr_group_a": 0.1,
- "irr_group_b": 0.1,
- "initial_investment_range": {
- "left": 0,
- "right": 0
}, - "monthly_investment_range": {
- "left": 0,
- "right": 0
}, - "investment_term_range": {
- "left": 0,
- "right": 0
}, - "total_amount_range": {
- "left": 0,
- "right": 0
}, - "bank_deposit": 0.1,
- "global_stocks": 0.1
}Returns the current loyalty status of the user, including level slug, level name, net inflow, and participation rate.
{- "level_slug": "string",
- "level_name": "string",
- "icon_url": "string",
- "net_inflow": 0,
- "participation_rate": 0
}Returns a list of available loyalty statuses with their properties.
[- {
- "level_slug": "string",
- "level_name": "string",
- "icon_url": "string",
- "p_rate_description": "string",
- "p_rate_flag": true,
- "net_inflow_description": "string",
- "net_inflow_flag": true,
- "window_description": "string",
- "personal_limit_description": "string",
- "quota_description": "string",
- "buy_back_description": "string"
}
]Returns the reservation limits for the user, including personal limit and reservation time left.
{- "personal_limit": 0,
- "reservation_time_left": 0,
- "available_reserve": 0,
- "next_available_reserve": 0,
- "next_available_reserve_opens_at": "2019-08-24"
}Returns group limits and remaining amounts for risk groups in active or next fundraising round.
[- {
- "group": "conservative",
- "group_title": "Group A",
- "full_amount": 600,
- "remaining_amount": 195.45,
- "reserve_amount": 150
}
]Retrieves the current investment strategy status for the authenticated investor. Returns comprehensive information about the investor's participation in the current fundraising round, including account balances, strategy settings, bonus information, and investment configuration parameters.
{- "step": 3,
- "option": "standard",
- "start_date": "2024-01-15",
- "end_date": "2024-02-15",
- "earmarked": 500,
- "available_cash": 500,
- "reinvest": false,
- "auto_invest": false,
- "has_accepted_terms_a": true,
- "has_accepted_terms_b": true,
- "has_accepted_necessary_terms": true,
- "max_share_percentage": 0.1,
- "min_founders_selection": 0,
- "min_investment_amount": 0.1,
- "priority_strategy_enabled": false,
- "priority_required_batch_size": 0,
- "is_active": true,
- "total_remaining_amount": 99500,
- "has_opened_investing": true,
- "has_previously_invested": false,
- "bonus_amount": 10,
- "editable_until": "2024-01-20T10:30:00Z",
- "committed_amount": 500,
- "bonus_group": null,
- "show_5": false,
- "is_participating": true,
- "bonus_limit": null,
- "is_resold_loans": false,
- "reservation_expires_at": "2024-01-21",
- "reserved_amount": 0,
- "brand_selection_enabled": true,
- "verification_bonus_unlock_remain_amount": 0,
- "verification_bonus_min_investment_amount": 0,
- "pending_verification_bonus_amount": 0,
- "received_verification_bonus_amount": 0
}Returns the list of brands (Company) that are available for investment selection, including whether each brand is currently selected (kept for investments).
{- "fee": 0.55,
- "fee_amount": 5.5,
- "excluded": 0,
- "list": [
- {
- "id": 1,
- "name": "Aunbranded",
- "logo": "adonis.png",
- "selected": true,
- "is_new": false,
- "is_filled": true,
- "capacity": {
- "conservative": 500,
- "moderate": 400
}
}
]
}Saves the selected list of brand ids (Company ids) that the investor decided to keep for investments. Brands not present in the list are considered excluded.
[- 1
]{- "fee": 0.55,
- "fee_amount": 5.5,
- "excluded": 0,
- "list": [
- {
- "id": 1,
- "name": "Aunbranded",
- "logo": "adonis.png",
- "selected": true,
- "is_new": false,
- "is_filled": true,
- "capacity": {
- "conservative": 500,
- "moderate": 400
}
}
]
}Confirms the investor's acceptance of terms and conditions for conservative (Group A) and moderate (Group B) investment strategies. This finalizes the investment setup process and activates the investor's strategy for the current fundraising round.
| has_accepted_terms_a required | boolean Acceptance of terms and conditions for conservative investment strategy (Group A) |
| has_accepted_terms_b required | boolean Acceptance of terms and conditions for moderate investment strategy (Group B) |
{- "has_accepted_terms_a": true,
- "has_accepted_terms_b": true
}{- "step": 3,
- "option": "standard",
- "start_date": "2024-01-15",
- "end_date": "2024-02-15",
- "earmarked": 500,
- "available_cash": 500,
- "reinvest": false,
- "auto_invest": false,
- "has_accepted_terms_a": true,
- "has_accepted_terms_b": true,
- "has_accepted_necessary_terms": true,
- "max_share_percentage": 0.1,
- "min_founders_selection": 0,
- "min_investment_amount": 0.1,
- "priority_strategy_enabled": false,
- "priority_required_batch_size": 0,
- "is_active": true,
- "total_remaining_amount": 99500,
- "has_opened_investing": true,
- "has_previously_invested": false,
- "bonus_amount": 10,
- "editable_until": "2024-01-20T10:30:00Z",
- "committed_amount": 500,
- "bonus_group": null,
- "show_5": false,
- "is_participating": true,
- "bonus_limit": null,
- "is_resold_loans": false,
- "reservation_expires_at": "2024-01-21",
- "reserved_amount": 0,
- "brand_selection_enabled": true,
- "verification_bonus_unlock_remain_amount": 0,
- "verification_bonus_min_investment_amount": 0,
- "pending_verification_bonus_amount": 0,
- "received_verification_bonus_amount": 0
}Retrieves investment results from the most recently processed fundraising round. Shows how much was invested per risk group, allocated amounts, and bonus information.
{- "total_invested": 750.5,
- "initially_allocated": 1000,
- "groups": [
- {
- "group_id": 1,
- "title": "Conservative",
- "invested_in_group": 500.25,
- "is_active": true
}
], - "bonus_amount": 25
}Updates the phone number for the authenticated investor and returns the updated investor profile
| phone_number required | string New phone number in international format |
{- "phone_number": "+71234567890"
}{- "id": 12345,
- "email": "testuser@gmail.com",
- "first_name": "Name",
- "last_name": "Lastname",
- "phone": "+71234567890",
- "country": "Netherlands",
- "country_code": "NL",
- "city": "Den Haag",
- "address": "Harderwijkstraat 999",
- "postal_code": "123456",
- "is_verified": true,
- "date_of_birth": "1987-02-25",
- "unique_id": 42,
- "citizenship": "Netherlands",
- "is_visible": true,
- "citizenship_code": "NL",
- "investor": {
- "company_name": "Company name",
- "position": "Position",
- "monthly_investment": "2",
- "origin_of_funds": "ownership",
- "investor_type": null
}, - "status": "verified",
- "promotion": {
- "id": 1,
- "status": "accepted",
- "end_date": "2026-12-31",
- "name": "Welcome bonus",
- "is_active": true,
- "min_amount": 1000,
- "max_amount": 50000,
- "months_count": 6
}, - "is_phone_number_verified": true,
- "is_email_verified": true,
- "created_at": "2025-09-10T01:43:03.512706+03:00",
- "restrictions": [
- "add_cash",
- "investing",
- "withdraw"
]
}Retrieves current funds allocation information for the investor, including cash balance, risk group accounts with current and remaining amounts, bonus information, and reinvestment settings. Returns different data structures depending on whether there's an active fundraising round.
{- "is_on_hold": false,
- "reinvest": true,
- "bonus_amount": 25,
- "allocated_bonus_amount": 25,
- "accounts": [
- {
- "type": "loan",
- "group": "conservative",
- "group_title": "Group A",
- "amount": 300,
- "remaining_amount": 1200,
- "total_remaining_amount": 12100,
- "personal_remaining_amount": 300,
- "has_new_brands_with_capacity": true
}
]
}Retrieves current intermediate allocation information for the investor's strategy, including cash balance, risk group allocations, remaining amounts, and confirmation status.
{- "total_allocated": 500,
- "bonus_amount": 25,
- "allocated_bonus_amount": 25,
- "has_confirmed": true,
- "accounts": [
- {
- "type": "loan",
- "group": "conservative",
- "group_title": "Group A",
- "amount": 300,
- "remaining_amount": 1200,
- "total_remaining_amount": 12100,
- "personal_remaining_amount": 300,
- "has_new_brands_with_capacity": true
}
]
}Sets allocation amounts for conservative (Group A) and moderate (Group B) risk groups in the investment strategy.
| group_a_amount required | number <decimal> >= 0 Amount to allocate to conservative risk group (Group A) |
| group_b_amount required | number <decimal> >= 0 Amount to allocate to moderate risk group (Group B) |
{- "group_a_amount": 300,
- "group_b_amount": 200
}{- "total_allocated": 500,
- "bonus_amount": 25,
- "allocated_bonus_amount": 25,
- "has_confirmed": true,
- "accounts": [
- {
- "type": "loan",
- "group": "conservative",
- "group_title": "Group A",
- "amount": 300,
- "remaining_amount": 1200,
- "total_remaining_amount": 12100,
- "personal_remaining_amount": 300,
- "has_new_brands_with_capacity": true
}
]
}Adds the specified amounts to existing intermediate allocation values instead of replacing them.
| group_a_amount required | number <decimal> >= 0 Amount to allocate to conservative risk group (Group A) |
| group_b_amount required | number <decimal> >= 0 Amount to allocate to moderate risk group (Group B) |
{- "group_a_amount": 300,
- "group_b_amount": 200
}{- "total_allocated": 500,
- "bonus_amount": 25,
- "allocated_bonus_amount": 25,
- "has_confirmed": true,
- "accounts": [
- {
- "type": "loan",
- "group": "conservative",
- "group_title": "Group A",
- "amount": 300,
- "remaining_amount": 1200,
- "total_remaining_amount": 12100,
- "personal_remaining_amount": 300,
- "has_new_brands_with_capacity": true
}
]
}Returns the decision widget payload for the authenticated investor. The widget surfaces a
contextual message (with optional secondary warning, tooltip, and CTA) tailored to the
current screen (placement) and investor state. On addcash and withdraw screens the
widget supports live recalculation based on the amount query parameter entered by the user.
| placement required | string Enum: "dashboard" "investing" "addcash" "withdraw" Example: placement=withdraw Screen where the widget is rendered. |
| amount | string <decimal> Example: amount=1000.00 User-entered amount in EUR. Used for live recalculation on |
{- "is_visible": true,
- "placement": "withdraw",
- "state": "active_round_with_balance_with_investment",
- "message_key": "withdraw_bonus_group_loss",
- "secondary_message_key": null,
- "tooltip_key": "withdraw_comparison",
- "cta_key": "go_to_investing",
- "variables": {
- "scenario_amount": 1000,
- "term_months": 6,
- "currency": "EUR",
- "bonus_group_bonus": 50,
- "bonus_group_step": 100,
- "opportunity_cost": 111.95,
- "effective_rate": 0.87,
- "moderate_rate": 9
}
}Retrieves the full profile of the authenticated investor, including personal information, investor-specific details, verification status, promotion, and AML restrictions.
{- "id": 12345,
- "email": "testuser@gmail.com",
- "first_name": "Name",
- "last_name": "Lastname",
- "phone": "+71234567890",
- "country": "Netherlands",
- "country_code": "NL",
- "city": "Den Haag",
- "address": "Harderwijkstraat 999",
- "postal_code": "123456",
- "is_verified": true,
- "date_of_birth": "1987-02-25",
- "unique_id": 42,
- "citizenship": "Netherlands",
- "is_visible": true,
- "citizenship_code": "NL",
- "investor": {
- "company_name": "Company name",
- "position": "Position",
- "monthly_investment": "2",
- "origin_of_funds": "ownership",
- "investor_type": null
}, - "status": "verified",
- "promotion": {
- "id": 1,
- "status": "accepted",
- "end_date": "2026-12-31",
- "name": "Welcome bonus",
- "is_active": true,
- "min_amount": 1000,
- "max_amount": 50000,
- "months_count": 6
}, - "is_phone_number_verified": true,
- "is_email_verified": true,
- "created_at": "2025-09-10T01:43:03.512706+03:00",
- "restrictions": [
- "add_cash",
- "investing",
- "withdraw"
]
}Returns cash movements for investor for the selected period. Pagination works only when format=json. Export formats return full dataset.
| date_from required | string <date> Start date (inclusive) |
| date_to required | string <date> End date (inclusive) |
| grouping | boolean Default: true true → grouped by (operation_type + created_at_date) false → raw operations list |
| operation_types | string Optional filter by operation type(s), comma-separated |
| format required | string Enum: "json" "csv" "xlsx" "pdf" |
| page | integer >= 1 Used only when format=json |
| limit | integer >= 1 Used only when format=json |
{- "total_count": 0,
- "total_pages": 0,
- "list": [
- {
- "operation_type": "string",
- "description": "string",
- "amount": 0,
- "balance": 0,
- "created_at": "2019-08-24",
- "invoice_link": "string"
}
]
}Shows changes of portfolio by month. Pagination used only when format=json.
| date_from required | string <date> |
| date_to required | string <date> |
| grouping | boolean Default: true true → group by fundraising false → group by loan |
| format required | string Enum: "json" "csv" "xlsx" "pdf" |
| page | integer >= 1 Used only when format=json |
| limit | integer >= 1 Used only when format=json |
{- "total_count": 0,
- "total_pages": 0,
- "list": [
- {
- "date": "2019-08-24",
- "opening_principal": 0,
- "invested": 0,
- "principal_repaid": 0,
- "interest_received": 0,
- "closing_principal": 0,
- "net_cash_invested": 0,
- "fundraising_id": 0,
- "fundraising_start_date": "2019-08-24",
- "loan_id": 0
}
]
}Shows interest income and cash bonuses for selected period. Export formats return the same fields as JSON.
| date_from required | string <date> |
| date_to required | string <date> |
| format required | string Enum: "json" "csv" "xlsx" "pdf" |
{- "interest_received": 0,
- "cash_bonuses_received": 0,
- "non_cash_bonuses_invested": 0,
- "non_cash_bonuses_received": 0,
- "non_cash_bonuses_expired": 0,
- "platform_fees": 0,
- "vat": 0,
- "vat_percent": 0,
- "notes_text": "string"
}Initiate the email change process.
| new_email required | string <email> The new email address to change to. |
{- "new_email": "user@example.com"
}{- "message": "string",
- "errors": [
- "string"
]
}Confirm the email change using the six-digit code sent to the new email address.
| code required | string The six-digit code received in the confirmation email. |
{- "code": "string"
}{- "message": "string",
- "errors": [
- "string"
]
}Returns the earnings schedule for the authenticated investor within a fundraising round, filtered by risk group (conservative or moderate).
| fundraising_id required | integer Fundraising ID |
| risk_group required | string Enum: "conservative" "moderate" Risk group type |
{- "total_earnings": 595.91,
- "flexibility_banners": [
- {
- "brands": [
- "Brand C",
- "Brand D"
], - "earnings_amount": 6.12,
- "deadline": "2026-01-05",
- "reschedule_amount": 60.54
}
], - "list": [
- {
- "deadline": "2026-01-05",
- "loan_balance": 10600,
- "earnings_percent": 1.2,
- "earnings_currency": 127.2,
- "status": "accrued",
- "flexibility_info": {
- "brands": [
- "Brand A",
- "Brand B"
], - "earnings_amount": 12.56
}
}
]
}Returns the repayment schedule for the authenticated investor within a fundraising round.
| fundraising_id required | integer Fundraising ID |
{- "show_extend_disclaimer": true,
- "list": [
- {
- "deadline": "2026-01-05",
- "total_amount": 542.67,
- "principal": 542.67,
- "interest": 0,
- "success_fee": 0,
- "flat_fee": 0,
- "payment_received": 542.67,
- "payment_date": "2026-01-05",
- "status": "paid",
- "is_extendable": false,
- "starting_balance": 13607.53,
- "ending_balance": 13064.86,
- "flat_fee_accrued": 79.5,
- "flat_fee_paid": 0,
- "flexibility_info": {
- "brands": [
- "Brand A",
- "Brand B"
], - "earnings_amount": 12.56
}
}
]
}Returns a PDF invoice for the investor's brand exclusion fee on a specific date.
| date required | string Example: date=01.01.2025 Date of the activity in DD.MM.YYYY format |
{- "message": "string",
- "errors": [
- "string"
]
}Returns a list of AML-related notifications for the current investor. Each notification corresponds to an AML case that has holds or restrictions. Dismissed resolved/rejected cases and FIU cases are excluded.
[- {
- "case_id": 42,
- "status": "DOCUMENTS_REQUIRED",
- "title": "Documents required to complete verification",
- "description": "Please provide the requested information and supporting documents by 20 March 2026.",
- "deadline": "2026-03-20",
- "subject_type": "COMPANY"
}
]Returns a list of AML-related notifications for the current founder — both the founder's own cases and their company's AML cases, in one feed. Each notification corresponds to an AML case that has holds or restrictions. Dismissed resolved/rejected cases and FIU cases are excluded.
[- {
- "case_id": 42,
- "status": "DOCUMENTS_REQUIRED",
- "title": "Documents required to complete verification",
- "description": "Please provide the requested information and supporting documents by 20 March 2026.",
- "deadline": "2026-03-20",
- "subject_type": "COMPANY"
}
]Marks a notification as dismissed so it no longer appears in the list. Only works for cases with status RESOLVED_CLEAR or REJECTED that haven't been dismissed yet. A founder may dismiss their own case or their company's case.
| case_id required | integer ID of the AML case to dismiss |
Returns the document request for the specified AML case with questionnaire questions and required document types grouped into blocks with titles and descriptions. Returns 400 with "invalid_link" if the case does not exist, does not belong to the user, or the document request is not in a submittable status (REQUESTED/OVERDUE).
| case_id required | integer Example: case_id=42 AML case ID |
{- "document_request_id": 10,
- "case_id": 42,
- "status": "REQUESTED",
- "title": "Source of funds verification",
- "description": "Please provide information about the source of your funds",
- "questionnaire": {
- "title": "Source of funds",
- "description": "Tell us where your funds come from",
- "questions": [
- {
- "id": 1,
- "text": "What is the primary source of your funds?",
- "is_required": true,
- "max_length": 500
}
]
}, - "documents": {
- "title": "Source of funds documents",
- "description": "Please upload the following documents",
- "required_documents": [
- {
- "document_type": "BANK_STATEMENT",
- "is_required": true
}
]
}, - "transactions": [
- {
- "date": "2026-01-15",
- "amount": 1500
}
]
}Submits the compliance form for the specified document request. Accepts questionnaire answers and/or document uploads depending on the template configuration. Allowed when document request status is REQUESTED or OVERDUE.
| document_request_id required | integer ID of the document request to submit |
Array of objects Answers to questionnaire questions (required if template has questionnaire) | |
Array of objects Documents to upload (required if template requires uploads) |
{- "document_request_id": 10,
- "questionnaire_answers": [
- {
- "question_id": 1,
- "answer_text": "My salary from employment at Company X"
}
], - "documents": [
- {
- "file_ids": [
- 100,
- 101
], - "document_type": "BANK_STATEMENT",
- "description": ""
}
]
}{- "status": "SUBMITTED"
}Retrieves comprehensive balance information for the investor, including total balance, invested amounts by risk groups, available cash, amounts on hold, and bonus amounts.
{- "total": 139807.16,
- "invested": 133734.6,
- "available": 5772.56,
- "on_hold": 0,
- "frozen_fee": 0,
- "available_bonus_amount": 300,
- "invested_group_a": 104254.46,
- "invested_group_b": 29480.14,
- "restricted": 525.35
}Retrieves comprehensive earnings information for the investor, including annual percentage rate (APR), total invested amounts, total earned amounts, earned bonuses, and accrued fees. Data can be grouped by risk groups.
{- "rate": 12.5,
- "invested": 543088.23,
- "earned_bonuses": 13242.47,
- "earned": 28152.93,
- "accrued": 4008.11,
- "invested_group_b": 197533.73,
- "invested_group_a": 345554.5
}| main_account_type | string Default: "personal" Enum: "personal" "business" Main account type |
{- "cash": 1000,
- "external_accounts": [
- {
- "id": 1,
- "account_type": "bank",
- "account_number": "EE123456789012345678",
- "is_sepa": true
}
]
}Creates a withdrawal request from the user's main account to the specified external account. If account_type is business, the given external account must be a business account (is_business=true).
| account required | integer ID of the external account to withdraw to |
| amount required | number <decimal> Amount to withdraw (up to 3 decimal places) |
| account_type | string Enum: "personal" "business" Main account type |
{- "account": 127,
- "amount": 10
}{- "message": "Withdrawal request sent successfully",
- "cash": 89.5
}| page | string Default: "1" Example: page=1 Page number for pagination |
| page_size | string Default: "10" Example: page_size=10 Number of items per page |
| account_type | string Default: "personal" Enum: "personal" "business" Example: account_type=personal Account type to filter activities |
| group_by_type | string Enum: "0" "1" "true" "false" Example: group_by_type=1 Group activities by type |
| group_by_fundraising | string Enum: "0" "1" "true" "false" Example: group_by_fundraising=0 Group activities by fundraising |
{- "total_count": 100,
- "total_pages": 10,
- "list": [
- {
- "id": 100,
- "details": "Account top up",
- "operation_type": "top_up",
- "amount": 100.5,
- "loan": 101,
- "fundraising": 102,
- "created_at": "2024-01-01"
}
]
}Returns a list of available activity types depending on the main account type
| account_type | string Default: "personal" Enum: "personal" "business" Type of main account. If not provided, defaults to 'personal' |
{- "funds_withdrawal": "Funds withdrawal",
- "principal_payment": "Principal payment",
- "top_up": "Top up"
}Returns a file (PDF, CSV, or XLSX) with user activities, optionally filtered and/or grouped.
| file_format required | string Enum: "pdf" "csv" "xlsx" Output file format. |
| start_date | string <date> Example: start_date=2024-01-01 Inclusive start date (YYYY-MM-DD). Defaults to system |
| end_date | string <date> Example: end_date=2024-12-31 Inclusive end date (YYYY-MM-DD). Defaults to current date. |
| operation_types | string <string> Example: operation_types=deposit,withdrawal Optional list of operation type keys. |
| loan | integer Filter by loan id. |
| fundraising | integer Filter by fundraising id. |
| group_by_type | string Default: "false" Enum: "0" "1" "true" "false" Example: group_by_type=1 Group activities by type |
| group_by_fundraising | string Default: "false" Enum: "0" "1" "true" "false" Example: group_by_fundraising=0 Group activities by fundraising |
| account_type | string Default: "personal" Enum: "personal" "business" Example: account_type=business Main account type key. |
{- "message": "string",
- "errors": [
- "string"
]
}Retrieves the current streak status for the authenticated investor. A streak represents consecutive months of investment participation. Returns information about the current streak count, status, milestone progress, income increase bonuses, net cash flow bonuses, and their corresponding limits.
{- "streak": 3,
- "status": "active",
- "title": "You’re on a 2-month streak.",
- "description": "Invest to keep it going and unlock new milestone rewards",
- "current_milestone": 3,
- "max_milestone": 18,
- "income_increase": 0.1,
- "net_cash_flow_bonus": 0.2,
- "monthly_limit_income_increase": 25,
- "monthly_limit_net_cash_flow_bonus": 50,
- "yearly_limit_income_increase": 150,
- "yearly_limit_net_cash_flow_bonus": 150
}Retrieves the complete list of milestone rewards configuration. Returns all available milestones with their corresponding reward percentages for income increase and net cash flow bonus. This data is used to display the progression and rewards system for the investment streak feature.
[- {
- "milestone": 3,
- "income_increase": 0.1,
- "net_cash_flow_bonus": 0.2
}
]Retrieves the investment streak leaderboard showing top investors ranked by their streak performance. Returns a list of leaderboard entries with investor information including rank, streak count, total rounds participated, and total invested amount. Can be filtered by country to show only investors from the same country as the authenticated user. The leaderboard includes rank change indicators (up/down) and highlights the current user's position.
| by_country | boolean Default: false Filter leaderboard by country |
[- {
- "self": false,
- "rank_state": "up",
- "rank": 125,
- "avatar": "OB",
- "country_code": "NL",
- "current_streak": 5,
- "total_rounds": 12,
- "total_invested": 15520
}
]Retrieves the complete history of the investor's streak participation across fundraising rounds. Returns a paginated list of historical streak records showing round details, investment status, and streak progression over time. Useful for tracking investment consistency and streak milestones.
| page | integer >= 1 Default: 1 Example: page=1 Page number for pagination |
| page_size | integer [ 1 .. 100 ] Default: 10 Example: page_size=10 Number of items per page |
{- "total_count": 25,
- "total_pages": 3,
- "list": [
- {
- "round_date": "2024-01-15",
- "topped_up": 500,
- "withdrawn": 200,
- "net_cash_flow": 300,
- "round_status": "counted",
- "income_increase": 0.1,
- "net_cash_flow_bonus": 0.2
}
]
}Creates a payment session with LHV bank for bank transfers, and returns a payment link and reference for the user to complete the payment.
| amount required | string Payment amount in EUR |
| payment_method required | string Payment method identifier for LHV |
| redirect_url | string <uri> Optional redirect URL after payment completion |
{- "amount": "100.50",
- "payment_method": "card",
}{- "payment_reference": "testreference"
}Returns key statistics for the promotional page including registered users count, total invested amount, average interest income, and active investors count.
{- "registered_users": "1'200+",
- "total_invested_in_brands": "€35k+",
- "average_interest_income": "15.55%",
- "active_investors": "400+"
}This endpoint checks if the provided referral code is valid and returns the referral code details.
| code required | string Referral Code |
{- "is_valid": true,
- "amount": 0.1,
- "original_amount": 0.1,
- "type": "string",
- "photo_url": "string",
- "name": "string"
}Saves the onboarding form data submitted by the founder. This includes company and founder personal information, document attachments, and financial data. Authorization is performed using a one-time secret link.
required | object |
required | object |
| balance_sheet required | Array of integers <int64> >= 0 items [ items <int64 > ] List of File IDs for balance sheet documents |
| profit_and_loss required | Array of integers <int64> >= 0 items [ items <int64 > ] List of File IDs for profit and loss documents |
| cash_flow required | Array of integers <int64> >= 0 items [ items <int64 > ] List of File IDs for cash flow documents |
| bank_statement required | Array of integers <int64> >= 0 items [ items <int64 > ] List of File IDs for bank statement documents |
| loan_agreement required | Array of integers <int64> >= 0 items [ items <int64 > ] List of File IDs for loan agreements |
required | object Arbitrary JSON structure with financial information |
{- "company": {
- "full_name": "string",
- "registration_number": "string",
- "address": "string",
- "vat_registered": true,
- "vat_country_code": "EE",
- "vat_number": 123456789
}, - "founder": {
- "first_name": "string",
- "last_name": "string",
- "email": "user@example.com"
}, - "balance_sheet": [
- 1
], - "profit_and_loss": [
- 2
], - "cash_flow": [
- 3
], - "bank_statement": [
- 4
], - "loan_agreement": [
- 5
], - "financial_data": { }
}{- "message": "Success"
}This endpoint allows retrieving basic information about a Company (registration number, full name, address, and ID) by using a one-time secret link.
{- "id": 42,
- "registration_number": "string",
- "full_name": "string",
- "address": "string",
- "is_crn_confirmed": false,
- "vat_country_code": "EE",
- "founder": {
- "first_name": "string",
- "last_name": "string",
- "email": "user@example.com"
}
}This endpoint allows a founder to confirm the registration number (CRN) of a company. - If the CRN is different and the company is not yet confirmed, it fetches fresh data from Companies House and updates the company record accordingly. - If the CRN is the same and not yet confirmed, only the company's status is updated to CRN_CONFIRMED. - If the company has already confirmed its CRN, the request will fail with a 400 error.
| registration_number required | string <= 20 characters ^[A-Za-z0-9]+$ The official company registration number (CRN). |
{- "registration_number": "12345678"
}{- "message": "Success"
}Validates provided VAT number + VAT country and returns the validation result.
| vat_number required | string VAT number to be validated |
| vat_country_code required | string Country code for the VAT number (ISO 3166-1 alpha-2) |
{- "vat_number": "123456789",
- "vat_country_code": "EE"
}{- "status": "VALID"
}| country required | string |
| country_code required | string |
| beneficiary_name required | string |
| account_number required | string |
| bank_statement required | integer |
| swift required | string |
| beneficiary_address required | string |
| beneficiary_bank required | string |
| beneficiary_bank_address required | string |
| main_account_type required | string Enum: "personal" "business" Main account type for the bank account |
{- "country": "Kazakhstan",
- "country_code": "KZ",
- "beneficiary_name": "Ivan",
- "account_number": "GB82WEST12345698765432",
- "bank_statement": 1234,
- "swift": "GB82 WEST 1234 5698",
- "beneficiary_address": "Some Street 123, City, Country",
- "beneficiary_bank": "Some Bank",
- "beneficiary_bank_address": "Some Bank Street 456, City, Country",
- "main_account_type": "business"
}[- {
- "id": 1,
- "account_number": "EE123456789012345678",
- "review_status": "pending",
- "rejected_reason": "string"
}
]Returns financial information for the authenticated founder, including personal and business accounts. If the user is a co-founder, the data is fetched from the main founder account.
{- "business": {
- "next_payment": 5000.25,
- "cash": 2050.75,
- "frozen_amount": 1150,
- "reserve_amount": 5000
}, - "personal": {
- "cash": 1000.5
}
}Returns the current fundraising status for the authenticated founder including step, goals, tariff plan, FPG options, and FPG assets verification status.
{- "step": 1,
- "goal": 5000,
- "max_goal": 10000,
- "min_goal": 25,
- "new_funds": 2000,
- "max_new_funds": 5000,
- "initial_limit": 10000,
- "raised": 3500,
- "start_date": "2025-01-01",
- "end_date": "2025-02-01",
- "cash_received": 3300,
- "disbursement_fee": 200,
- "is_active": true,
- "is_confirmed": true,
- "is_participating": true,
- "is_resold_loans": false,
- "tariff_plan": {
- "id": "stand_2m_9f",
- "title": "STANDARD",
- "fee": 8.5
}, - "available_fpg_options": [
- {
- "id": 23,
- "title": "70% FPG Cap",
- "description": "<p><span style=\"font-size:16px\">Guarantee:</span></p>",
- "amount": 1.25,
- "amount_description": "Cost: 1.25% of the principal",
- "is_default": false,
- "requires_documents": true,
- "fpg_percent": 0.7
}
], - "fpg_option": {
- "id": 33,
- "title": "20% FPG Cap"
}, - "fpg_description": "Early refinancing option with 10% of desired goal",
- "fpg_assets_status": "new",
- "refinances": [
- {
- "fundraising_name": "January 2025",
- "amount": 1500
}
], - "available_flexibility_options": [
- {
- "id": 23,
- "title": "string",
- "description": "<p><span style=\"font-size:16px\">Payments rescheduling</span></p>",
- "amount": 1.25,
- "amount_description": "on your fundraising goal",
- "is_default": false
}
], - "flexibility_option": {
- "id": 33,
- "title": "string"
}
}Creates FPG documents from uploaded protected files. Expiration date is automatically set to the end date of active or next fundraising round.
| file_ids required | Array of integers non-empty List of ProtectedFile IDs to convert to FPG documents |
{- "file_ids": [
- 123,
- 124,
- 125
]
}{- "created_count": 3
}| main_account_type required | string Enum: "personal" "business" Example: main_account_type=business Main account type |
| date required | string <date> Example: date=01.01.2025 Date in DD.MM.YYYY format |
| operation_type required | string Enum: "flat_fee" "fpg" "refinancing" "penalty" Example: operation_type=flat_fee Activity's operation type |
{- "message": "string",
- "errors": [
- "string"
]
}Sets or updates fundraising goal for the authenticated founder.
| new_funds required | number <decimal> |
| has_accepted_terms required | boolean Indicates acceptance of fundraising terms |
| fpg_option required | integer ID of selected FPG option |
| tariff_plan required | integer ID of selected tariff plan |
| flexibility_option required | integer ID of Selected flexibility option |
{- "new_funds": 10000,
- "has_accepted_terms": true,
- "fpg_option": 3,
- "tariff_plan": 1,
- "flexibility_option": 2
}{- "step": 1,
- "goal": 5000,
- "max_goal": 10000,
- "min_goal": 25,
- "new_funds": 2000,
- "max_new_funds": 5000,
- "initial_limit": 10000,
- "raised": 3500,
- "start_date": "2025-01-01",
- "end_date": "2025-02-01",
- "cash_received": 3300,
- "disbursement_fee": 200,
- "is_active": true,
- "is_confirmed": true,
- "is_participating": true,
- "is_resold_loans": false,
- "tariff_plan": {
- "id": "stand_2m_9f",
- "title": "STANDARD",
- "fee": 8.5
}, - "available_fpg_options": [
- {
- "id": 23,
- "title": "70% FPG Cap",
- "description": "<p><span style=\"font-size:16px\">Guarantee:</span></p>",
- "amount": 1.25,
- "amount_description": "Cost: 1.25% of the principal",
- "is_default": false,
- "requires_documents": true,
- "fpg_percent": 0.7
}
], - "fpg_option": {
- "id": 33,
- "title": "20% FPG Cap"
}, - "fpg_description": "Early refinancing option with 10% of desired goal",
- "fpg_assets_status": "new",
- "refinances": [
- {
- "fundraising_name": "January 2025",
- "amount": 1500
}
], - "available_flexibility_options": [
- {
- "id": 23,
- "title": "string",
- "description": "<p><span style=\"font-size:16px\">Payments rescheduling</span></p>",
- "amount": 1.25,
- "amount_description": "on your fundraising goal",
- "is_default": false
}
], - "flexibility_option": {
- "id": 33,
- "title": "string"
}
}Recalculates fundraising goal, net amount and refinancing amounts based on provided parameters (new funds, tariff plan, FPG option, flexibility option). Does not persist changes.
| new_funds | number <decimal> |
| tariff | integer or null ID of tariff plan |
| fpg | integer or null ID of FPG option |
| flexibility | integer or null ID of FPG option |
{- "new_funds": 50000,
- "tariff": 1,
- "fpg": 3,
- "flexibility": 3
}{- "goal_amount": 55000,
- "net_amount": 48000,
- "refinancing": [
- {
- "name": "January 2025",
- "amount": 3500
}
]
}Recalculates fundraising goal, net amount and refinancing amounts for an explicitly chosen fundraising round. The target round must be the current active round or the next upcoming one. Does not persist changes.
| fundraising_id required | integer >= 1 Example: 42 ID of the fundraising round to recalculate against. Must be the current active round or the next upcoming one. |
| new_funds | number <decimal> |
| tariff | integer or null ID of tariff plan |
| fpg | integer or null ID of FPG option |
| flexibility | integer or null ID of flexibility option |
{- "new_funds": 50000,
- "tariff": 1,
- "fpg": 3,
- "flexibility": 3
}{- "goal_amount": 55000,
- "net_amount": 48000,
- "refinancing": [
- {
- "name": "January 2025",
- "amount": 3500
}
]
}Returns the fundraising status dictionary (step, goals, tariff plan, FPG options, flexibility, refinances, etc.) for the founder against an explicitly chosen fundraising round. The target round must be the current active round or the next upcoming one.
| fundraising_id required | integer >= 1 Example: 42 ID of the fundraising round to load the status for. Must be the current active round or the next upcoming one. |
{- "step": 1,
- "goal": 5000,
- "max_goal": 10000,
- "min_goal": 25,
- "new_funds": 2000,
- "max_new_funds": 5000,
- "initial_limit": 10000,
- "raised": 3500,
- "start_date": "2025-01-01",
- "end_date": "2025-02-01",
- "cash_received": 3300,
- "disbursement_fee": 200,
- "is_active": true,
- "is_confirmed": true,
- "is_participating": true,
- "is_resold_loans": false,
- "tariff_plan": {
- "id": "stand_2m_9f",
- "title": "STANDARD",
- "fee": 8.5
}, - "available_fpg_options": [
- {
- "id": 23,
- "title": "70% FPG Cap",
- "description": "<p><span style=\"font-size:16px\">Guarantee:</span></p>",
- "amount": 1.25,
- "amount_description": "Cost: 1.25% of the principal",
- "is_default": false,
- "requires_documents": true,
- "fpg_percent": 0.7
}
], - "fpg_option": {
- "id": 33,
- "title": "20% FPG Cap"
}, - "fpg_description": "Early refinancing option with 10% of desired goal",
- "fpg_assets_status": "new",
- "refinances": [
- {
- "fundraising_name": "January 2025",
- "amount": 1500
}
], - "available_flexibility_options": [
- {
- "id": 23,
- "title": "string",
- "description": "<p><span style=\"font-size:16px\">Payments rescheduling</span></p>",
- "amount": 1.25,
- "amount_description": "on your fundraising goal",
- "is_default": false
}
], - "flexibility_option": {
- "id": 33,
- "title": "string"
}
}Retrieves the application for an explicitly chosen fundraising round. The caller passes the target round id as a query parameter; response shape is the standard FundraisingApplication.
| fundraising_id required | integer >= 1 Example: fundraising_id=42 ID of the fundraising round to load the application for |
{- "application_id": 42,
- "fundraising_name": "January 2026",
- "status": "NEW",
- "new_funds": 15000,
- "comment": "Please provide additional financial documents.",
- "applicable_from": "2025-12-14",
- "applicable_to": "2026-01-13",
- "refinancings": [
- {
- "fundraising_id": 101,
- "amount": 5000,
- "checked": true,
- "loan": {
- "fundraising_id": 101,
- "fundraising_name": "April 2026",
- "repayment_amount": 6495,
- "repayment_date": "2026-04-15",
- "refinancing_info": {
- "status": "applied",
- "available_option_id": 23,
- "available_option_amount": 10,
- "last_payment_amount": 6495,
- "fundraising_start_date": "2024-12-01",
- "fundraising_end_date": "2024-12-16",
- "valid_until_date": "2025-04-30",
- "refin_fee_before": "5%",
- "refin_fee_after": "7%",
- "refin_fee_late": "10%",
- "refin_fee_late_date": "2025-04-30"
}
}
}
], - "reporting": {
- "status": "ON_TIME",
- "due_date": "2025-11-07",
- "required_documents": {
- "balance_sheet": {
- "from": "2025-06-01",
- "to": "2025-11-01"
}, - "pnl": {
- "from": "2025-06-01",
- "to": "2025-11-01"
}, - "bank_statement": {
- "from": "2025-06-01",
- "to": "2025-11-01"
}, - "cash_flow": {
- "from": "2025-06-01",
- "to": "2025-11-01"
}
}
}
}Creates a FundraisingApplication in status NEW for the explicit fundraising round. No amounts or refinancings are attached at this stage — they are provided later via the submit endpoint.
| fundraising_id required | integer >= 1 ID of the fundraising round to create the application for |
{- "fundraising_id": 42
}{- "id": 17,
- "fundraising_id": 42,
- "fundraising_name": "April 2026",
- "start_date": "2026-04-01",
- "end_date": "2026-04-30",
- "status": "NEW"
}Fills amounts, refinancings and documents for an already-created application and moves it into IN_REVIEW (or RESUBMITTED when the application was previously in CHANGES_REQUESTED).
| application_id required | integer Example: 17 |
| new_funds | number <decimal> Desired amount of new funds |
| refinancings | Array of numbers <integer> [ items <integer > ] List of fundraisings to refinance |
object or null Request to upload reporting documents |
{- "new_funds": 15000,
- "refinancings": [
- 101,
- 102
], - "documents": {
- "balance_sheet": [
- 1
], - "profit_and_loss": [
- 2
], - "cash_flow": [
- 3
], - "bank_statement": [
- 4
]
}
}{- "id": 17,
- "fundraising_id": 42,
- "fundraising_name": "April 2026",
- "start_date": "2026-04-01",
- "end_date": "2026-04-30",
- "status": "NEW"
}Returns the active fundraising (or the closest upcoming one if none is active) and the round that follows it. Up to two items, ordered as [current, next].
[- {
- "fundraising_id": 120,
- "fundraising_name": "April 2026",
- "start_date": "2026-04-01",
- "end_date": "2026-04-15",
- "status": "new",
- "application_id": 42
}
]Returns a paginated list of processed fundraisings in which the founder participated, including payment progress, amounts, selected FPG option, refinancing info, and flexibility info.
{- "count": 3,
- "next": null,
- "previous": null,
- "results": [
- {
- "fundraising_id": 42,
- "end_date": "2024-12-31",
- "payment_progress": 67.43,
- "amounts": {
- "deposit": 1500,
- "success_fee": 320,
- "total_loan_amount": 25000,
- "outstanding": 8300
}, - "selected_fpg": {
- "id": 23,
- "title": "Standard FPG"
}, - "personal_guarantees": 1,
- "refinancing_info": {
- "status": "applied",
- "available_option_id": 23,
- "available_option_amount": 10,
- "last_payment_amount": 6495,
- "fundraising_start_date": "2024-12-01",
- "fundraising_end_date": "2024-12-16",
- "valid_until_date": "2025-04-30",
- "refin_fee_before": "5%",
- "refin_fee_after": "7%",
- "refin_fee_late": "10%",
- "refin_fee_late_date": "2025-04-30"
}, - "flexibility_info": {
- "status": "unavailable",
- "reschedule_fee_amount": 50
}
}
]
}Returns the payment schedule for the authenticated founder within a fundraising round. Payments are grouped by deadline. If payments were rescheduled, a breakdown by original deadlines is provided.
| fundraising_id required | integer Fundraising ID |
{- "reschedule_fee_amount": 125.5,
- "list": [
- {
- "deadline": "2026-04-15",
- "original_deadline": "2026-03-15",
- "total_amount": 1000,
- "status": "scheduled",
- "can_reschedule": true,
- "payments": [
- {
- "amount": 500,
- "original_deadline": "2026-03-15",
- "can_reschedule": false,
- "description": "Shifted from 15.03.2026"
}
]
}
]
}Allows a founder to reschedule a planned payment for a specific fundraising by providing the original deadline.
| fundraising_id required | integer Example: 12 ID of the fundraising to reschedule payment for |
| original_deadline required | string <date> The original payment deadline to be rescheduled |
{- "original_deadline": "2026-03-15"
}{- "message": "string",
- "errors": [
- "string"
]
}Returns cash movements for founder for the selected period. Pagination works only when format=json. Export formats return full dataset.
| date_from required | string <date> Start date (inclusive) |
| date_to required | string <date> End date (inclusive) |
| grouping | boolean Default: true true → grouped by (operation_type + created_at_date) false → raw operations list |
| type required | string Enum: "personal" "business" Type of main account |
| operation_types | string Optional filter by operation type(s), comma-separated |
| format required | string Enum: "json" "csv" "xlsx" "pdf" |
| page | integer >= 1 Used only when format=json |
| limit | integer >= 1 Used only when format=json |
{- "total_count": 0,
- "total_pages": 0,
- "list": [
- {
- "operation_type": "string",
- "description": "string",
- "amount": 0,
- "balance": 0,
- "created_at": "2019-08-24",
- "invoice_url": "string"
}
]
}Returns portfolio movements for founder/company for the selected period.
Pagination works only when format=json.
Export formats return full dataset.
Response structure depends on type parameter:
type=personal → PersonalPortfolioMovement schematype=business → BusinessPortfolioMovement schema| date_from required | string <date> Start date (inclusive) |
| date_to required | string <date> End date (inclusive) |
| type required | string Enum: "personal" "business" Type of portfolio movement |
| grouping required | boolean Group results by date |
| format required | string Enum: "json" "csv" "xlsx" "pdf" |
| page | integer >= 1 Used only when format=json |
| limit | integer >= 1 Used only when format=json |
{- "total_count": 0,
- "total_pages": 0,
- "list": [
- {
- "date": "2019-08-24",
- "sale_price": 0,
- "fee": 0,
- "net_received": 0,
- "fundraising_id": 0,
- "fundraising_start_date": "2019-08-24",
- "loan_id": 0
}
]
}Returns tax information for founder/company for the selected period.
Response structure depends on type parameter:
type=personal → PersonalTaxReport schematype=business → BusinessTaxReport schema| date_from required | string <date> Start date (inclusive) |
| date_to required | string <date> End date (inclusive) |
| type | string Enum: "personal" "business" Type of tax report |
| format required | string Enum: "json" "csv" "xlsx" "pdf" |
{- "sale_proceeds": 0,
- "fees": 0,
- "net_proceeds": 0,
- "notes_text": "string"
}Returns Mini FAQ content for a specific page based on user context and page parameters. The response includes frequently asked questions tailored to the user's current state and page context.
| page required | string Enum: "Dashboard" "Investing" "Profile" "SignUp" "Round" "Add_cash" "Withdraw" "Loans" "Founders" "Investors" "Activity" "affiliate" "loyalty" Example: page=Dashboard The page identifier for which to fetch Mini FAQs |
| step | integer [ 1 .. 5 ] Example: step=2 Current step in multi-step processes (e.g., investment flow) |
| is_active | boolean Example: is_active=true Whether there is an active fundraising round |
| has_previously_invested | boolean Whether the user has previously made investments |
| available_cash | number <decimal> decimal places <= 6 Example: available_cash=1500.5 User's available cash amount |
| earmarked | number <decimal> decimal places <= 6 Example: earmarked=500 Amount of cash earmarked/allocated for investment |
| investment_option | string Example: investment_option=standart User's selected investment strategy |
{- "id": 42,
- "name": "Investing. Before the round. No loans",
- "faqs": [
- {
- "id": 13,
- "faq": {
- "id": 24,
- "question": "What is a round?",
- "answer": "<p>A round is a period when investors get access to adjusting investment settings and allocating cash among businesses.</p>",
- "order": 10,
- "slug": "what-is-a-round"
}
}
]
}Returns the identity-validation pair for the authenticated user so the Chatwoot widget can call window.$chatwoot.setUser(identifier, { identifier_hash }). identifier is the user id; identifier_hash is HMAC-SHA256(<inbox secret>, identifier). The secret is per inbox and never leaves the backend. The client must not supply identifier. Available from API v5.
| inbox required | string Enum: "investor" "founder" "mobile_app" "promo" Example: inbox=investor Which Chatwoot inbox (frontend deployment) the widget is embedded in. |
{- "identifier": "4217",
- "identifier_hash": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
}Returns the KIIS shown on the brand page in the Brands gallery. The issuer section is built from the company data and Companies House; all other sections are mocked for now (see mocked_sections) and are the same for every company. Text fields are translated by Accept-Language. Crowdfunding runtime only. Available from API v5.
| company_slug required | string Example: kawaji-ltd Company slug, the same as in |
| Accept-Language | string Example: en Language of the translated fields. |
{- "version": 1,
- "updated_at": "2026-10-01",
- "mocked_sections": [
- "version",
- "updated_at",
- "offer_terms",
- "financial_information",
- "risk_factors",
- "investor_rights_and_fees"
], - "issuer": {
- "company_name": "Kawaji Ltd",
- "registration_number": null,
- "legal_form": null,
- "country_of_registration": "United Kingdom",
- "registered_address": null,
- "business_description": "Kawaji brings the worlds of collectable merch and fun drinks and snacks together.",
- "directors": [
- "Vicky Woodall"
]
}, - "offer_terms": {
- "investment_type": "Loan",
- "offer_price": 1,
- "offer_price_unit": "unit",
- "total_funding_goal": 250000,
- "minimum_investment": 10,
- "term_months": 6,
- "interest_rate": 9,
- "interest_period_months": 6,
- "currency": "EUR"
}, - "financial_information": {
- "financial_period": "FY 2025",
- "turnover": null,
- "net_assets": null,
- "recent_profit_loss": null,
- "outstanding_debt": null,
- "previous_defaults": "None reported"
}, - "risk_factors": [
- {
- "code": "loss_of_investment",
- "title": "Risk of losing your investment",
- "description": "You may lose all or part of the money invested in this offer. This can happen if the company fails to meet its obligations or the recovery process does not return enough funds."
}
], - "investor_rights_and_fees": {
- "investment_type": "Loan",
- "shareholder_rights": "Not applicable. This offer does not provide shares, voting rights, or ownership in the company",
- "dividend_structure": "Not applicable. This offer does not pay dividends",
- "interest_structure": "Fixed interest paid according to the repayment schedule",
- "transfer_restrictions": "This investment may not be transferable before the end of the term. You should be prepared to hold it until maturity",
- "reflection_period": "Non-sophisticated investors may cancel their investment during the reflection period",
- "platform_fees": "No investor platform fee"
}
}Returns detailed breakdown of the founder's next scheduled payment, including total amount, refinancing amount, payable amount, ROSF fee, and per-fundraising breakdown.
| deadline | string <date> Example: deadline=2025-01-05 Payment deadline date (YYYY-MM-DD). If not provided, uses the earliest upcoming deadline. |
{- "deadline": "2025-01-05",
- "total_amount": 9495,
- "refin_amount": 6495,
- "payable_now": 3000,
- "reporting_service_fee": 124,
- "fundraisings": [
- {
- "fundraising_name": "October 2024",
- "fundraising_id": 42,
- "principal": 6000,
- "flat_fee": 495,
- "refinancing": {
- "status": "applied",
- "available_option_id": 23,
- "available_option_amount": 10,
- "last_payment_amount": 6495,
- "fundraising_start_date": "2024-12-01",
- "fundraising_end_date": "2024-12-16",
- "valid_until_date": "2025-04-30",
- "refin_fee_before": "5%",
- "refin_fee_after": "7%",
- "refin_fee_late": "10%",
- "refin_fee_late_date": "2025-04-30"
}, - "payments": [
- {
- "original_deadline": "2026-02-15",
- "principal": 400,
- "flat_fee": 20
}
]
}
]
}Returns a detailed breakdown of payments by fundraising for a specific deadline.
| year required | integer Example: 2026 |
| month required | integer Example: 3 |
| day required | integer Example: 15 |
{- "deadline": "2025-01-05",
- "total_amount": 9495,
- "refin_amount": 6495,
- "payable_now": 3000,
- "reporting_service_fee": 124,
- "fundraisings": [
- {
- "fundraising_name": "October 2024",
- "fundraising_id": 42,
- "principal": 6000,
- "flat_fee": 495,
- "refinancing": {
- "status": "applied",
- "available_option_id": 23,
- "available_option_amount": 10,
- "last_payment_amount": 6495,
- "fundraising_start_date": "2024-12-01",
- "fundraising_end_date": "2024-12-16",
- "valid_until_date": "2025-04-30",
- "refin_fee_before": "5%",
- "refin_fee_after": "7%",
- "refin_fee_late": "10%",
- "refin_fee_late_date": "2025-04-30"
}, - "payments": [
- {
- "original_deadline": "2026-02-15",
- "principal": 400,
- "flat_fee": 20
}
]
}
]
}Returns a paginated list of upcoming payment deadlines for the founder. The first deadline (shown in /next_payment/) is excluded from this list.
| page | integer >= 1 Default: 1 Page number for pagination |
| limit | integer [ 1 .. 100 ] Default: 20 Number of items per page |
{- "total_count": 5,
- "total_pages": 1,
- "list": [
- {
- "deadline": "2025-02-05",
- "total_amount": 9742,
- "outstanding": 0,
- "refin_available": false
}
]
}Returns the current take rate status for the authenticated founder, including the active reporting mode and period in months.
{- "reporting_mode": "TRANSPARENT",
- "period_months": 3,
- "next_reporting_mode": "TRANSPARENT",
- "next_reporting_mode_from": "2025-02-01"
}Returns a list of all available reporting modes with their parameters, including period duration, service fee percentage, and non-compliance fee percentage.
[- {
- "reporting_mode": "TRANSPARENT",
- "period_months": 3,
- "service_fee": 0.5,
- "non_compliance_fee": 1,
- "is_available": true
}
]Applies the specified reporting mode for the authenticated founder. This changes the founder's take rate settings and reporting schedule.
| reporting_mode required | string (ReportingModeEnum) Enum: "TRANSPARENT" "OPAQUE" Available reporting mode types:
|
{- "reporting_mode": "TRANSPARENT"
}{- "reporting_mode": "TRANSPARENT",
- "period_months": 3,
- "next_reporting_mode": "TRANSPARENT",
- "next_reporting_mode_from": "2025-02-01"
}Returns a list of reporting periods that are awaiting document submission. Includes periods with status PENDING or OVERDUE where the full package has not been accepted yet.
[- {
- "id": 42,
- "period_from": "2025-11-01",
- "period_to": "2026-01-31",
- "due_date": "2026-03-07",
- "status_report": "AWAITING",
- "status_documents": "PASS",
- "penalty": {
- "days_left": 2,
- "amount": 150
}
}
]Returns a paginated list of reporting periods where the document package has been submitted. Includes historical data with submission status and any applied penalties.
| page | integer >= 1 Default: 1 Example: page=1 Page number for pagination |
| page_size | integer [ 1 .. 100 ] Default: 10 Example: page_size=10 Number of items per page |
{- "total_count": 24,
- "total_pages": 3,
- "list": [
- {
- "id": 42,
- "period_from": "2025-11-01",
- "period_to": "2026-01-31",
- "due_date": "2026-03-07",
- "status_report": "AWAITING",
- "status_documents": "PASS",
- "penalty": {
- "days_left": 2,
- "amount": 150
}
}
]
}Returns detailed information about a specific reporting period, including period dates, submission status, and document review status.
| id required | integer Example: 42 Reporting period ID |
{- "id": 42,
- "period_from": "2025-11-01",
- "period_to": "2026-01-31",
- "due_date": "2026-03-07",
- "status_report": "AWAITING",
- "status_documents": "PASS",
- "next_due_date": "2026-06-07",
- "required_documents": {
- "balance_sheet": {
- "from": "2025-06-01",
- "to": "2025-11-01"
}, - "pnl": {
- "from": "2025-06-01",
- "to": "2025-11-01"
}, - "bank_statement": {
- "from": "2025-06-01",
- "to": "2025-11-01"
}, - "cash_flow": {
- "from": "2025-06-01",
- "to": "2025-11-01"
}
}
}Uploads documents for a specific reporting period. Required documents: balance sheet, profit and loss statement, bank statement. Optional: cash flow statement.
| id required | integer Example: 42 Reporting period ID |
| balance_sheet | Array of integers <int64> >= 0 items [ items <int64 > ] List of File IDs for balance sheet documents |
| profit_and_loss | Array of integers <int64> >= 0 items [ items <int64 > ] List of File IDs for profit and loss statement documents |
| cash_flow | Array of integers <int64> >= 0 items [ items <int64 > ] List of File IDs for cash flow statement documents (optional) |
| bank_statement | Array of integers <int64> >= 0 items [ items <int64 > ] List of File IDs for bank statement documents |
{- "balance_sheet": [
- 1
], - "profit_and_loss": [
- 2
], - "cash_flow": [
- 3
], - "bank_statement": [
- 4
]
}{- "id": 42,
- "period_from": "2025-11-01",
- "period_to": "2026-01-31",
- "due_date": "2026-03-07",
- "status_report": "AWAITING",
- "status_documents": "PASS",
- "next_due_date": "2026-06-07",
- "required_documents": {
- "balance_sheet": {
- "from": "2025-06-01",
- "to": "2025-11-01"
}, - "pnl": {
- "from": "2025-06-01",
- "to": "2025-11-01"
}, - "bank_statement": {
- "from": "2025-06-01",
- "to": "2025-11-01"
}, - "cash_flow": {
- "from": "2025-06-01",
- "to": "2025-11-01"
}
}
}