Scramble API v5 (5.0.0)

Download OpenAPI specification:

This snapshot documents the v5 API surface. Runtime versioning is controlled by the request header.

Authentication

Logout user

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.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Calculator

Returns a calculation result for a Simple calculation mode

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.

query 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

Responses

Response samples

Content type
application/json
{
  • "total_amount": 0.1,
  • "total_bonus": 0.1,
  • "total_interest": 0.1,
  • "irr": 0.1,
  • "earnings": [
    ],
  • "repayments": [
    ]
}

Returns a calculation result for a Growth calculation mode

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.

query 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

Responses

Response samples

Content type
application/json
{
  • "total_amount": 0.1,
  • "total_bonus": 0.1,
  • "total_contributions": 0.1,
  • "total_interest": 0.1,
  • "irr": 0.1,
  • "projected_growth": [
    ]
}

Returns a calculation result for a Goal calculation mode

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.

query 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

Responses

Response samples

Content type
application/json
{
  • "required_investment": 0.1,
  • "projected_growth": [
    ]
}

Returns a text message from Did You Know

This endpoint returns a random text message from the Did You Know section based on the user's country and monthly investments.

query Parameters
country
string

User Country

monthly_investments
integer
Default: 0

Monthly Investments

Responses

Response samples

Content type
application/json
{
  • "text": "string"
}

Returns constants for a calculation

This endpoint returns constants used in calculations, such as IRR for different groups, investment ranges, and bank deposit rates.

Responses

Response samples

Content type
application/json
{
  • "irr_group_a": 0.1,
  • "irr_group_b": 0.1,
  • "initial_investment_range": {
    },
  • "monthly_investment_range": {
    },
  • "investment_term_range": {
    },
  • "total_amount_range": {
    },
  • "bank_deposit": 0.1,
  • "global_stocks": 0.1
}

Loyalty program

Get current loyalty status

Returns the current loyalty status of the user, including level slug, level name, net inflow, and participation rate.

Responses

Response samples

Content type
application/json
{
  • "level_slug": "string",
  • "level_name": "string",
  • "icon_url": "string",
  • "net_inflow": 0,
  • "participation_rate": 0
}

Get a list of available loyalty statuses

Returns a list of available loyalty statuses with their properties.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get reservation limits for the user

Returns the reservation limits for the user, including personal limit and reservation time left.

Responses

Response samples

Content type
application/json
{
  • "personal_limit": 0,
  • "reservation_time_left": 0,
  • "available_reserve": 0,
  • "next_available_reserve": 0,
  • "next_available_reserve_opens_at": "2019-08-24"
}

Reserve an amount for the user

Allows the user to reserve an amount for future investment.

Responses

Response samples

Content type
application/json
{
  • "reserved_amount": 0,
  • "reservation_expires_at": "2019-08-24T14:15:22Z"
}

Investing

Get investment group stats

Returns group limits and remaining amounts for risk groups in active or next fundraising round.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get current investment strategy status

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.

Responses

Response samples

Content type
application/json
{
  • "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
}

Get brands for investments selection

Returns the list of brands (Company) that are available for investment selection, including whether each brand is currently selected (kept for investments).

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "fee": 0.55,
  • "fee_amount": 5.5,
  • "excluded": 0,
  • "list": [
    ]
}

Save selected brands to keep for investments

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.

Authorizations:
bearerAuth
Request Body schema: application/json
required
Array
integer

Responses

Request samples

Content type
application/json
[
  • 1
]

Response samples

Content type
application/json
{
  • "fee": 0.55,
  • "fee_amount": 5.5,
  • "excluded": 0,
  • "list": [
    ]
}

Confirm investment strategy setup

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.

Request Body schema: application/json
required
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)

Responses

Request samples

Content type
application/json
{
  • "has_accepted_terms_a": true,
  • "has_accepted_terms_b": true
}

Response samples

Content type
application/json
{
  • "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
}

Get recent investment results

Retrieves investment results from the most recently processed fundraising round. Shows how much was invested per risk group, allocated amounts, and bonus information.

Responses

Response samples

