List or sync investments
Changed onThe 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, no updated_since): the current records, tombstones excluded, ordered by investment. Page with meta.next_cursor while meta.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 (visible: false, only id) included. Apply in cursor order; always store meta.next_cursor.
- 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 its meta.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
- Base URL: https://api.wefunder.com
- URL: https://api.wefunder.com/investments
- Auth: OAuth 2 (authorization code, authorization URL https://wefunder.com/oauth/authorize, token URL https://api.wefunder.com/oauth/token; client credentials, token URL https://api.wefunder.com/oauth/token, scopes: read:investments)
Query parameters
Company external id (co_…).
Offering external id (ofr_…). In sync mode an investment that moved to another offering is delivered once more as a tombstone under this filter.
Investor external id (usr_…).
List mode only.
ISO 8601 timestamp; switches to sync mode. Mutually exclusive with cursor (cursor wins).
Opaque cursor from a previous response's meta.next_cursor.
Records per page, 1–100 (default 25). Sync pages count distinct investments.
Response
A page of records.
Example response
{
"data": [
{
"amounts": {
"currency": "usd"
},
"shares": "295",
"average_share_price": "3.38"
}
]
}Changes
- breaking
the
//response's property type changed fromintegertostringfor status - breaking
the
/response's property type changed fromintegertostringfor status - warning
removed the optional property
//from the response with the status - warning
removed the optional property
//from the response with the status - warning
removed the optional property
/from the response with the status - info
added the new optional
queryrequest parametercompany_id - info
added the new optional
queryrequest parameterinvestor_id - info
added the new optional
queryrequest parameteroffering_id - info
added the new optional
queryrequest parameterper_page - info
added the new optional
queryrequest parameterstatus - info
added the new optional
queryrequest parameterupdated_since - info
for the
queryrequest parametercursor, the type was generalized fromintegertostring - info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
the response property
//became required for the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status
- breaking
- info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status
- info