# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for OpenAPI definition Login API version: 1.0.0 extends: openapi/upstox-login-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 4 - target: $.paths['/v3/login/auth/token/request/{client_id}'].post update: x-apievangelist-phrasing: intent: Start an access token request for an indie app effect: write questions: - How do I kick off token generation as an individual developer without a redirect flow? - Can I turn off OTP verification when requesting a token for my own app? instructions: - text: Start a token request for app {client_id}. slots: client_id: path.client_id - text: Initiate an indie-user token for {client_id} with secret {client_secret}. slots: client_id: path.client_id client_secret: requestBody.client_secret method: generated generated: '2026-09-26' - target: $.paths['/v2/login/authorization/token'].post update: x-apievangelist-phrasing: intent: Exchange an authorization code for an access token effect: write questions: - How do I exchange the auth code from the redirect for an access token? - Can I regenerate the extended access token when exchanging a code? - What do I need to send to get an access token after the user logs in? instructions: - text: Exchange code {code} for an access token using app {client_id}, secret {client_secret}, redirect {redirect_uri}, grant {grant_type}. slots: code: requestBody.code client_id: requestBody.client_id client_secret: requestBody.client_secret redirect_uri: requestBody.redirect_uri grant_type: requestBody.grant_type - text: Get a token from code {code} for {client_id} and set refresh_extended_token to {refresh_extended_token}. slots: code: requestBody.code client_id: requestBody.client_id refresh_extended_token: requestBody.refresh_extended_token method: generated generated: '2026-09-26' - target: $.paths['/v2/login/authorization/dialog'].get update: x-apievangelist-phrasing: intent: Open the login dialog for user authorization effect: read questions: - Where do I send a user to log in and authorize my trading app? - How do I start the OAuth login flow with a state value? instructions: - text: Build the login dialog URL for {client_id} redirecting to {redirect_uri}. slots: client_id: query.client_id redirect_uri: query.redirect_uri - text: Send the user to authorize {client_id} with state {state}, returning to {redirect_uri}. slots: client_id: query.client_id state: query.state redirect_uri: query.redirect_uri method: generated generated: '2026-09-26' - target: $.paths['/v2/logout'].delete update: x-apievangelist-phrasing: intent: Log out and end the session effect: destructive questions: - How do I invalidate my current access token? - Can I log out of the trading session from my app? instructions: - text: Log me out of Upstox. - text: End my current session and revoke this access token. method: generated generated: '2026-09-26'