Content type
application/json
{
  • "total_invested": 750.5,
  • "initially_allocated": 1000,
  • "groups": [
    ],
  • "bonus_amount": 25
}

Update investor phone number

Updates the phone number for the authenticated investor and returns the updated investor profile

Request Body schema: application/json
required
phone_number
required
string

New phone number in international format

Responses

Request samples

Content type
application/json
{
  • "phone_number": "+71234567890"
}

Response samples

Content type
application/json
{
  • "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,
  • "photo": {},
  • "date_of_birth": "1987-02-25",
  • "unique_id": 42,
  • "citizenship": "Netherlands",
  • "is_visible": true,
  • "citizenship_code": "NL",
  • "investor": {
    },
  • "status": "verified",
  • "promotion": {
    },
  • "is_phone_number_verified": true,
  • "is_email_verified": true,
  • "created_at": "2025-09-10T01:43:03.512706+03:00",
  • "restrictions": [
    ]
}

Get funds allocation information

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.

Responses

Response samples

Content type
application/json
{
  • "is_on_hold": false,
  • "reinvest": true,
  • "bonus_amount": 25,
  • "allocated_bonus_amount": 25,
  • "accounts": [
    ]
}

Get investment strategy intermediate allocation data

Retrieves current intermediate allocation information for the investor's strategy, including cash balance, risk group allocations, remaining amounts, and confirmation status.

Responses

Response samples

Content type
application/json
{
  • "total_allocated": 500,
  • "bonus_amount": 25,
  • "allocated_bonus_amount": 25,
  • "has_confirmed": true,
  • "accounts": [
    ]
}

Set investment strategy intermediate allocation amounts

Sets allocation amounts for conservative (Group A) and moderate (Group B) risk groups in the investment strategy.

Request Body schema: application/json
required
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)

Responses

Request samples

Content type
application/json
{
  • "group_a_amount": 300,
  • "group_b_amount": 200
}

Response samples

Content type
application/json
{
  • "total_allocated": 500,
  • "bonus_amount": 25,
  • "allocated_bonus_amount": 25,
  • "has_confirmed": true,
  • "accounts": [
    ]
}

Add amounts to current intermediate allocation values

Adds the specified amounts to existing intermediate allocation values instead of replacing them.

Request Body schema: application/json
required
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)

Responses

Request samples

Content type
application/json
{
  • "group_a_amount": 300,
  • "group_b_amount": 200
}

Response samples

Content type
application/json
{
  • "total_allocated": 500,
  • "bonus_amount": 25,
  • "allocated_bonus_amount": 25,
  • "has_confirmed": true,
  • "accounts": [
    ]
}

Get decision widget content

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.

Authorizations:
bearerAuth
query Parameters
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 addcash and withdraw screens. Ignored on other placements.

Responses

Response samples

Content type
application/json
Example
{
  • "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": {
    }
}

Profile

Get investor profile

Retrieves the full profile of the authenticated investor, including personal information, investor-specific details, verification status, promotion, and AML restrictions.

Responses

Response samples

Content type
application/json
{
  • "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,
  • "photo": {},
  • "date_of_birth": "1987-02-25",
  • "unique_id": 42,
  • "citizenship": "Netherlands",
  • "is_visible": true,
  • "citizenship_code": "NL",
  • "investor": {
    },
  • "status": "verified",
  • "promotion": {
    },
  • "is_phone_number_verified": true,
  • "is_email_verified": true,
  • "created_at": "2025-09-10T01:43:03.512706+03:00",
  • "restrictions": [
    ]
}

Investor reports

Investor Cash Movements report

Returns cash movements for investor for the selected period. Pagination works only when format=json. Export formats return full dataset.

query Parameters
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

Responses

Response samples

Content type
{
  • "total_count": 0,
  • "total_pages": 0,
  • "list": [
    ]
}

Investor Portfolio Movements report

Shows changes of portfolio by month. Pagination used only when format=json.

query Parameters
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

Responses

Response samples

Content type
{
  • "total_count": 0,
  • "total_pages": 0,
  • "list": [
    ]
}

Investor Tax Report

