AnomalyArmor Public API

The public API from AnomalyArmor — 7 operation(s) for public.

Operations 8

POST /api/public/unsubscribe Unsubscribe Post #
GET /api/public/unsubscribe Unsubscribe Get #
GET /api/public/docs/{path}.md Serve Clean Markdown #
POST /api/public/magic-login Magic Login #
POST /api/public/events Track Event #
GET /api/public/beta/status Beta Status Endpoint #
POST /api/public/beta/signup Beta Signup Endpoint #
POST /api/public/contracts/validate Public Validate Contract #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/anomalyarmor-ai:anomalyarmor-ai-public-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

anomalyarmor-ai-public-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Anomalyarmor Ai Public API
  version: 1.0.0
  contact:
    name: AnomalyArmor Support
    url: https://anomalyarmor.ai/support
  license:
    name: Proprietary
  description: 'Operations tagged public across 3 of this provider''s published API definitions: anomalyarmor.ai-openapi.json, app.anomalyarmor.ai-openapi.json, docs.anomalyarmor.ai-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: http://localhost:8000
  description: Development server
- url: https://api.anomalyarmor.ai
  description: Production server
tags:
- name: Public
paths:
  /api/public/unsubscribe:
    post:
      tags:
      - Public
      summary: Unsubscribe Post
      description: 'Email preference update endpoint.


        Handles three cases:

        1. Email client one-click (RFC 8058): Returns 200 with empty body

        2. JavaScript toggle request: Returns 200 on success

        3. Legacy unsubscribe: Returns HTML result page


        Security: HMAC token prevents malicious attacks.'
      operationId: unsubscribe_post_api_public_unsubscribe_post
      parameters:
      - name: email
        in: query
        required: true
        schema:
          type: string
          description: Email to update
          format: email
          title: Email
        description: Email to update
      - name: token
        in: query
        required: true
        schema:
          type: string
          description: HMAC signature for security
          title: Token
        description: HMAC signature for security
      - name: action
        in: query
        required: false
        schema:
          type: string
          description: 'Action: subscribe or unsubscribe'
          default: unsubscribe
          title: Action
        description: 'Action: subscribe or unsubscribe'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Public
      summary: Unsubscribe Get
      description: 'Email preferences page with subscribe/unsubscribe toggle.


        Users clicking the unsubscribe link in email body land here.

        Shows current subscription status and allows toggling on/off.

        This prevents accidental unsubscribes and allows re-subscribing.


        GET is intentionally side-effect-free. Email scanners (Outlook SafeLink,

        corporate link-preview bots) pre-fetch URLs from emails and would

        silently unsubscribe users if this endpoint had side effects.

        State-changing operations go through POST /unsubscribe per RFC 8058.


        Security: HMAC token prevents malicious access.'
      operationId: unsubscribe_get_api_public_unsubscribe_get
      parameters:
      - name: email
        in: query
        required: true
        schema:
          type: string
          description: Email to manage preferences for
          format: email
          title: Email
        description: Email to manage preferences for
      - name: token
        in: query
        required: true
        schema:
          type: string
          description: HMAC signature for security
          title: Token
        description: HMAC signature for security
      responses:
        '200':
          description: Successful Response
          content:
            text/html:
              schema:
                type: string
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: http://localhost:8000
      description: Development server
    - url: https://api.anomalyarmor.ai
      description: Production server
  /api/public/docs/{path}.md:
    get:
      tags:
      - Public
      summary: Serve Clean Markdown
      description: 'Serve clean markdown files without JSX components.


        Args:

        path: Relative path to markdown file (without .md extension in URL)


        Returns:

        Clean markdown content with proper content-type header


        Raises:

        HTTPException: 404 if file not found, 403 if path traversal attempted'
      operationId: serve_clean_markdown_api_public_docs__path__md_get
      parameters:
      - name: path
        in: path
        required: true
        schema:
          type: string
          title: Path
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: http://localhost:8000
      description: Development server
    - url: https://api.anomalyarmor.ai
      description: Production server
  /api/public/magic-login:
    post:
      tags:
      - Public
      summary: Magic Login
      description: 'Authenticate a prospect via magic link.


        Looks up the prospect by token, verifies eligibility, creates a Clerk

        user if needed, and returns a sign-in ticket for frontend authentication.


        Refuses requests from email link-scanner bots (Outlook SafeLink, Gmail

        image proxy, etc.). These pre-fetch URLs from emails before the human

        clicks and would otherwise create premature Clerk users and pollute the

        first-click timestamp.'
      operationId: magic_login_api_public_magic_login_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MagicLoginRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: http://localhost:8000
      description: Development server
    - url: https://api.anomalyarmor.ai
      description: Production server
  /api/public/events:
    post:
      tags:
      - Public
      summary: Track Event
      description: Ingest an anonymous analytics event.
      operationId: track_event_api_public_events_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TrackEventRequest'
        required: true
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: http://localhost:8000
      description: Development server
    - url: https://api.anomalyarmor.ai
      description: Production server
  /api/public/beta/status:
    get:
      tags:
      - Public
      summary: Beta Status Endpoint
      description: Get current beta signup status. No auth required.
      operationId: beta_status_endpoint_api_public_beta_status_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
    servers:
    - url: http://localhost:8000
      description: Development server
    - url: https://api.anomalyarmor.ai
      description: Production server
  /api/public/beta/signup:
    post:
      tags:
      - Public
      summary: Beta Signup Endpoint
      description: Register for beta. No auth required.
      operationId: beta_signup_endpoint_api_public_beta_signup_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BetaSignupRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    servers:
    - url: http://localhost:8000
      description: Development server
    - url: https://api.anomalyarmor.ai
      description: Production server
  /api/public/contracts/validate:
    post:
      tags:
      - Public
      summary: Public Validate Contract
      description: Unauthenticated ODCS YAML validation for the marketing funnel.
      operationId: public_validate_contract_api_public_contracts_validate_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
    servers:
    - url: http://localhost:8000
      description: Development server
    - url: https://api.anomalyarmor.ai
      description: Production server
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    BetaSignupRequest:
      properties:
        email:
          type: string
          format: email
          title: Email
        warehouse_type:
          anyOf:
          - type: string
            maxLength: 50
          - type: 'null'
          title: Warehouse Type
          description: Self-reported warehouse type (snowflake, databricks, postgres, etc.)
      type: object
      required:
      - email
      title: BetaSignupRequest
      description: Request body for beta signup.
    StandardResponse:
      properties:
        success:
          type: boolean
          title: Success
        data:
          anyOf:
          - {}
          - type: 'null'
          title: Data
        message:
          anyOf:
          - type: string
          - type: 'null'
          title: Message
        error:
          anyOf:
          - type: string
          - type: 'null'
          title: Error
        meta:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Meta
      type: object
      required:
      - success
      title: StandardResponse
      description: Standard API response wrapper.
    TrackEventRequest:
      properties:
        anonymous_id:
          type: string
          maxLength: 64
          minLength: 1
          title: Anonymous Id
        event:
          type: string
          maxLength: 100
          minLength: 1
          title: Event
        properties:
          additionalProperties: true
          type: object
          title: Properties
      type: object
      required:
      - anonymous_id
      - event
      title: TrackEventRequest
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    MagicLoginRequest:
      properties:
        t:
          type: string
          maxLength: 11
          minLength: 8
          title: T
          description: Magic link token
      type: object
      required:
      - t
      title: MagicLoginRequest
      description: Request body for magic link authentication.
x-refined-from:
- anomalyarmor.ai-openapi.json
- app.anomalyarmor.ai-openapi.json
- docs.anomalyarmor.ai-openapi.json