Koppla · Authentication Profile

Koppla Authentication

Authentication

Koppla secures its APIs with bearer across 1 declared security scheme, as derived from its OpenAPI definitions.

CompanyConstructionConstruction TechnologyProject ManagementSchedulingLean ConstructionBIMGermanySoftware-as-a-Service
Methods: bearer Schemes: 1 OAuth flows: API key in:

Security Schemes

bearer http
scheme: bearer

Source

Authentication Profile

koppla-authentication.yml Raw ↑
generated: '2026-07-19'
method: derived
source: graphql/koppla-graphql-introspection.json + live probes of api.koppla.de
docs: null
docs_note: koppla publishes no public authentication documentation; the API is an
  Enterprise contract feature.
summary:
  types:
  - bearer
  api_key_in: []
  oauth2_flows: []
  spec_declared: false
  spec_note: 'GraphQL has no securitySchemes construct, so the auth model here is
    derived from observed responses and the published web client, not from a formal
    declaration.'
schemes:
- name: bearer
  type: http
  scheme: bearer
  enforced: true
  evidence: 'POST https://api.koppla.de/api/graphql/v1 with {"query":"{ownUser{id}}"}
    and no credentials returns errors[0].extensions.code = UNAUTHENTICATED with
    message "Invalid Authentication".'
  sources:
  - graphql/koppla-graphql-introspection.json
identity_provider:
  name: WorkOS
  role: authentication / SSO for the koppla web application
  evidence: 'https://my.koppla.de/sign_in loads
    /assets/workosAuthenticationService-CqIsie4P.js alongside
    useAuthenticationService-*.js.'
  confidence: high
  caveat: Inferred from the public web client bundle; koppla does not publish this.
sso:
  advertised: true
  source: https://security.koppla.de/
  detail: Single-Sign-On (SSO) is listed as an Access Control capability on the koppla
    trust center.
access_control:
  model: role-based
  advertised: Role-Based Access Control (koppla trust center, Product Security)
  schema_roles:
    enum: MembershipRole
    values:
    - ADMIN
    - CONTROLLER
    - MEMBER
  tenancy: 'Multi-tenant. Many root queries require a tenant: ID! argument (for
    example projects(tenant: ID!)), and organizationalUnit / membership types scope
    access within a tenant.'
  credential_management: listed as an App Security control on the koppla trust center
introspection:
  enabled: true
  authenticated: false
  note: 'GraphQL schema introspection is answered without credentials on the
    production endpoint, which is how this repo captured the schema. Data access is
    correctly gated - only the schema shape is exposed. Disabling production
    introspection (or gating it behind auth) is the conventional hardening choice;
    recorded here as an observation, not a vulnerability report.'
hosts:
- host: api.koppla.de
  role: GraphQL API
  gateway: AWS API Gateway
  unauthenticated_response: '{"message":"Missing Authentication Token"} (HTTP 403) on
    non-GraphQL paths'
- host: api-v2.koppla.de
  role: REST API (referenced by web client config and by in-schema deprecation notes)
  reachable_unauthenticated: false
- host: bulk.koppla.de
  role: bulk endpoint (/v1)
  unauthenticated_response: HTTP 403
- host: rtc.koppla.de
  role: realtime websocket (wss)

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