Shows interest income and cash bonuses for selected period. Export formats return the same fields as JSON.

query Parameters
date_from
required
string <date>
date_to
required
string <date>
format
required
string
Enum: "json" "csv" "xlsx" "pdf"

Responses

Response samples

Content type
{
  • "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"
}

Investors

Request email change

Initiate the email change process.

Authorizations:
bearerAuth
Request Body schema: application/json
required
new_email
required
string <email>

The new email address to change to.

Responses

Request samples

Content type
application/json
{
  • "new_email": "user@example.com"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "errors": [
    ]
}

Resend email change code

Resend the six-digit confirmation code to the new email address.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "errors": [
    ]
}

Verify email change

Confirm the email change using the six-digit code sent to the new email address.

Authorizations:
bearerAuth
Request Body schema: application/json
required
code
required
string

The six-digit code received in the confirmation email.

Responses

Request samples

Content type
application/json
{
  • "code": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "errors": [
    ]
}

Get investor earnings schedule for a fundraising

Returns the earnings schedule for the authenticated investor within a fundraising round, filtered by risk group (conservative or moderate).

Authorizations:
bearerAuth
path Parameters
fundraising_id
required
integer

Fundraising ID

risk_group
required
string
Enum: "conservative" "moderate"

Risk group type

Responses

Response samples

Content type
application/json
{
  • "total_earnings": 595.91,
  • "flexibility_banners": [
    ],
  • "list": [
    ]
}

Get investor repayment schedule for a fundraising

Returns the repayment schedule for the authenticated investor within a fundraising round.

Authorizations:
bearerAuth
path Parameters
fundraising_id
required
integer

Fundraising ID

Responses

Response samples

Content type
application/json
{
  • "show_extend_disclaimer": true,
  • "list": [
    ]
}

Get investor invoice PDF for brand exclusion fee

Returns a PDF invoice for the investor's brand exclusion fee on a specific date.

Authorizations:
bearerAuth
query Parameters
date
required
string
Example: date=01.01.2025

Date of the activity in DD.MM.YYYY format

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "errors": [
    ]
}

AML

Get AML notifications for authenticated investor

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.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Dismiss a resolved/rejected AML notification

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.

path Parameters
case_id
required
integer

ID of the AML case to dismiss

Responses

Get AML notifications for authenticated founder

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.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Dismiss a resolved/rejected AML notification (founder)

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.

path Parameters
case_id
required
integer

ID of the AML case to dismiss

Responses

Get compliance form data

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).

query Parameters
case_id
required
integer
Example: case_id=42

AML case ID

Responses

Response samples

Content type
application/json
{
  • "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": {
    },
  • "documents": {
    },
  • "transactions": [
    ]
}

Submit compliance form

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.

Request Body schema: application/json
required
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)

Responses

Request samples

Content type
application/json
{
  • "document_request_id": 10,
  • "questionnaire_answers": [
    ],
  • "documents": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUBMITTED"
}

Dashboard

Get investor balance information

Retrieves comprehensive balance information for the investor, including total balance, invested amounts by risk groups, available cash, amounts on hold, and bonus amounts.

Responses

Response samples

Content type
application/json
{
  • "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
}

Get investor earnings information

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.

Responses

Response samples

Content type
application/json
{
  • "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
}

Common

Get list of Banners

Returns a list of active banners for investor dashboard. Requires authentication.

Authorizations:
bearerAuth
query Parameters
include_deactivated
boolean
Default: false

Include deactivated banners in response (for admin purposes)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get list of VAT countries

Returns a list of countries with specific VAT information.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get withdrawal information

query Parameters
main_account_type
string
Default: "personal"
Enum: "personal" "business"

Main account type

Responses

Response samples

Content type
application/json
{
  • "cash": 1000,
  • "external_accounts": [
    ]
}

Create withdraw request

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).

Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
Example
{
  • "account": 127,
  • "amount": 10
}

Response samples

Content type
application/json
{
  • "message": "Withdrawal request sent successfully",
  • "cash": 89.5
}

Get list of activities

query Parameters
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

Responses

Response samples

