Tvscientific · Authentication Profile
Tvscientific Authentication
Authentication
Tvscientific declares 2 security scheme(s) across its OpenAPI definitions.
CompanyAdvertisingConnected TVCTVStreamingPerformance MarketingAdTechMeasurementsCampaign ManagementReal-Time BiddingAttribution
Methods:
Schemes: 2
OAuth flows:
API key in:
Security Schemes
unknown
cookie
Source
Authentication Profile
generated: '2026-08-12'
method: probed
source: >-
Anonymous probes of https://api.tvscientific.app on 2026-08-12. No OpenAPI securitySchemes
exist to derive from (tvScientific publishes no spec) and no public authentication
documentation exists to search, so this profile is what the wire actually showed.
api: tvScientific Campaign Management API
docs: null
docs_note: >-
There is no public auth page. help.tvscientific.com 301s to an Atlassian Service Desk
login (https://tvscientific.atlassian.net/servicedesk/customer/portal/2/user/login) and
support.tvscientific.com redirects into a Salesforce Community SAML request, so any
authentication guide tvScientific has written sits behind a customer login.
posture: credentialed
public_access: partial
public_access_detail: >-
The version root indexes (/v1/, /v2/), the health endpoint (/health) and one collection
(/v1/terms_and_conditions/) are readable anonymously. Everything else — campaigns,
creatives, lineitems, audiences, advertisers, billing, users — requires credentials.
schemes:
- id: unidentified
type: unknown
confirmed: false
evidence:
status: 403
body: '{"detail":"Authentication credentials were not provided."}'
url: https://api.tvscientific.app/v1/campaigns/
note: >-
Django REST Framework returns 403 with this message when no authentication class
successfully authenticated the request AND none of them advertises a challenge. Because
no WWW-Authenticate header is sent, the accepted credential type cannot be named from
outside. Recorded as unidentified rather than guessed.
- id: session-cookie
type: cookie
confirmed: false
confidence: medium
evidence:
header: 'Vary: Accept, Cookie, origin'
url: https://api.tvscientific.app/v1/
note: >-
The API varies its response on the Cookie header, which means a session cookie is at
least one of the inputs to authorization. This is consistent with the Campaign Management
UI at https://tvscientific.app calling this API with a session. It does not rule out a
token or key scheme also being accepted.
oauth2: false
oidc: false
mutual_tls: false
negative_probes:
# every published OAuth/OIDC/token discovery surface MISSED
- url: https://api.tvscientific.app/.well-known/oauth-authorization-server
status: 404
- url: https://api.tvscientific.app/.well-known/openid-configuration
status: 404
- url: https://api.tvscientific.app/.well-known/oauth-protected-resource
status: 404
- url: https://api.tvscientific.app/o/token/
status: 404
- url: https://api.tvscientific.app/o/authorize/
status: 404
- url: https://api.tvscientific.app/token/
status: 404
- url: https://api.tvscientific.app/api-token-auth/
status: 404
- url: https://api.tvscientific.app/v1/auth/
status: 404
- url: https://api.tvscientific.app/v1/login/
status: 404
- url: https://api.tvscientific.app/v1/register/
status: 404
scopes: null
scopes_note: >-
No OAuth surface exists, so there is no scope vocabulary to capture and no
scopes/ artifact is written. Authorization appears to be tenant- and role-based —
/v1/tenants/, /v1/organizations/, /v1/organization_users/, /v1/user_types/ and
/v1/advertiser_users/ are all first-class collections — but the model is not published.
onboarding:
self_serve: false
path: >-
Access is arranged through the tvScientific account team. The public site offers a demo
request (https://www.tvscientific.com/ctv-demo) and a contact form
(https://www.tvscientific.com/contact); there is no developer sign-up, no API key
self-issuance page and no public credential lifecycle documentation.
pointer_emitted: false
pointer_note: >-
No `type: Authentication` pointer is wired into apis.yml. The scorer's check is
`authentication_documented`, and tvScientific documents nothing publicly — this artifact
records an observed 403 and a named absence, not a provider-published auth guide. Emitting
the pointer would credit tvScientific with auth documentation it has not published. Same
rule as the well-known and agent-card probes: the pointer asserts the PROVIDER serves the
surface.
gaps:
- No public authentication documentation.
- No WWW-Authenticate challenge, so the scheme is undiscoverable from the wire.
- 403 returned where 401 is semantically correct for a missing credential.
- No OAuth 2.0 or OpenID Connect metadata document on any host.
- No documented key rotation, expiry or revocation policy.
Work with this as data
Every security artifact 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 security posture
4 MCP tools reach this
find_securityBrowse and filter every security artifact in the catalog.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.
Call it yourself
curl for this page
This security artifact
curl "https://apis.io/api/v1/security/tvscientific-authentication"
All security posture
curl "https://apis.io/api/v1/security?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.