ptnapp_ client ID and a consent link, and start connecting customers immediately. There is no approval queue — the real gate is the consent screen, where each customer explicitly grants your app its scopes.
Create the App
In the OpenTrain app, go to Settings → Developer and create an app under Platform apps:
On creation the app is active immediately and the success banner shows two things:
- Your client ID (
ptnapp_…) — a public identifier for your app. - Your consent link — what you send customers to connect:
There is no client secret. Your app never authenticates as itself — each
customer’s consent mints an install-scoped
ot_ptk_… token, shown once on
the consent screen, and that token is the credential your platform stores.
See Consent and Installs.Managing the App
From the same settings section you can:- Edit everything except the slug — name, description, website, redirect URIs, and scopes. Scope changes apply to new installs only; existing installs keep the scopes their customer granted until they reconnect.
- Deactivate — flips the app to
DISABLED: the consent link stops accepting new connections and API requests from existing installs are refused until you reactivate. Use it as an emergency brake. - Reactivate — restores new connections and existing installs’ API access.
What Happens Next
- Send a customer your consent link (optionally with
external_project_id,redirect_uri, andstate— see the consent deep link). - They approve the scopes and copy the one-time
ot_ptk_…token into your platform’s settings. - You call the Platform API with that token, register webhooks, and link projects.
Consent and Installs
The deep link, scopes, PII consent, and the one-time token.
Reference Integration
A complete webhook-consumer walkthrough you can adapt.