Content type
application/json
{
  • "total_count": 100,
  • "total_pages": 10,
  • "list": [
    ]
}

Get list of activity types

Returns a list of available activity types depending on the main account type

query Parameters
account_type
string
Default: "personal"
Enum: "personal" "business"

Type of main account. If not provided, defaults to 'personal'

Responses

Response samples

Content type
application/json
{
  • "funds_withdrawal": "Funds withdrawal",
  • "principal_payment": "Principal payment",
  • "top_up": "Top up"
}

Download user activities

Returns a file (PDF, CSV, or XLSX) with user activities, optionally filtered and/or grouped.

Authorizations:
bearerAuthcookieAuth
path Parameters
file_format
required
string
Enum: "pdf" "csv" "xlsx"

Output file format.

query Parameters
start_date
string <date>
Example: start_date=2024-01-01

Inclusive start date (YYYY-MM-DD). Defaults to system ACTIVITY_DOWNLOAD_DEFAULT_START_DATE.

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.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "errors": [
    ]
}

Investment Streak

Get investor streak status

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.

Responses

Response samples

Content type
application/json
{
  • "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
}

Get investor milestone rewards

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.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get investor streak leaderboard

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.

query Parameters
by_country
boolean
Default: false

Filter leaderboard by country

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get investor streak history

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.

query Parameters
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

Responses

Response samples

Content type
application/json
{
  • "total_count": 25,
  • "total_pages": 3,
  • "list": [
    ]
}

Payments

Create LHV payment session

Creates a payment session with LHV bank for bank transfers, and returns a payment link and reference for the user to complete the payment.

Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Public

Get promotional page statistics

Returns key statistics for the promotional page including registered users count, total invested amount, average interest income, and active investors count.

Responses

Response samples

Content type
application/json
{
  • "registered_users": "1'200+",
  • "total_invested_in_brands": "€35k+",
  • "average_interest_income": "15.55%",
  • "active_investors": "400+"
}

Check if a referral code is valid

This endpoint checks if the provided referral code is valid and returns the referral code details.

path Parameters
code
required
string

Referral Code

Responses

Response samples

Content type
application/json
{
  • "is_valid": true,
  • "amount": 0.1,
  • "original_amount": 0.1,
  • "type": "string",
  • "photo_url": "string",
  • "name": "string"
}

Onboarding

Submit onboarding form

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.

Authorizations:
secret
Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "company": {
    },
  • "founder": {
    },
  • "balance_sheet": [
    ],
  • "profit_and_loss": [
    ],
  • "cash_flow": [
    ],
  • "bank_statement": [
    ],
  • "loan_agreement": [
    ],
  • "financial_data": { }
}

Response samples

Content type
application/json
{
  • "message": "Success"
}

Get company info via one-time secret link

This endpoint allows retrieving basic information about a Company (registration number, full name, address, and ID) by using a one-time secret link.

Authorizations:
secret

Responses

Response samples

Content type
application/json
{
  • "id": 42,
  • "registration_number": "string",
  • "full_name": "string",
  • "address": "string",
  • "is_crn_confirmed": false,
  • "vat_country_code": "EE",
  • "founder": {
    }
}

Confirm CRN and refresh company data from Companies House

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.

Authorizations:
secret
Request Body schema: application/json
required
registration_number
required
string <= 20 characters ^[A-Za-z0-9]+$

The official company registration number (CRN).

Responses

Request samples

Content type
application/json
{
  • "registration_number": "12345678"
}

Response samples

Content type
application/json
{
  • "message": "Success"
}

Validate VAT number

Validates provided VAT number + VAT country and returns the validation result.

Authorizations:
secret
Request Body schema: application/json
required
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)

Responses

Request samples

Content type
application/json
{
  • "vat_number": "123456789",
  • "vat_country_code": "EE"
}

Response samples

Content type
application/json
{
  • "status": "VALID"
}

Founders

Get bank accounts list

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new bank account

Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "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"
}

Response samples

Content type
application/json
[
  • {
    }
]

Get founder's financial information

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.

Responses

Response samples

