Live Direct Marketing OAuth API

The oauth API from Live Direct Marketing — 10 operation(s) for oauth.

Operations 11

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/oauth/authorize Open the OAuth authorization page · OAuth controller authorize page #
Ask an LLM
“How does a third-party app start the OAuth authorization flow?”
“Can my client use PKCE with a code challenge when sending users to authorize?”
Tell an agent
Open the authorize page for client {client_id} redirecting to {redirect_uri}.
Start authorization for client {client_id} with response type {response_type} and scope {scope}.
POST /api/oauth/authorize Sign in and grant an OAuth client access · OAuth controller authorize submit #
Ask an LLM
“What happens when a user submits their login on the OAuth consent form?”
“Can a user approve an app's access with their email and password?”
Tell an agent
Approve client {client_id} for {email} with password {password}, redirecting to {redirect_uri}.
Submit the consent form granting scope {scope} to client {client_id}.
POST /api/oauth/token Exchange a code or refresh token for an access token · OAuth controller token #
Ask an LLM
“How does my app exchange an authorization code for an access token?”
“Can I use a refresh token grant to get a new access token?”
Tell an agent
Exchange code {code} for a token as client {client_id} with secret {client_secret}.
Get a new access token with refresh token {refresh_token} for client {client_id}.
GET /api/oauth/me Get the user behind an OAuth token · OAuth controller me #
Ask an LLM
“Which user does my OAuth access token belong to?”
“Can an app read the profile of the person who authorized it?”
Tell an agent
Show the user tied to my OAuth access token.
Identify who authorized this OAuth app.
GET /api/oauth/connect Open the public mailbox connect page · Public OAuth connect page for anti-detect browser flow #
Ask an LLM
“Is there a public page for connecting mailboxes through the anti-detect browser flow?”
“How do I share a connect link for a tenant's mailboxes?”
Tell an agent
Open the mailbox connect page with key {key} for tenant {tenant}.
Load the public OAuth connect page for tenant {tenant}.
GET /api/oauth/connect/{accountId} Redirect to OAuth consent for one mailbox · Public OAuth consent redirect for a specific account #
Ask an LLM
“Can I send someone straight to the consent screen for one specific mailbox?”
“What public link starts OAuth consent for a single account?”
Tell an agent
Redirect to consent for account {accountId} using key {key} and tenant {tenant}.
Start the public consent redirect for mailbox {accountId}.
GET /api/oauth/auth-url/{accountId} Get the OAuth consent URL for a mailbox · Get the OAuth consent URL for an email account #
Ask an LLM
“Where do I get the consent URL to connect a mailbox with OAuth?”
“Can I generate an authorization link for a specific mail provider?”
Tell an agent
Get the OAuth consent URL for account {accountId} with provider {provider}.
Build the authorization link for mailbox {accountId}.
GET /api/oauth/callback Handle the mail provider's OAuth callback · OAuth provider callback endpoint (public, used by provider redirect) #
Ask an LLM
“Which endpoint does the mail provider redirect back to after consent?”
“What happens if the provider returns an error to the OAuth callback?”
Tell an agent
Complete the OAuth callback with code {code} and state {state}.
Process the provider callback that returned error {error}.
GET /api/oauth/{accountId}/status Check a mailbox's OAuth connection status · Get OAuth connection status for an account #
Ask an LLM
“Is a mailbox still connected through OAuth?”
“Has the OAuth token on an account expired?”
Tell an agent
Check the OAuth status of account {accountId}.
Tell me whether mailbox {accountId} is still OAuth-connected.
POST /api/oauth/{accountId}/revoke Revoke a mailbox's OAuth tokens · Revoke OAuth tokens for an account #
Ask an LLM
“How do I disconnect a mailbox's OAuth access?”
“Can I revoke the stored tokens for an account?”
Tell an agent destructive · confirm first
Revoke the OAuth tokens for account {accountId}.
Disconnect OAuth on mailbox {accountId}.
POST /api/oauth/{accountId}/refresh Refresh a mailbox's OAuth access token · Manually refresh the OAuth access token for an account #
Ask an LLM
“Can I force a refresh of a mailbox's access token?”
“What should I do when an account's OAuth token needs renewing now?”
Tell an agent
Refresh the OAuth access token for account {accountId}.
Manually renew the token on mailbox {accountId}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/live-direct-marketing-online:live-direct-marketing-online-oauth-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

