Viridi · Authentication Profile

Viridi Parente Authentication

Authentication

Viridi secures its APIs with http and oauth2 across 3 declared security schemes, as derived from its OpenAPI definitions.

CompanyEnergyEnergy StorageBatteryIoTIndustrial IoTEnergy ManagementManufacturingTelematicsMicrogrid
Methods: http, oauth2 Schemes: 3 OAuth flows: API key in:

Security Schemes

HTTP login form http
scheme: loginPassword
OAuth2 / OIDC single sign-on oauth2
Two-factor authentication mfa

Source

Authentication Profile

Raw ↑
generated: '2026-09-04'
method: searched
source: openapi/viridi-parente-vista-openapi.json + live probes of https://vista.viridiparente.com (2026-09-04)
docs: https://vista.viridiparente.com/swagger-ui/index.html
summary:
  types:
  - http
  - oauth2
  primary: bearer JWT in the X-Authorization header
  self_service_signup: false
  signup: https://viridiparente.com/create-a-vista-account/
schemes:
- name: HTTP login form
  type: http
  scheme: loginPassword
  bearerFormat: /api/auth/login|X-Authorization
  description: Enter Username / Password
  sources:
  - openapi/viridi-parente-vista-openapi.json
  detail: >-
    The declared securityScheme. POST /api/auth/login exchanges username/password for a JWT;
    the token is presented on every subsequent call as `X-Authorization: Bearer <jwt>`, not
    as a standard Authorization header. POST /api/auth/token refreshes it; POST
    /api/auth/logout revokes it.
- name: OAuth2 / OIDC single sign-on
  type: oauth2
  declared_in_spec: false
  method: probed
  detail: >-
    Not declared in components.securitySchemes but demonstrably live. POST
    /api/noauth/oauth2Clients returns HTTP 200 anonymously with three configured identity
    providers — one Google provider and two enterprise providers (an Okta tenant and an
    ADFS tenant) — each with an /oauth2/authorization/<uuid> entry URL. The contract carries
    an o-auth-2-controller and an o-auth-2-config-template-controller
    (GET/POST /api/oauth2/config, GET /api/oauth2/config/template,
    GET /api/oauth2/loginProcessingUrl).
  evidence:
    url: https://vista.viridiparente.com/api/noauth/oauth2Clients
    method: POST
    status: 200
    providers_configured: 3
- name: Two-factor authentication
  type: mfa
  declared_in_spec: false
  detail: >-
    two-factor-auth-controller and two-factor-auth-config-controller are present:
    GET /api/auth/2fa/providers, POST /api/auth/2fa/verification/send, POST
    /api/auth/2fa/verification/check.
scopes:
  published: false
  note: >-
    No OAuth2 scope surface. Authorization is role- and tenant-based rather than
    scope-based: the contract exposes a role-controller, and every entity carries tenantId /
    customerId, with 401 returned when "User belongs to different Customer or Tenant".
    scopes/ is deliberately not written for this provider.
device_transport_auth:
  note: >-
    Device-side credentials are managed through device-controller and device-profile
    transport configuration (access token, X.509, MQTT basic, LwM2M). The CBRS surface adds
    Viridi-authored certificate operations, GET /api/getCert and POST /api/setCert.

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.
All 92 tools →

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/viridi-parente-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 email required.

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