Content type
application/json
{
  • "business": {
    },
  • "personal": {
    }
}

Get founder's fundraising status

Returns the current fundraising status for the authenticated founder including step, goals, tariff plan, FPG options, and FPG assets verification status.

Responses

Response samples

Content type
application/json
{
  • "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": {
    },
  • "available_fpg_options": [
    ],
  • "fpg_option": {
    },
  • "fpg_description": "Early refinancing option with 10% of desired goal",
  • "fpg_assets_status": "new",
  • "refinances": [
    ],
  • "available_flexibility_options": [
    ],
  • "flexibility_option": {
    }
}

Save FPG asset documents

Creates FPG documents from uploaded protected files. Expiration date is automatically set to the end date of active or next fundraising round.

Request Body schema: application/json
required
file_ids
required
Array of integers non-empty

List of ProtectedFile IDs to convert to FPG documents

Responses

Request samples

Content type
application/json
{
  • "file_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "created_count": 3
}

Get founder next payment info

Returns next scheduled payment info for the founder dashboard widget.

Responses

Response samples

Content type
application/json
{
  • "next_payment_amount": 12500,
  • "next_payment_total": 15000,
  • "next_payment_refinanced": 2500,
  • "next_payment_date": "2025-06-05"
}

Get invoice PDF

query Parameters
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

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "errors": [
    ]
}

Set fundraising goal

Sets or updates fundraising goal for the authenticated founder.

Authorizations:
bearerAuth
Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "new_funds": 10000,
  • "has_accepted_terms": true,
  • "fpg_option": 3,
  • "tariff_plan": 1,
  • "flexibility_option": 2
}

Response samples

Content type
application/json
{
  • "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": {
    },
  • "available_fpg_options": [
    ],
  • "fpg_option": {
    },
  • "fpg_description": "Early refinancing option with 10% of desired goal",
  • "fpg_assets_status": "new",
  • "refinances": [
    ],
  • "available_flexibility_options": [
    ],
  • "flexibility_option": {
    }
}

Recalculate fundraising goal

Recalculates fundraising goal, net amount and refinancing amounts based on provided parameters (new funds, tariff plan, FPG option, flexibility option). Does not persist changes.

Authorizations:
bearerAuth
Request Body schema: application/json
optional
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

Responses

Request samples

Content type
application/json
{
  • "new_funds": 50000,
  • "tariff": 1,
  • "fpg": 3,
  • "flexibility": 3
}

Response samples

Content type
application/json
{
  • "goal_amount": 55000,
  • "net_amount": 48000,
  • "refinancing": [
    ]
}

Recalculate fundraising goal for a specific round

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.

Authorizations:
bearerAuth
path Parameters
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.

Request Body schema: application/json
optional
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

Responses

Request samples

Content type
application/json
{
  • "new_funds": 50000,
  • "tariff": 1,
  • "fpg": 3,
  • "flexibility": 3
}

Response samples

Content type
application/json
{
  • "goal_amount": 55000,
  • "net_amount": 48000,
  • "refinancing": [
    ]
}

Get founder's fundraising status for a specific round

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.

Authorizations:
bearerAuth
path Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "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": {
    },
  • "available_fpg_options": [
    ],
  • "fpg_option": {
    },
  • "fpg_description": "Early refinancing option with 10% of desired goal",
  • "fpg_assets_status": "new",
  • "refinances": [
    ],
  • "available_flexibility_options": [
    ],
  • "flexibility_option": {
    }
}

Get fundraising application details

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.

Authorizations:
bearerAuth
query Parameters
fundraising_id
required
integer >= 1
Example: fundraising_id=42

ID of the fundraising round to load the application for

Responses

Response samples

Content type
application/json
{
  • "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": [
    ],
  • "reporting": {
    }
}

Get fundraising application status

Retrieves the status of the fundraising application for next or current fundraising.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "NEW"
}

Create a new fundraising application

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.

Authorizations:
bearerAuth
Request Body schema: application/json
required
fundraising_id
required
integer >= 1

ID of the fundraising round to create the application for

Responses

Request samples

Content type
application/json
{
  • "fundraising_id": 42
}

