Smartwork and OpenAnalyst Access
Use 10x browser-first for sign-in and launch, then pair the desktop app in the browser when you need a local runtime.
Canonical production hosts
| Host | Purpose |
|---|---|
https://app.10x.in | Browser-first control surface for launch, sign-in handoff, and product UI |
https://ai.10x.in | Canonical production API base for session checks and desktop auth endpoints |
https://login.connect.10x.in | Shared Connect sign-in host backed by the 10x identity plane |
Note
Handle hosts and custom domains stay visitor-facing. Start management, launch, and pairing from https://app.10x.in, not from a handle subdomain.
Browser access flow
- Open
https://app.10x.inand navigate into Smartwork or OpenAnalyst. - If you are not signed in, the browser is redirected to
https://login.connect.10x.in. - After sign-in, the browser returns to the app with an authenticated session.
- The app resolves product access by calling
GET https://ai.10x.in/v2/account/openanalyst/me. - A
401means you need to sign in or refresh the session. A200means the session and OpenAnalyst entitlement context are ready.
Desktop pairing flow
The desktop app no longer uses a local password form. Pairing starts from the app or desktop shell and finishes in the browser.
- Start pairing from the Smartwork/OpenAnalyst connect action.
- The client initiates
POST https://ai.10x.in/oauth/openanalyst/desktop/startwith adeviceProofChallenge. - A successful response returns an
attemptIdand anauthorizeUrl. - Open the
authorizeUrlin the browser and complete sign-in onhttps://login.connect.10x.in. - The desktop app redeems the authorized attempt and stores its local relay/session configuration.
Expected API behavior
These are contract-level behaviors. Most users should let the app or desktop client make these calls.
| Route | Situation | Expected result |
|---|---|---|
POST /oauth/openanalyst/desktop/start | Missing or empty deviceProofChallenge | 400 invalid_request |
POST /oauth/openanalyst/desktop/start | Valid-looking deviceProofChallenge and healthy backend storage | 200 with attemptId and authorizeUrl |
GET /v2/account/openanalyst/me | No valid browser/API session | 401 |
GET /v2/account/openanalyst/me | Authenticated and entitled user | 200 |
Integration boundary
- Use
https://app.10x.infor browser entry and product launch. - Use
https://ai.10x.infor scripted API calls. - Use JWT-backed sessions for Smartwork/OpenAnalyst control-plane access.
- Use PATs for documented handle automation routes, not for
GET /v2/account/openanalyst/me.
For generic token guidance, see API Auth and Error Model and JWT vs PAT: When to Use Each.
Troubleshooting
- If the browser keeps redirecting, sign out, then relaunch from
https://app.10x.in. - If desktop pairing does not complete, retry the browser authorization step from the app instead of entering credentials locally.
- If
GET /v2/account/openanalyst/mereturns401, re-authenticate before retrying product actions. - If you still cannot launch or pair, use Troubleshooting and Support and include any request IDs or screenshots.