Migrating from v1 to v2
This page is for carriers and MGAs with an existing
/v1/* integration. There was never a v1 agency surface, so an agency has nothing to migrate: start at Getting Started for Agencies. /v2/upstream carries every v1 operation except seven: the four auth and heartbeat paths, which moved to the unsegmented /v2/auth/* and /v2/heartbeat, and the three deprecated dangerously- endpoints listed below, each of which names its successor. v2 also carries endpoints v1 does not, because new endpoints are added to v2 only; the changelog lists each one as it lands.v1 and v2, apart from the three additive differences in the note below. There is no field renaming, no envelope change and no new required parameters. Endpoints added since v2 shipped exist on v2 only; v1 receives bug fixes but no new endpoints.
Three endpoints differ, additively.
GET /v2/auth/test-oauth returns an extra orgCategory field naming the kind of organization your credential belongs to; the v1 response does not. GET /v2/upstream/surplus-lines-filings/{filingId} shows a fileDocumentId on every checklist attachment, the policy document and every completion artifact, the id to pass to Get a Download URL for a Document, which exists on v2 only; the v1 filing response does not carry it. POST /v2/upstream/file-documents additionally accepts the category Surplus Lines, which v1 rejects. For that category only, the file may be a DOC (application/msword), DOCX (application/vnd.openxmlformats-officedocument.wordprocessingml.document), JPEG (image/jpeg) or PNG (image/png) as well as a PDF (application/pdf), and downstreamEntityAssociationId must be omitted, because a Surplus Lines file belongs to a filing rather than to an agency relationship. Every other category behaves as on v1: PDF only, with downstreamEntityAssociationId required. Nothing is removed or renamed, so a client that ignores unknown fields and does not upload Surplus Lines files needs no change.v1 is stable, fully supported and has no sunset date. Migrate when you want the endpoints that will only be added to v2.
1. Change the path prefix
Replace/v1/ with /v2/upstream/:
upstream identifies the kind of organization your credentials belong to. See versioning for the full persona model and why it was introduced.
2. Authentication is unchanged
Your existing client ID and secret work as-is. No new credentials, no re-issuing tokens. The token endpoint moves to/v2/auth/jwt and takes no persona segment, because the token itself identifies your organization:
GET /v2/heartbeat is likewise persona-neutral.
Tokens are interchangeable between versions. A token minted at /v1/auth/jwt is accepted by /v2/upstream/*, so you can migrate endpoint by endpoint rather than all at once.
3. Three endpoints are not in v2
These were deprecated inv1 and are absent from v2. Each has a direct replacement with an identical request and response:
If you call any of these on
v1 today you will receive Deprecation, Sunset and Link response headers. They remain available on v1 until the sunset date of 1 January 2027.
4. Everything else maps one to one
Every otherv1 endpoint exists on v2 at the same path with the new prefix. Some examples:
Browse the full list with the version switcher at the top of the API Reference.
Suggested approach
- Point one non-critical read endpoint at
/v2/upstream/in sandbox and confirm the response matches what you already parse. - Move the remaining reads. Responses are identical, so no parsing changes are needed.
- Move writes, replacing any
dangerously-calls with their successors. - Update your token endpoint to
/v2/auth/jwt.
Getting help
An endpoint both versions carry that does not behave identically betweenv1 and v2, other than the three additive differences described at the top of this page, is a bug on our side, not an expected difference. Email support@turrisfi.com with the endpoint and both responses.