Announcekit Authentication
AnnounceKit has no OpenAPI securitySchemes to derive from - the contract is GraphQL - so this profile is assembled from the documented auth paths and the live OAuth metadata. Four distinct schemes coexist: Basic auth on the GraphQL endpoint, ak_pat_ bearer tokens for the MCP server, a full OAuth 2.0 authorization-code + PKCE flow behind the hosted MCP login, and JWT-signed user identity for the client-side widget.
AnnounceKit declares 4 security scheme(s) across its OpenAPI definitions.
Security Schemes
Source
Authentication Profile
generated: '2026-09-02'
method: searched
source: >-
https://announcekit.app/docs/graphql-api,
https://help.announcekit.app/en/articles/15827230-mcp-server-connect-your-ai-assistant-to-announcekit,
https://help.announcekit.app/en/articles/6583616-jwt-user-authentication,
https://announcekit.app/security, the probed RFC 8414 metadata at
https://announcekit.app/.well-known/oauth-authorization-server (HTTP 200) and
RFC 9728 metadata at
https://mcp.announcekit.app/.well-known/oauth-protected-resource (HTTP 200),
and the introspected GraphQL schema (AccessToken, ConnectedApp, SAMLConfig,
TOTPConfig types), 2026-09-02.
provider: AnnounceKit
providerId: announcekit
description: >-
AnnounceKit has no OpenAPI securitySchemes to derive from - the contract is
GraphQL - so this profile is assembled from the documented auth paths and the
live OAuth metadata. Four distinct schemes coexist: Basic auth on the GraphQL
endpoint, ak_pat_ bearer tokens for the MCP server, a full OAuth 2.0
authorization-code + PKCE flow behind the hosted MCP login, and JWT-signed
user identity for the client-side widget.
schemes:
- id: graphql-basic
type: http
scheme: basic
in: header
header: Authorization
surface: https://announcekit.app/gq/v2
description: >-
The documented way to call the GraphQL API directly: a Basic Authentication
token supplied in the request header. AnnounceKit's docs also accept the
dashboard login cookies (sesid, sesid.sig) for browser-side use, and the
GraphiQL IDE works with no explicit credential once signed in.
documented: https://announcekit.app/docs/graphql-api
- id: personal-access-token
type: http
scheme: bearer
in: header
header: Authorization
token_prefix: ak_pat_
surface: https://mcp.announcekit.app/mcp
description: >-
Project-scoped access tokens created under Settings > API Tokens (owners and
managers only). Shown once at creation. Two scopes, read and write. A token
acts on behalf of the member who created it and inherits that member's role
and project access; if the member loses access, the token stops working.
schema_backing:
type: AccessToken
fields: [id, name, prefix, scope, created_by, created_at, last_used_at, expires_at]
note: >-
The schema carries expires_at and last_used_at, so tokens are expirable and
their use is tracked, though the docs do not state a default lifetime.
documented: https://help.announcekit.app/en/articles/15827230-mcp-server-connect-your-ai-assistant-to-announcekit
- id: oauth2
type: oauth2
flow: authorization_code
pkce: S256
dynamic_client_registration: true
issuer: https://announcekit.app
authorization_endpoint: https://announcekit.app/oauth/authorize
token_endpoint: https://announcekit.app/oauth/token
registration_endpoint: https://announcekit.app/oauth/register
grant_types: [authorization_code, refresh_token]
response_types: [code]
token_endpoint_auth_methods: [none]
scopes:
read: View posts, feedback, stats and roadmap.
write: Read, plus create and update content. No deletes.
surface: https://mcp.announcekit.app/mcp
description: >-
The hosted MCP login flow. An MCP client discovers the authorization server
from the protected-resource metadata, registers itself dynamically, and
sends the user to AnnounceKit to log in and approve - no token is copied by
hand. Grants are listed and revocable under Settings > Connected apps, with
a ceiling of 10 connected apps per user.
schema_backing:
type: ConnectedApp
fields: [id, client_name, scope, created_at, last_used_at]
probed:
url: https://announcekit.app/.well-known/oauth-authorization-server
http_status: 200
fetched: '2026-09-02'
file: well-known/announcekit-oauth-authorization-server.json
- id: widget-jwt
type: jwt
in: client
surface: In-app widget / user tracking
description: >-
Signed user tracking. The host application signs the end user's identity as
a JSON Web Token so the widget can verify who it is showing targeted or
private content to, preventing client-side spoofing of user attributes.
This authenticates the END USER to the widget, not a developer to the API.
documented: https://announcekit.app/docs/json-web-tokens
dashboard_authentication:
- name: SAML 2.0 Single Sign-On
availability: Scale and Enterprise plans
schema_backing: {type: SAMLConfig, query: samlConfig, login: samlLoginURL}
documented: https://announcekit.app/security
- name: TOTP two-factor authentication
availability: All plans, all team members
schema_backing: {type: TOTPConfig, mutations: [createTotpConfig, activateTotpConfig, removeTotpConfig]}
- name: Role-based access control
roles: [owner, manager, editor, viewer]
schema_backing: {enum: ProjectRole}
note: >-
The four roles are declared in the live GraphQL schema as the ProjectRole
enum, which matches the four roles named on the security page.
- name: IP access control
availability: Enterprise plans
documented: https://announcekit.app/security
gaps:
- >-
The Basic Authentication scheme on the GraphQL endpoint is documented without
naming the header format or what the two halves of the credential are; the
docs say "supply a Basic Authentication token in request Header" and stop
there. An implementer has to infer it.
- >-
No documented token rotation or expiry policy for ak_pat_ tokens, even though
the schema exposes an expires_at field.
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
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
curl "https://apis.io/api/v1/security/announcekit-authentication"
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.