live-direct-marketing-online-oauth-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Live Direct Marketing Online OAuth API
  version: 1.0.0
  contact: {}
  description: 'Operations tagged oauth across 2 of this provider''s published API definitions: live-direct-marketing-online-inbox-check-openapi.json, live-direct-marketing-online-ldm-v3-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.live-direct-marketing.online
  description: Production
- url: https://api.dev.live-direct-marketing.online
  description: Development
- url: http://127.0.0.1:3000
  description: Local
tags:
- name: OAuth
paths:
  /api/oauth/authorize:
    get:
      operationId: OAuthController_authorizePage
      parameters:
      - name: client_id
        required: true
        in: query
        schema:
          type: string
      - name: redirect_uri
        required: true
        in: query
        schema:
          type: string
      - name: response_type
        required: true
        in: query
        schema:
          type: string
      - name: state
        required: false
        in: query
        schema:
          type: string
      - name: scope
        required: false
        in: query
        schema:
          type: string
      - name: mode
        required: false
        in: query
        schema:
          type: string
      - name: code_challenge
        required: false
        in: query
        schema:
          type: string
      - name: code_challenge_method
        required: false
        in: query
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: string
      tags:
      - OAuth
      summary: OAuth controller authorize page
      x-summary-source: derived
    post:
      operationId: OAuthController_authorizeSubmit
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthorizeFormDto'
      responses:
        '201':
          description: ''
      tags:
      - OAuth
      summary: OAuth controller authorize submit
      x-summary-source: derived
  /api/oauth/token:
    post:
      operationId: OAuthController_token
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TokenDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
      tags:
      - OAuth
      summary: OAuth controller token
      x-summary-source: derived
  /api/oauth/me:
    get:
      operationId: OAuthController_me
      parameters: []
      responses:
        '200':
          description: ''
      tags:
      - OAuth
      summary: OAuth controller me
      x-summary-source: derived
  /api/oauth/connect:
    get:
      operationId: OAuthController_connectPage
      parameters:
      - name: key
        required: true
        in: query
        schema:
          type: string
      - name: tenant
        required: true
        in: query
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Public OAuth connect page for anti-detect browser flow
      tags:
      - OAuth
    servers:
    - url: https://api.live-direct-marketing.online
      description: Production
    - url: https://api.dev.live-direct-marketing.online
      description: Development
    - url: http://127.0.0.1:3000
      description: Local
  /api/oauth/connect/{accountId}:
    get:
      operationId: OAuthController_connectRedirect
      parameters:
      - name: accountId
        required: true
        in: path
        schema:
          type: string
      - name: key
        required: true
        in: query
        schema:
          type: string
      - name: tenant
        required: true
        in: query
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Public OAuth consent redirect for a specific account
      tags:
      - OAuth
    servers:
    - url: https://api.live-direct-marketing.online
      description: Production
    - url: https://api.dev.live-direct-marketing.online
      description: Development
    - url: http://127.0.0.1:3000
      description: Local
  /api/oauth/auth-url/{accountId}:
    get:
      operationId: OAuthController_getAuthUrl
      parameters:
      - name: accountId
        required: true
        in: path
        schema:
          type: string
      - name: provider
        required: true
        in: query
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Get the OAuth consent URL for an email account
      tags:
      - OAuth
    servers:
    - url: https://api.live-direct-marketing.online
      description: Production
    - url: https://api.dev.live-direct-marketing.online
      description: Development
    - url: http://127.0.0.1:3000
      description: Local
  /api/oauth/callback:
    get:
      operationId: OAuthController_callback
      parameters:
      - name: code
        required: true
        in: query
        schema:
          type: string
      - name: state
        required: true
        in: query
        schema:
          type: string
      - name: error
        required: true
        in: query
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: OAuth provider callback endpoint (public, used by provider redirect)
      tags:
      - OAuth
    servers:
    - url: https://api.live-direct-marketing.online
      description: Production
    - url: https://api.dev.live-direct-marketing.online
      description: Development
    - url: http://127.0.0.1:3000
      description: Local
  /api/oauth/{accountId}/status:
    get:
      operationId: OAuthController_getStatus
      parameters:
      - name: accountId
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '200':
          description: ''
      security:
      - jwt: []
      summary: Get OAuth connection status for an account
      tags:
      - OAuth
    servers:
    - url: https://api.live-direct-marketing.online
      description: Production
    - url: https://api.dev.live-direct-marketing.online
      description: Development
    - url: http://127.0.0.1:3000
      description: Local
  /api/oauth/{accountId}/revoke:
    post:
      operationId: OAuthController_revoke
      parameters:
      - name: accountId
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '201':
          description: ''
      security:
      - jwt: []
      summary: Revoke OAuth tokens for an account
      tags:
      - OAuth
    servers:
    - url: https://api.live-direct-marketing.online
      description: Production
    - url: https://api.dev.live-direct-marketing.online
      description: Development
    - url: http://127.0.0.1:3000
      description: Local
  /api/oauth/{accountId}/refresh:
    post:
      operationId: OAuthController_refresh
      parameters:
      - name: accountId
        required: true
        in: path
        schema:
          type: string
      - name: X-Tenant-Id
        in: header
        required: false
        schema:
          type: string
          format: uuid
        description: Tenant UUID — required for all tenant-scoped endpoints
      responses:
        '201':
          description: ''
      security:
      - jwt: []
      summary: Manually refresh the OAuth access token for an account
      tags:
      - OAuth
    servers:
    - url: https://api.live-direct-marketing.online
      description: Production
    - url: https://api.dev.live-direct-marketing.online
      description: Development
    - url: http://127.0.0.1:3000
      description: Local
