InMobi · Authentication Profile
Inmobi Authentication
Authentication
InMobi declares 3 security scheme(s) across its OpenAPI definitions.
CompanyEnterpriseAdvertisingAdTechMobileMonetizationProgrammaticOpenRTBSDKConsent ManagementDSPReporting
Methods:
Schemes: 3
OAuth flows:
API key in:
Security Schemes
apiKey
· in: header ()
apiKey
· in: header ()
http
· in: header ()
Source
Authentication Profile
generated: '2026-08-12'
method: searched
source: >-
https://support.inmobi.com/monetize/inmobi-apis/reporting-api ,
https://support.inmobi.com/monetize/inmobi-apis/ad-management-api/authentication-and-request-protocol ,
https://support.inmobi.com/dsp/global/inmobi-dsp-global/reporting-for-inmobi-dsp-global/cost-api-integration-for-inmobi-dsp
notes: >-
InMobi publishes no OpenAPI, so this profile is read from the provider's own
API reference pages and confirmed against live unauthenticated probes of each
host. Three distinct authentication schemes are in play across three
independently versioned APIs — there is no single InMobi auth model. All
schemes are custom header / bearer-token designs; InMobi documents no OAuth 2.0
authorization server, no OIDC discovery document, and no scope vocabulary.
summary:
scheme_count: 3
oauth2: false
openid_connect: false
mutual_tls: false
api_key: true
bearer_token: true
session_token: true
discovery_document: false
schemes:
- id: publisher-reporting-session
api: InMobi Publisher Reporting API 3.0
type: apiKey
in: header
style: two-step-session
docs: https://support.inmobi.com/monetize/inmobi-apis/reporting-api
credentials:
- name: userName
location: header
description: Account email address registered on the InMobi publisher platform.
- name: secretKey
location: header
description: API key generated from the InMobi publisher dashboard.
- name: accountId
location: header
description: InMobi account identifier.
- name: sessionId
location: header
description: Session token returned by the session-generation call; may exceed 1000 characters.
session:
endpoint: https://api.inmobi.com/v1.0/generatesession/generate
method: POST
request_headers:
- userName
- secretKey
validity: 8 hours from issuance
max_sessions: 15 per 8-hour window per API key
evidence:
probed: '2026-08-12'
url: https://api.inmobi.com/v3.0/reporting/publisher
method: POST
http_status: 400
body: '{"error":true,"errorList":[{"code":1004,"message":"Secret Key is missing"}]}'
note: >-
Unauthenticated POST is rejected with the documented error code 1004,
confirming the secretKey header is the enforced credential. A POST to the
documented session endpoint https://api.inmobi.com/v1.0/generatesession/generate
returned HTTP 404 with a JSON error envelope on 2026-08-12 — the host routes
the path but the documented generatesession route did not answer, which may
mean the documentation is ahead of or behind the deployed route.
- id: ad-management-static-headers
api: InMobi Ad Management API
type: apiKey
in: header
style: static-header-triplet
docs: https://support.inmobi.com/monetize/inmobi-apis/ad-management-api/authentication-and-request-protocol
credentials:
- name: x-client-secret
location: header
description: API key generated from the InMobi publisher platform (same key issuance flow as the Reporting API).
- name: x-account-id
location: header
description: Account ID, found under Payment Settings on the Finance tab of the InMobi platform.
- name: x-client-id
location: header
description: Email address of the account.
transport: https only (stated in the provider docs)
evidence:
probed: '2026-08-12'
url: https://publisher.inmobi.com/rest/api/v2/apps
method: GET
http_status: 401
body: '{"error":true,"errors":[{"errorCode":"[ERROR_MISSING_HEADERS]","reason":"[x-account-id] header is missing"}]}'
note: >-
Anonymous GET names the missing header explicitly; supplying placeholder
values for all three headers returned 401
{"errorCode":"AUTHENTICATION_ERROR"} — the triplet is enforced server-side.
- id: dsp-cost-bearer-token
api: InMobi DSP Cost API
type: http
in: header
style: bearer-token
docs: https://support.inmobi.com/dsp/global/inmobi-dsp-global/reporting-for-inmobi-dsp-global/cost-api-integration-for-inmobi-dsp
credentials:
- name: Authorization
location: header
description: Token issued by the token endpoint; sent as the raw token value per the provider docs.
token_endpoint:
url: https://api.cdr.inmobi.com/api/v3/auth/token
method: POST
grant_inputs:
- clientId
- clientSecret
validity: 8 hours
evidence:
probed: '2026-08-12'
url: https://api.cdr.inmobi.com/api/v3/auth/token
method: POST
http_status: 400
body: '{"status":"FAILED","code":400,"error":{"code":"client.cred.invalid","message":"The provided credentials are invalid. Please check your clientId & clientSecret and try again."},"message":"Request Processing Failed."}'
note: >-
Live token endpoint. Uses a client-credentials SHAPE (clientId /
clientSecret) but is NOT an OAuth 2.0 token endpoint — the response is a
custom envelope, not an RFC 6749 token response, and no
/.well-known/oauth-authorization-server is served on this host (403).
unauthenticated_surfaces:
- api: InMobi Server-to-Server Ad Request API 3.1
url: https://api.w.inmobi.com/showad/v3.1
note: >-
Ad-serving endpoint. No credential header is documented; the caller is
identified by an InMobi Property ID carried in the request payload. An
anonymous GET and POST both returned HTTP 204 on 2026-08-12 (live host,
no ad returned for an empty request).
gaps:
- no OAuth 2.0 or OpenID Connect authorization server
- no /.well-known/openid-configuration or /.well-known/oauth-authorization-server on any InMobi host (all 404 or 403 — see well-known/inmobi-well-known.yml)
- no documented scope or permission vocabulary; access is account-wide per API key
- no documented key-rotation or key-revocation API
- three different header conventions across three APIs (secretKey vs x-client-secret vs Authorization)