# Fundrise > Fundrise is a Washington, DC financial technology company that gives individual investors direct access to private-market alternative assets — private real estate, private credit, and venture capital — through non-traded funds it sponsors and manages. Its developer surface is **Fundrise Connect**, a gated REST API that lets banks, brokerages, and investment apps natively onboard their own end users into Fundrise offerings. Documented with an OpenAPI 3.1.0 definition: 15 paths, 17 operations, 37 schemas, all on `/v1`. Generated by API Evangelist on 2026-08-04 from Fundrise's own public surface. Fundrise does not publish an llms.txt of its own (`/llms.txt` returned 404 on fundrise.com and connect.fundrise.com), so this file is generated from the harvested artifacts in this repository. ## What the API does Fundrise Connect is a **partner** API, not a retail one. Two subjects exist: - **Partner** — the company integrating Fundrise. Authenticates with HTTP Basic credentials issued by Fundrise support. Can create Clients, list Offerings, read historical NAV, and fetch offering documents. - **Client** — an end user the Partner onboards. Acts through an OAuth bearer access token scoped to that one Client, obtained by exchanging a non-expiring refresh token issued at Client creation. Everything money-related is Client-scoped. Access is gated end to end. Credentials come from `connect@fundrise.com`, and Fundrise applies per-partner endpoint permissions on top — a documented operation may return 403 until it is granted. ## APIs - [Fundrise Connect API](https://fundrise.com/connect-api): Client onboarding and investment into Fundrise alternative-asset offerings. Sandbox base URL `https://sandbox.fundrise.com`; production host `https://api.fundrise.com`. ## Specs - [OpenAPI 3.1.0 (YAML)](openapi/fundrise-connect-openapi.yml): the full Connect contract. - [OpenAPI 3.1.0 (verbatim JSON)](openapi/_original/fundrise-connect-openapi.json): as extracted from the provider's published documentation bundle. - [OpenAPI Overlay](overlays/fundrise-connect-overlay.yaml): API Evangelist enhancements, including the production host the published spec omits. ## Operations Authentication - `GetAccessToken` — `POST /v1/oauth/token` — exchange a Client refresh token for an access token. Clients - `CreateClient` — `POST /v1/client` — onboard an end user. Returns `clientId`, `refreshToken`, and `accounts[]`. - `GetClient` — `GET /v1/client` - `UpdateClient` — `PUT /v1/client` Offerings - `GetOfferings` — `GET /v1/offerings` — funds available for investment, with status `OPEN`/`CLOSED`, asset class, and per-transaction minimum and maximum. - `GetHistoricalNav` — `GET /v1/offering/{offeringId}/nav` — historical daily NAV per share. - `GetOfferingDocuments` — `GET /v1/offering/{offeringId}/documents` Acknowledgments - `GetInvestmentAcknowledgments` — `GET /v1/offering/{offeringId}/acknowledgments` - `GetLiquidationAcknowledgments` — `GET /v1/liquidation/acknowledgments` Investments - `PlaceInvestment` — `POST /v1/account/{accountId}/investment` - `CancelInvestment` — `PUT /v1/account/{accountId}/investment/{transactionId}/cancel` Liquidations - `CreateShareLiquidationRequest` — `POST /v1/account/{accountId}/liquidation` - `CancelShareLiquidationRequest` — `PUT /v1/account/{accountId}/liquidation/{shareLiquidationRequestId}/cancel` Holdings, Transactions, Tax - `GetHoldings` — `GET /v1/account/{accountId}/holdings` — updates daily; returns 204 when the Client holds nothing. - `GetTransactions` — `GET /v1/account/{accountId}/transactions` - `GetTransaction` — `GET /v1/account/{accountId}/transaction/{transactionType}/{transactionId}` - `GetTaxForms` — `GET /v1/account/{accountId}/tax-forms` ## Rules an agent must follow 1. **Disclosure before money.** An investment cannot be placed until the Client has been shown and has digitally accepted the offering's documents and acknowledgments. `acknowledgedDocumentIds` is a *required* field on the investment request, and `allAcknowledgmentsAccepted` is required on liquidations. This is a regulatory precondition encoded in the contract — never synthesize or auto-accept it on a person's behalf. 2. **Idempotency is a body field, not a header.** `partnerReferenceId` on `CreateClient` and `PlaceInvestment` is the idempotency key. A `409` from `CreateClient` means the Client already exists — treat it as a successful no-op, do not retry with a new key. 3. **Trace with `Request-Id`.** Every response carries a `Request-Id` header; every error body carries the same value as `referenceId`. It is the only required field on the error envelope. Quote it to `connect@fundrise.com`. 4. **Errors are vendor-shaped, not RFC 9457.** `application/json` with `referenceId`, `code`, `message`, `validationErrors`. No `application/problem+json`. 5. **No pagination anywhere.** Collections return bare JSON arrays. `GetTransactions` in particular has no page, cursor, or date filter. 6. **Rate limiting is enforced but unpublished.** Per Client and per HTTP method. No numeric limits, no rate-limit headers, and no `429` declared in the spec — throttling is not machine-detectable. 7. **`accountId` has no lookup.** It is only obtainable from the `accounts[]` array on `CreateClient` or `GetClient`. A Client currently has exactly one account. 8. **Money is stringly typed.** Amounts and share quantities are strings, deliberately, to avoid float rounding. Do not coerce to a binary float. 9. **403 can be normal.** Fundrise states documented capabilities may be inaccessible under current permissions. A 403 is a permissions question for `connect@fundrise.com`, not a bug and not retryable. 10. **Holdings are daily, not live.** Values reflect appreciation and accruing dividends updated once a day. ## Docs - [Connect API overview](https://fundrise.com/connect-api) - [Connect API reference](https://connect.fundrise.com/) - [Getting access](https://connect.fundrise.com/#tag/Authentication) - [Request sandbox access](https://fundrise.com/connect-api/contact) - [Help center](https://fundrise.com/help) - [Articles and education](https://fundrise.com/education) - [Terms of Service](https://fundrise.com/website-documents/Terms%20of%20Service) - [Privacy Policy](https://fundrise.com/privacy-policy.html) - [security.txt](https://fundrise.com/.well-known/security.txt) ## Derived artifacts - [Authentication profile](authentication/fundrise-authentication.yml) - [OAuth scopes](scopes/fundrise-scopes.yml) - [API conventions](conventions/fundrise-conventions.yml) - [Error catalog](errors/fundrise-problem-types.yml) - [Rate limits](rate-limits/fundrise-rate-limits.yml) - [Lifecycle and versioning](lifecycle/fundrise-lifecycle.yml) - [Standards conformance](conformance/fundrise-conformance.yml) - [Sandbox and test data](sandbox/fundrise-sandbox.yml) - [Data model](data-model/fundrise-data-model.yml) - [Agentic access contracts](agentic-access/fundrise-agentic-access.yml) - [Agent skills](skills/_index.yml) - [Arazzo workflow: onboard a Client and place an Investment](arazzo/fundrise-onboard-client-and-invest.yml) - [Well-known index](well-known/fundrise-well-known.yml) - [Domain security](security/fundrise-domain-security.yml) - [Vulnerability disclosure](security/fundrise-vulnerability-disclosure.yml) ## Not published by Fundrise Recorded so an agent does not go looking: no client SDKs on npm, PyPI, RubyGems, Packagist, or crates.io; no public repositories in the `fundrise` GitHub organization; no CLI; no Postman collection; no MCP server; no A2A agent card; no webhooks, events, or AsyncAPI; no status page; no public changelog; no published SLA; no trust center or named security certifications; no published sandbox test values.