List or sync investments
GET/investments
The investment records the token may see, served from published state (docs: Investments: list, sync, retrieve). The audience is the union of the companies the token's user edits (their founder-visible records) and the user's own investments (every applied record of theirs, whatever its status). Filters narrow within that audience; they never widen it.
Three ways to call it:
- List (no
cursor, noupdated_since): the current records, tombstones excluded, ordered by investment. Page withmeta.next_cursorwhilemeta.has_more; the final page's cursor is a sync cursor positioned at the moment the listing started. - Sync by cursor: only the records whose published state changed since the cursor,
one record per investment, tombstones included (
visible: falsewithid,observed_at,cursorandreason, and no payload fields). Apply incursororder; always storemeta.next_cursor. Filters are not encoded in the cursor: repeat the samecompany_id,offering_idorinvestor_idon every sync request, or the sync widens to the whole audience. - Sync by time:
updated_since=<ISO 8601>is sugar for a cursor at the ledger position just before that time (with a 60 s safety margin). The response is a normal sync page, so continue with itsmeta.next_cursor.
Records are eventually consistent (about ten minutes on the common paths); each carries
observed_at. GET /investments/{id} returns the same shape derived now. Investor
identity fields on other investors' records require read:investors:pii; a user always
sees their own. Money is integer minor units plus amounts.currency.
410 Gone means the cursor or updated_since predates the 90-day retention window:
list again and replace your dataset. status cannot be combined with sync (a record
leaving the status would never be delivered).
Request
Responses
- 200
- 400
- 401
- 404
- 410
- 429
A page of records.
Malformed cursor or updated_since, unknown status, or status combined with sync.
Authentication required or token is invalid/expired. This error occurs when:
- No Authorization header is provided
- The access token is invalid or malformed
- The access token has expired
- The access token has been revoked
To resolve: Obtain a new access token using the OAuth 2.0 flow.
Unknown company_id, offering_id or investor_id.
The cursor or updated_since is older than the retention window. List again (no
cursor) and replace your stored records from the result.
Too many requests in a short time period. The API enforces rate limits to ensure fair usage and system stability. When you exceed the limit, you'll receive this error along with headers indicating when you can retry.
Check the X-RateLimit-Reset header to know when your limit will reset.
Consider implementing exponential backoff in your application.
Response Headers
Request limit per hour
Remaining requests
UTC timestamp when the limit resets