---
title: "Start the Stripe install flow (alias of install-link)"
method: POST
path: "/companies/{companyId}/integrations/stripe/auth-url"
tags: ["Stripe Connect"]
---

# Start the Stripe install flow (alias of install-link)

`POST /companies/{companyId}/integrations/stripe/auth-url`

## Request

- Base URL: `https://api.medianfi.com/api/v1`
- URL: `https://api.medianfi.com/api/v1/companies/{companyId}/integrations/stripe/auth-url`
- Auth: HTTP bearer

Returns the Stripe marketplace install URL. Preflights the Stage-A GL compatibility guard for allowlisted companies, so a blocking account collision fails here rather than stranding a half-finished install.

## Request body

- StripeInstallLinkInput
  - `entityId` string, uuid: Model A legal entity to bind the connection to. Omitted when the company has a single entity.
  - `frontendReturnUri` string: Relative app path the install callback returns the user to.

## Response `200`

Stripe install URL

- StripeInstallLinkResponse
  - `success` true, required
  - `data` object, required
    - `installUrl` string, uri, required
    - `authorizationUrl` string, uri, required: Alias of installUrl, kept for the generic provider-connect client.

## Other responses

- `401`: Authentication required
- `403`: Insufficient permissions or not a company member
- `409`: The Stage-A Stripe GL compatibility guard refused the call (STRIPE_GL_ACCOUNT_REBIND_REQUIRED). No connection, account, or journal entry was changed. `extensions.accountCodes` lists the codes an accountant must review and rebind; `extensions.adoptableCodes` lists codes that conform on accounting shape and self-heal on the next sync.
- `503`: Required sandbox provider configuration or service is unavailable

---

[API](https://skmtc.dev/medianfi/apis/median-api.md) · [All operations](https://skmtc.dev/medianfi/apis/median-api/llms.txt) · [OpenAPI document](https://skmtc.dev/medianfi/apis/median-api/revisions/20090ea32b0d?raw)