Response samples

Content type
application/json
{
  • "id": 17,
  • "fundraising_id": 42,
  • "fundraising_name": "April 2026",
  • "start_date": "2026-04-01",
  • "end_date": "2026-04-30",
  • "status": "NEW"
}

Submit an existing fundraising application

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).

Authorizations:
bearerAuth
path Parameters
application_id
required
integer
Example: 17
Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "new_funds": 15000,
  • "refinancings": [
    ],
  • "documents": {
    }
}

Response samples

Content type
application/json
{
  • "id": 17,
  • "fundraising_id": 42,
  • "fundraising_name": "April 2026",
  • "start_date": "2026-04-01",
  • "end_date": "2026-04-30",
  • "status": "NEW"
}

Get fundraising application status by application ID

Retrieves the status of an application identified by its own ID.

Authorizations:
bearerAuth
path Parameters
application_id
required
integer
Example: 17

Responses

Response samples

Content type
application/json
{
  • "status": "NEW"
}

Get current and next fundraisings

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].

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List fundraisings with founder loan information

Returns a paginated list of processed fundraisings in which the founder participated, including payment progress, amounts, selected FPG option, refinancing info, and flexibility info.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 3,
  • "next": null,
  • "previous": null,
  • "results": [
    ]
}

Get founder payment schedule for a fundraising

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.

Authorizations:
bearerAuth
path Parameters
fundraising_id
required
integer

Fundraising ID

Responses

Response samples

Content type
application/json
{
  • "reschedule_fee_amount": 125.5,
  • "list": [
    ]
}

Reschedule payment for fundraising

Allows a founder to reschedule a planned payment for a specific fundraising by providing the original deadline.

Authorizations:
bearerAuth
path Parameters
fundraising_id
required
integer
Example: 12

ID of the fundraising to reschedule payment for

Request Body schema: application/json
required
original_deadline
required
string <date>

The original payment deadline to be rescheduled

Responses

Request samples

Content type
application/json
{
  • "original_deadline": "2026-03-15"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "errors": [
    ]
}

Founder reports

Founder Cash Movements report

Returns cash movements for founder for the selected period. Pagination works only when format=json. Export formats return full dataset.

query Parameters
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

Responses

Response samples

Content type
{
  • "total_count": 0,
  • "total_pages": 0,
  • "list": [
    ]
}

Founder Portfolio Movements report

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 schema
  • type=business → BusinessPortfolioMovement schema
query Parameters
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

Responses

Response samples

Content type
{
  • "total_count": 0,
  • "total_pages": 0,
  • "list": [
    ]
}

Founder Tax report

Returns tax information for founder/company for the selected period. Response structure depends on type parameter:

  • type=personal → PersonalTaxReport schema
  • type=business → BusinessTaxReport schema
query Parameters
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"

Responses

Response samples

Content type
Example
{
  • "sale_proceeds": 0,
  • "fees": 0,
  • "net_proceeds": 0,
  • "notes_text": "string"
}

Core

Get Mini FAQ for a specific page

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.

query Parameters
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

Responses

Response samples

Content type
application/json
{
  • "id": 42,
  • "name": "Investing. Before the round. No loans",
  • "faqs": [
    ]
}

Get Chatwoot identity validation payload

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.

Authorizations:
bearerAuth
query Parameters
inbox
required
string
Enum: "investor" "founder" "mobile_app" "promo"
Example: inbox=investor

Which Chatwoot inbox (frontend deployment) the widget is embedded in.

Responses

Response samples

Content type
application/json
{
  • "identifier": "4217",
  • "identifier_hash": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
}

Companies

Get Key investment information sheet (KIIS) of a brand

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.

product: ["crowdfunding"]
Authorizations:
bearerAuth
path Parameters
company_slug
required
string
Example: kawaji-ltd

Company slug, the same as in GET /companies/{company_slug}/.

header Parameters
Accept-Language
string
Example: en

Language of the translated fields.

Responses

Response samples