components:
  schemas:
    AuthorizeFormDto:
      type: object
      properties:
        email:
          type: string
          maxLength: 254
          format: email
        password:
          type: string
          maxLength: 200
        client_id:
          type: string
          maxLength: 128
        redirect_uri:
          type: string
          maxLength: 2048
        state:
          type: string
          maxLength: 256
        scope:
          type: string
          maxLength: 256
        mode:
          type: string
          enum:
          - login
          - register
        code_challenge:
          type: string
          maxLength: 128
        code_challenge_method:
          type: string
          enum:
          - S256
          - plain
      required:
      - email
      - password
      - client_id
      - redirect_uri
    TokenDto:
      type: object
      properties:
        grant_type:
          type: string
          enum:
          - authorization_code
          - refresh_token
        client_id:
          type: string
          maxLength: 128
        client_secret:
          type: string
          maxLength: 256
        code:
          type: string
          maxLength: 128
        redirect_uri:
          type: string
          maxLength: 2048
        refresh_token:
          type: string
          maxLength: 128
        code_verifier:
          type: string
          maxLength: 128
      required:
      - grant_type
      - client_id
      - client_secret
  securitySchemes:
    apiKey:
      scheme: bearer
      bearerFormat: icp_live_*
      type: http
    adminKey:
      type: apiKey
      in: header
      name: X-Admin-Key
    jwt:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: JWT access token from /auth/login (Bearer <token>)
    tenant-api-key:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: Tenant API key (Bearer ldm_*) for MCP/A2A clients. Issued via CRM Settings → API Keys.
    rpa-service:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: Dedicated RPA service key. No tenant API-key or query-key authentication.
x-refined-from:
- live-direct-marketing-online-inbox-check-openapi.json
- live-direct-marketing-online-ldm-v3-openapi.json