Ema · Authentication Profile

Ema Authentication

Authentication

Ema's Builder Platform API uses a two-step authentication flow. First an API key is generated for a user within a specific tenant via the gRPC-Web endpoint auth.v1.AuthService/GenerateApiKey. That long-lived API key is then exchanged for a short-lived JWT access token via a REST call. All subsequent REST and gRPC-Web calls carry the access token as an HTTP Bearer token in the Authorization header. Ema is multi-tenant; keys and tokens are scoped to a tenant and user.

Ema secures its APIs with apiKey and http across 2 declared security schemes, as derived from its OpenAPI definitions.

CompanyArtificial IntelligenceAgentsAI EmployeesAutomationEnterpriseWorkflow-AutomationConversational AI
Methods: apiKey, http Schemes: 2 OAuth flows: API key in: header

Security Schemes

apiKey apiKey
· in: header (x-ema-api-key)
bearerAuth http
scheme: bearer · in: header (Authorization)

Source

Authentication Profile

ema-authentication.yml Raw ↑
generated: '2026-07-19'
method: searched
source: https://builder.ema.ai/api-reference/authentication
docs: https://builder.ema.ai/api-reference/authentication
summary:
  model: two-step api-key then short-lived JWT bearer
  types: [apiKey, http]
  api_key_in: [header]
  bearer_format: JWT
description: >-
  Ema's Builder Platform API uses a two-step authentication flow. First an API
  key is generated for a user within a specific tenant via the gRPC-Web endpoint
  auth.v1.AuthService/GenerateApiKey. That long-lived API key is then exchanged
  for a short-lived JWT access token via a REST call. All subsequent REST and
  gRPC-Web calls carry the access token as an HTTP Bearer token in the
  Authorization header. Ema is multi-tenant; keys and tokens are scoped to a
  tenant and user.
schemes:
- name: apiKey
  type: apiKey
  in: header
  parameter: x-ema-api-key
  used_for: exchanged at POST /api/auth/generate_access_token to mint an access token
  issued_by: auth.v1.AuthService/GenerateApiKey (gRPC-Web)
  lifetime: long-lived
  source: https://builder.ema.ai/api-reference/authentication
- name: bearerAuth
  type: http
  scheme: bearer
  bearer_format: JWT
  in: header
  parameter: Authorization
  used_for: all REST and gRPC-Web API calls
  lifetime: short-lived (access token)
  source: https://builder.ema.ai/api-reference/authentication
flow:
- step: 1
  action: GenerateApiKey
  protocol: gRPC-Web over HTTP
  endpoint: /auth.v1.AuthService/GenerateApiKey
  note: >-
    For the first request (root tenant, no token yet) the browser session
    bearer token can be reused once; see
    https://builder.ema.ai/api-reference/misc/root-tenant-token
- step: 2
  action: GenerateAccessToken
  protocol: REST
  endpoint: POST /api/auth/generate_access_token
  request_header: 'x-ema-api-key: <api-key>'
  returns: JWT access token (short-lived)
- step: 3
  action: authenticated calls
  header: 'Authorization: Bearer <access_token>'

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/ema-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.