Content type
application/json
{
  • "version": 1,
  • "updated_at": "2026-10-01",
  • "mocked_sections": [
    ],
  • "issuer": {
    },
  • "offer_terms": {
    },
  • "financial_information": {
    },
  • "risk_factors": [
    ],
  • "investor_rights_and_fees": {
    }
}

Funds

Get next payment details

Returns detailed breakdown of the founder's next scheduled payment, including total amount, refinancing amount, payable amount, ROSF fee, and per-fundraising breakdown.

query Parameters
deadline
string <date>
Example: deadline=2025-01-05

Payment deadline date (YYYY-MM-DD). If not provided, uses the earliest upcoming deadline.

Responses

Response samples

Content type
application/json
{
  • "deadline": "2025-01-05",
  • "total_amount": 9495,
  • "refin_amount": 6495,
  • "payable_now": 3000,
  • "reporting_service_fee": 124,
  • "fundraisings": [
    ]
}

Payment breakdown for a deadline

Returns a detailed breakdown of payments by fundraising for a specific deadline.

Authorizations:
bearerAuth
path Parameters
year
required
integer
Example: 2026
month
required
integer
Example: 3
day
required
integer
Example: 15

Responses

Response samples

Content type
application/json
{
  • "deadline": "2025-01-05",
  • "total_amount": 9495,
  • "refin_amount": 6495,
  • "payable_now": 3000,
  • "reporting_service_fee": 124,
  • "fundraisings": [
    ]
}

Get payment schedule

Returns a paginated list of upcoming payment deadlines for the founder. The first deadline (shown in /next_payment/) is excluded from this list.

query Parameters
page
integer >= 1
Default: 1

Page number for pagination

limit
integer [ 1 .. 100 ]
Default: 20

Number of items per page

Responses

Response samples

Content type
application/json
{
  • "total_count": 5,
  • "total_pages": 1,
  • "list": [
    ]
}

Reporting

Get current take rate status

Returns the current take rate status for the authenticated founder, including the active reporting mode and period in months.

Responses

Response samples

Content type
application/json
{
  • "reporting_mode": "TRANSPARENT",
  • "period_months": 3,
  • "next_reporting_mode": "TRANSPARENT",
  • "next_reporting_mode_from": "2025-02-01"
}

Get available reporting modes

Returns a list of all available reporting modes with their parameters, including period duration, service fee percentage, and non-compliance fee percentage.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Apply a reporting mode

Applies the specified reporting mode for the authenticated founder. This changes the founder's take rate settings and reporting schedule.

Request Body schema: application/json
required
reporting_mode
required
string (ReportingModeEnum)
Enum: "TRANSPARENT" "OPAQUE"

Available reporting mode types:

  • TRANSPARENT: More frequent reporting (every 3 months), no monthly service fee
  • OPAQUE: Less frequent reporting (every 8 months by default), monthly service fee applies

Responses

Request samples

Content type
application/json
{
  • "reporting_mode": "TRANSPARENT"
}

Response samples

Content type
application/json
{
  • "reporting_mode": "TRANSPARENT",
  • "period_months": 3,
  • "next_reporting_mode": "TRANSPARENT",
  • "next_reporting_mode_from": "2025-02-01"
}

Get pending reports

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.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get submitted reports history

Returns a paginated list of reporting periods where the document package has been submitted. Includes historical data with submission status and any applied penalties.

query Parameters
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

Responses

Response samples

Content type
application/json
{
  • "total_count": 24,
  • "total_pages": 3,
  • "list": [
    ]
}

Get report details

Returns detailed information about a specific reporting period, including period dates, submission status, and document review status.

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 42

Reporting period ID

Responses

Response samples

Content type
application/json
{
  • "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": {
    }
}

Upload report documents

Uploads documents for a specific reporting period. Required documents: balance sheet, profit and loss statement, bank statement. Optional: cash flow statement.

Authorizations:
bearerAuth
path Parameters
id
required
integer
Example: 42

Reporting period ID

Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "balance_sheet": [
    ],
  • "profit_and_loss": [
    ],
  • "cash_flow": [
    ],
  • "bank_statement": [
    ]
}

Response samples

Content type
application/json
{
  • "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": {
    }
}