Polycode · Authentication Profile

Polycode Co Uk Authentication

Authentication

Polycode secures its APIs with none, apiKey, openIdConnect, and hmac across 4 declared security schemes, as derived from its OpenAPI definitions.

ChatMemoryAgentsA2AKnowledge GraphResearchArtificial IntelligenceOpen SourceConsultingUnited Kingdom
Methods: none, apiKey, openIdConnect, hmac Schemes: 4 OAuth flows: API key in: header

Security Schemes

public none
apiKey apiKey
· in: header (X-API-Key)
cognitoLogin openIdConnect
webhookSecrets hmac

Source

Authentication Profile

Raw ↑
generated: '2026-09-19'
method: searched
source: https://marginalia.polycode.co.uk/.well-known/agent-card.json
docs: https://gitlab.com/polycode-projects/marginalia/-/blob/main/README.md
note: >-
  The OpenAPI declares no securitySchemes (derive-authentication.py found none), so this profile is assembled
  from the agent card's securitySchemes block, the operation summaries in the spec, the README ("Talk to it —
  the A2A API", "Repository supervision"), the account page code, and live anonymous responses on 2026-09-19.
summary:
  types: [none, apiKey, openIdConnect, hmac]
  api_key_in: [header]
  oauth2_flows: []
  default: public — no credential for reads, chat, the A2A endpoint or the mechanical completions shim
schemes:
- name: public
  type: none
  applies_to: 26 GET operations, postChat, postMechanicalCompletion, postFlag, postVisitorLabel, postSessionIntroduction, the A2A JSON-RPC endpoint
  evidence: 'info.description: "No auth today; the API is public."; agent card security: []; live GET /api/status, /api/graphs, /api/budget, /api/projects -> 200 anonymously.'
- name: apiKey
  type: apiKey
  in: header
  parameter: X-API-Key
  key_prefix: mga_
  applies_to: [whoamiKey, postHooksPush, getRepoSummary, postMechanicalCompletion (graph selection), postChat / A2A (routes to the key's private graph)]
  evidence: >-
    Agent card securitySchemes.apiKey (X-API-Key, "Optional today. Will gate a free monthly token allowance per key,
    with pay-as-you-go beyond it."); live GET /api/keys/whoami -> 401 {"error":"send the key as X-API-Key"}; account.mjs
    masks keys as "mga_…<suffix>"; README: "A private graph ... is reached by adding an x-api-key: header".
  issuance: Minted on the logged-in Account page ("generate a key" creates a private graph + key, shown once) or by the operator CLI (issue-key). Keys are 1:1 with a private graph; getKeys lists hash, issued_at and last-4 suffix, never plaintext.
- name: cognitoLogin
  type: openIdConnect
  provider: Amazon Cognito (identity_provider=Google)
  authorization_endpoint: https://eu-west-24yw02qhzm.auth.eu-west-2.amazoncognito.com/oauth2/authorize
  scopes_requested: [openid, email, profile]
  entry: https://marginalia.polycode.co.uk/auth/login
  applies_to: 'Tier-1 operations: getKeys, postKeys, createPrivateGraph, setMyDefaultGraph, clearUserDefault, setUserDefault, deletePrivateGraph, renamePrivateGraph, setRepo, getPromptNote, setPromptNote, postProjectOp (admin/owner), plus web search, projects and the fuller model in the chat UI'
  evidence: 'GET /auth/login -> 302 to the Cognito authorize URL (response_type=code, redirect_uri /auth/callback); live GET /api/keys -> 401 {"error":"login required"}; app.mjs: "Log in with Google for web search, projects, and the fuller model".'
  note: A browser session, not an API authorization flow — no bearer tokens are documented for API callers. The Cognito discovery URL was not probed.
- name: webhookSecrets
  type: hmac
  applies_to: [postGithubHook, postGitlabHook]
  evidence: 'Spec summaries: X-Hub-Signature-256 "constant-time-verified against the org webhook secret"; X-Gitlab-Token "constant-time-validated against the binding"; 401 on bad signature or an unbound graph.'
  note: Inbound connector authentication for bound repositories, issued by the operator CLI (bind-connector); not a caller credential.
tiers:
- {tier: 0, name: visitor / anonymous, access: public reads, chat on the shared graph, A2A}
- {tier: 1, name: logged in (Google via Cognito), access: private graphs, API keys, per-user default graph, web search and the fuller model in chat}
- {tier: admin, name: operator, access: admin operations (postWorkItem, postAdminTurn, postDelivery, refreshInsights on the shared graph)}

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/polycode-co-uk-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.