AnomalyArmor Public Referential API

The public-referential API from AnomalyArmor — 5 operation(s) for public-referential.

Operations 8

GET /api/v1/sdk/referential/{asset_id}/summary Get Referential Summary #
GET /api/v1/sdk/referential/{asset_id} List Referential Checks #
POST /api/v1/sdk/referential/{asset_id} Create Referential Check #
GET /api/v1/sdk/referential/{asset_id}/{check_id} Get Referential Check #
PATCH /api/v1/sdk/referential/{asset_id}/{check_id} Update Referential Check #
DELETE /api/v1/sdk/referential/{asset_id}/{check_id} Delete Referential Check #
POST /api/v1/sdk/referential/{asset_id}/{check_id}/execute Execute Referential Check #
GET /api/v1/sdk/referential/{asset_id}/{check_id}/results List Referential Check Results #

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-referential-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-referential-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Anomalyarmor Ai Public Referential API
  version: 1.0.0
  contact:
    name: AnomalyArmor Support
    url: https://anomalyarmor.ai/support
  license:
    name: Proprietary
  description: 'Operations tagged public-referential 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-referential
paths:
  /api/v1/sdk/referential/{asset_id}/summary:
    get:
      tags:
      - public-referential
      summary: Get Referential Summary
      description: 'Get referential integrity summary for an asset.


        Accepts asset UUID, qualified name (e.g., "postgresql.mydb"), or asset name.


        **SDK Usage:**

        ```python

        from anomalyarmor import Client

        client = Client()

        summary = client.referential.summary("asset-uuid")

        print(f"Failing checks: {summary.failing_checks}")

        ```'
      operationId: get_referential_summary_api_v1_sdk_referential__asset_id__summary_get
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '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/v1/sdk/referential/{asset_id}:
    get:
      tags:
      - public-referential
      summary: List Referential Checks
      description: 'List referential integrity checks for an asset.


        Accepts asset UUID, qualified name (e.g., "postgresql.mydb"), or asset name.


        **SDK Usage:**

        ```python

        from anomalyarmor import Client

        client = Client()

        checks = client.referential.list("asset-uuid")

        for c in checks:

        print(f"{c.child_table_path} -> {c.parent_table_path}: {c.latest_status}")

        ```'
      operationId: list_referential_checks_api_v1_sdk_referential__asset_id__get
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: is_active
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          description: Filter by active status
          title: Is Active
        description: Filter by active status
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          description: Max results
          default: 50
          title: Limit
        description: Max results
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Offset for pagination
          default: 0
          title: Offset
        description: Offset for pagination
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - public-referential
      summary: Create Referential Check
      description: 'Create a new referential integrity check.


        Requires read-write or admin scope.

        Accepts asset UUID, qualified name (e.g., "postgresql.mydb"), or asset name.


        **SDK Usage:**

        ```python

        from anomalyarmor import Client

        client = Client()

        check = client.referential.create(

        "asset-uuid",

        child_table_path="catalog.schema.orders",

        child_column_name="customer_id",

        parent_table_path="catalog.schema.customers",

        parent_column_name="id",

        )

        ```'
      operationId: create_referential_check_api_v1_sdk_referential__asset_id__post
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReferentialCheckCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '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/v1/sdk/referential/{asset_id}/{check_id}:
    get:
      tags:
      - public-referential
      summary: Get Referential Check
      description: 'Get referential check details with latest result.


        Accepts asset UUID, qualified name (e.g., "postgresql.mydb"), or asset name.


        **SDK Usage:**

        ```python

        from anomalyarmor import Client

        client = Client()

        check = client.referential.get("asset-uuid", "check-uuid")

        print(f"Orphan count: {check.latest_result.orphan_count}")

        ```'
      operationId: get_referential_check_api_v1_sdk_referential__asset_id___check_id__get
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: check_id
        in: path
        required: true
        schema:
          type: string
          title: Check Id
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - public-referential
      summary: Update Referential Check
      description: 'Update a referential check.


        Requires read-write or admin scope.

        Accepts asset UUID, qualified name (e.g., "postgresql.mydb"), or asset name.


        **SDK Usage:**

        ```python

        from anomalyarmor import Client

        client = Client()

        check = client.referential.update("asset-uuid", "check-uuid", is_active=False)

        ```'
      operationId: update_referential_check_api_v1_sdk_referential__asset_id___check_id__patch
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: check_id
        in: path
        required: true
        schema:
          type: string
          title: Check Id
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReferentialCheckUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - public-referential
      summary: Delete Referential Check
      description: 'Delete a referential check.


        Requires read-write or admin scope.

        Accepts asset UUID, qualified name (e.g., "postgresql.mydb"), or asset name.


        **SDK Usage:**

        ```python

        from anomalyarmor import Client

        client = Client()

        client.referential.delete("asset-uuid", "check-uuid")

        ```'
      operationId: delete_referential_check_api_v1_sdk_referential__asset_id___check_id__delete
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: check_id
        in: path
        required: true
        schema:
          type: string
          title: Check Id
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      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/v1/sdk/referential/{asset_id}/{check_id}/execute:
    post:
      tags:
      - public-referential
      summary: Execute Referential Check
      description: 'Execute a referential check immediately.


        Requires read-write or admin scope.

        Accepts asset UUID, qualified name (e.g., "postgresql.mydb"), or asset name.


        **SDK Usage:**

        ```python

        from anomalyarmor import Client

        client = Client()

        result = client.referential.execute("asset-uuid", "check-uuid")

        if result.orphan_count > 0:

        print(f"Found {result.orphan_count} orphaned records")

        ```'
      operationId: execute_referential_check_api_v1_sdk_referential__asset_id___check_id__execute_post
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: check_id
        in: path
        required: true
        schema:
          type: string
          title: Check Id
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '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/v1/sdk/referential/{asset_id}/{check_id}/results:
    get:
      tags:
      - public-referential
      summary: List Referential Check Results
      description: 'List historical results for a referential check.


        Accepts asset UUID, qualified name (e.g., "postgresql.mydb"), or asset name.


        **SDK Usage:**

        ```python

        from anomalyarmor import Client

        client = Client()

        results = client.referential.results("asset-uuid", "check-uuid")

        for r in results:

        print(f"{r.checked_at}: {r.orphan_count} orphans")

        ```'
      operationId: list_referential_check_results_api_v1_sdk_referential__asset_id___check_id__results_get
      parameters:
      - name: asset_id
        in: path
        required: true
        schema:
          type: string
          title: Asset Id
      - name: check_id
        in: path
        required: true
        schema:
          type: string
          title: Check Id
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          description: Max results
          default: 100
          title: Limit
        description: Max results
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Offset for pagination
          default: 0
          title: Offset
        description: Offset for pagination
      - name: Authorization
        in: header
        required: false
        schema:
          type: string
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '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
components:
  schemas:
    ReferentialCheckCreate:
      properties:
        child_table_path:
          type: string
          maxLength: 500
          title: Child Table Path
          description: Fully qualified child table path
        child_column_name:
          type: string
          maxLength: 255
          title: Child Column Name
          description: FK column in child table
        parent_table_path:
          type: string
          maxLength: 500
          title: Parent Table Path
          description: Fully qualified parent table path
        parent_column_name:
          type: string
          maxLength: 255
          title: Parent Column Name
          description: PK column in parent table
        name:
          anyOf:
          - type: string
            maxLength: 255
          - type: 'null'
          title: Name
          description: Friendly name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: Optional description
        capture_interval:
          type: string
          maxLength: 100
          title: Capture Interval
          description: Capture interval (hourly, daily, weekly, or cron)
          default: daily
        max_orphan_count:
          anyOf:
          - type: integer
            minimum: 0.0
          - type: 'null'
          title: Max Orphan Count
          description: Alert if orphan count exceeds this value
        max_orphan_percent:
          anyOf:
          - type: number
            maximum: 100.0
            minimum: 0.0
          - type: string
          - type: 'null'
          title: Max Orphan Percent
          description: Alert if orphan percentage exceeds this value (0-100)
        min_child_count:
          anyOf:
          - type: integer
            minimum: 0.0
          - type: 'null'
          title: Min Child Count
          description: Each parent should have at least this many children
        max_child_count:
          anyOf:
          - type: integer
            minimum: 1.0
          - type: 'null'
          title: Max Child Count
          description: Each parent should have at most this many children
      type: object
      required:
      - child_table_path
      - child_column_name
      - parent_table_path
      - parent_column_name
      title: ReferentialCheckCreate
      description: 'Request schema for creating a referential integrity check.


        Validates FK relationships between child and parent tables.

        Note: asset_id is extracted from the URL path, not the request body.'
    ReferentialCheckUpdate:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        capture_interval:
          anyOf:
          - type: string
            maxLength: 100
          - type: 'null'
          title: Capture Interval
        max_orphan_count:
          anyOf:
          - type: integer
            minimum: 0.0
          - type: 'null'
          title: Max Orphan Count
        max_orphan_percent:
          anyOf:
          - type: number
            maximum: 100.0
            minimum: 0.0
          - type: string
          - type: 'null'
          title: Max Orphan Percent
        min_child_count:
          anyOf:
          - type: integer
            minimum: 0.0
          - type: 'null'
          title: Min Child Count
        max_child_count:
          anyOf:
          - type: integer
            minimum: 1.0
          - type: 'null'
          title: Max Child Count
        is_active:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Active
      type: object
      title: ReferentialCheckUpdate
      description: Request schema for updating a referential check.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    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.
    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
x-refined-from:
- anomalyarmor.ai-openapi.json
- app.anomalyarmor.ai-openapi.json
- docs.anomalyarmor.ai-openapi.json