AnnounceKit · Authentication Profile

Announcekit Authentication

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.

ChangelogFeature RequestsNPSNotificationProduct CommunicationRoadmapsSoftware-as-a-ServiceWidgets
Methods: Schemes: 4 OAuth flows: API key in:

Security Schemes

http
scheme: basic · in: header ()
http
scheme: bearer · in: header ()
oauth2
jwt
· in: client ()

Source

Authentication Profile

announcekit-authentication.yml Raw ↑
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.
All 92 tools →

Call it yourself

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