Partner mode

The objective

The full partner integration: your user never touches a Launch Pad account. Your backend provisions the Launch Pad user and their org from your own external ids, pushes the field data, then hands the browser off with a single-use launch code that signs the user in automatically - no sign-up form, no login screen.

  1. The plumbing - three /api/partner/* calls provision the user and org (idempotent on your ids - retries never duplicate), then the usual Grower > Farm > Field > Boundary calls target the org that was just created.
  2. The handoff - your backend requests a launch code (10-minute TTL, single-use) and redirects the browser to Launch Pad's /launch route, which exchanges it for a session and lands the user on the boundary, signed in.
Partner mode needs an API key whose user is flagged as a Partner Admin in Launch Pad (a system admin sets this). With a regular key the partner calls return 403 - which the live log below will happily show you. You don't pick a company on the Setup page: the wizard provisions a customer org for you.

Prefer to drive the same calls yourself? Grab the Postman collection - a standard v2.1 collection that runs the whole flow (provision user → company → access → launch → exchange), chaining the launch code between requests. Its baseUrl is pre-filled with the environment this page is pointed at (); just add a Partner Admin apiKey and run it top to bottom.

1The plumbing - behind the scenes, in your backend

A few API calls, invisible to the user. The first three provision the user and their org from YOUR external ids - no Launch Pad accounts existed before this moment. The rest push the field data so it is waiting when the user arrives.

2The handoff - the moment your user sees

auto sign-in: launch code Your backend requests a single-use launch code (10-minute TTL) and redirects the user's browser to Launch Pad's /launch route. Launch Pad exchanges the code for a session and drops the user straight onto the boundary - no sign-up, no sign-in. The same launch URL also works as an iframe src (see Embedded mode), even in partitioned iframe storage. Details on How it works.

Run the plumbing above to enable the handoff.