ArthurAI Rules API

Endpoints to manage rules

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/arthurai-rules-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

arthurai-rules-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Arthur GenAI Engine Agent Discovery Rules API
  version: 2.1.688
  description: Endpoints to manage rules
tags:
- name: Rules
  description: Endpoints to manage rules
paths:
  /api/v2/default_rules:
    get:
      tags:
      - Rules
      summary: Get Default Rules
      description: Get default rules.
      operationId: get_default_rules_api_v2_default_rules_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/RuleResponse'
                type: array
                title: Response Get Default Rules Api V2 Default Rules Get
      security:
      - API Key: []
    post:
      tags:
      - Rules
      summary: Create Default Rule
      description: 'Create a default rule. Default rules are applied universally across existing tasks, subsequently created new tasks, and any non-task related requests. Once a rule is created, it is immutable. Available rules are ''KeywordRule'', ''ModelHallucinationRuleV2'', ''ModelSensitiveDataRule'', ''PIIDataRule'', ''PromptInjectionRule'', ''RegexRule'', ''ToxicityRule''. Note: The rules are cached by the validation endpoints for 60 seconds.'
      operationId: create_default_rule_api_v2_default_rules_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewRuleRequest'
            examples:
              example1:
                summary: Sensitive Data Example
                description: Sensitive Data Example with its required configuration
                value:
                  name: Sensitive Data Rule
                  type: ModelSensitiveDataRule
                  apply_to_prompt: true
                  apply_to_response: false
                  config:
                    examples:
                    - example: John has O negative blood group
                      result: true
                    - example: Most of the people have A positive blood group
                      result: false
                    hint: specific individual's blood types
              example2:
                summary: Regex Example
                description: Regex Example with its required configuration. Be sure to properly encode requests using JSON libraries. For example, the regex provided encodes to a different string when encoded to account for escape characters.
                value:
                  name: SSN Regex Rule
                  type: RegexRule
                  apply_to_prompt: true
                  apply_to_response: true
                  config:
                    regex_patterns:
                    - \d{3}-\d{2}-\d{4}
                    - \d{5}-\d{6}-\d{7}
              example3:
                summary: Keywords Rule Example
                description: Keywords Rule Example with its required configuration
                value:
                  name: Blocked Keywords Rule
                  type: KeywordRule
                  apply_to_prompt: true
                  apply_to_response: true
                  config:
                    keywords:
                    - Blocked_Keyword_1
                    - Blocked_Keyword_2
              example4:
                summary: Prompt Injection Rule Example
                description: Prompt Injection Rule Example, no configuration required
                value:
                  name: Prompt Injection Rule
                  type: PromptInjectionRule
                  apply_to_prompt: true
                  apply_to_response: false
              example5:
                summary: Hallucination Rule V1 Example (Deprecated)
                description: Hallucination Rule Example, no configuration required (This rule is deprecated. Use ModelHallucinationRuleV2 instead.)
                value:
                  name: Hallucination Rule
                  type: ModelHallucinationRule
                  apply_to_prompt: false
                  apply_to_response: true
              example6:
                summary: Hallucination Rule V2 Example
                description: Hallucination Rule Example, no configuration required
                value:
                  name: Hallucination Rule
                  type: ModelHallucinationRuleV2
                  apply_to_prompt: false
                  apply_to_response: true
              example7:
                summary: Hallucination Rule V3 Example (Beta)
                description: Hallucination Rule Example, no configuration required. This rule is in beta and must be enabled by the system administrator.
                value:
                  name: Hallucination Rule
                  type: ModelHallucinationRuleV3
                  apply_to_prompt: false
                  apply_to_response: true
              example8:
                summary: PII Rule Example
                description: PII Rule Example, no configuration required. "disabled_pii_entities", "confidence_threshold", and "allow_list" accepted. Valid value for "confidence_threshold" is 0.0-1.0. Valid values for "disabled_pii_entities" are CREDIT_CARD,CRYPTO,DATE_TIME,EMAIL_ADDRESS,IBAN_CODE,IP_ADDRESS,NRP,LOCATION,PERSON,PHONE_NUMBER,MEDICAL_LICENSE,URL,US_BANK_NUMBER,US_DRIVER_LICENSE,US_ITIN,US_PASSPORT,US_SSN
                value:
                  name: PII Rule
                  type: PIIDataRule
                  apply_to_prompt: true
                  apply_to_response: true
                  config:
                    disabled_pii_entities:
                    - EMAIL_ADDRESS
                    - PHONE_NUMBER
                    confidence_threshold: '0.5'
                    allow_list:
                    - arthur.ai
                    - Arthur
              example9:
                summary: Toxicity Rule Example
                description: Toxicity Rule Example, no configuration required. Threshold accepted
                value:
                  name: Toxicity Rule
                  type: ToxicityRule
                  apply_to_prompt: true
                  apply_to_response: true
                  config:
                    threshold: 0.5
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuleResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - API Key: []
  /api/v2/default_rules/{rule_id}:
    delete:
      tags:
      - Rules
      summary: Archive Default Rule
      description: Archive existing default rule.
      operationId: archive_default_rule_api_v2_default_rules__rule_id__delete
      security:
      - API Key: []
      parameters:
      - name: rule_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Rule Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v2/rules/search:
    post:
      tags:
      - Rules
      summary: Search Rules
      description: Search default and/or task rules.
      operationId: search_rules_api_v2_rules_search_post
      security:
      - API Key: []
      parameters:
      - name: sort
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/PaginationSortMethod'
          description: Sort the results (asc/desc)
          default: desc
        description: Sort the results (asc/desc)
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
          description: Page size. Default is 10. Must be greater than 0 and less than 5000.
          default: 10
          title: Page Size
        description: Page size. Default is 10. Must be greater than 0 and less than 5000.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          description: Page number
          default: 0
          title: Page
        description: Page number
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchRulesRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchRulesResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ToxicityConfig:
      properties:
        threshold:
          type: number
          title: Threshold
          description: 'Optional. Float (0, 1) indicating the level of tolerable toxicity to consider the rule passed or failed. Min: 0 (no toxic language) Max: 1 (very toxic language). Default: 0.5'
          default: 0.5
      additionalProperties: false
      type: object
      title: ToxicityConfig
      example:
        threshold: 0.5
    RuleScope:
      type: string
      enum:
      - default
      - task
      title: RuleScope
    NewRuleRequest:
      properties:
        name:
          type: string
          title: Name
          description: Name of the rule
          examples:
          - SSN Regex Rule
        type:
          type: string
          title: Type
          description: Type of the rule. It can only be one of KeywordRule, RegexRule, ModelSensitiveDataRule, ModelHallucinationRule, ModelHallucinationRuleV2, PromptInjectionRule, PIIDataRule
          examples:
          - RegexRule
        apply_to_prompt:
          type: boolean
          title: Apply To Prompt
          description: Boolean value to enable or disable the rule for llm prompt
          examples:
          - true
        apply_to_response:
          type: boolean
          title: Apply To Response
          description: Boolean value to enable or disable the rule for llm response
          examples:
          - false
        config:
          anyOf:
          - $ref: '#/components/schemas/KeywordsConfig'
          - $ref: '#/components/schemas/RegexConfig'
          - $ref: '#/components/schemas/ExamplesConfig'
          - $ref: '#/components/schemas/ToxicityConfig'
          - $ref: '#/components/schemas/PIIConfig'
          - type: 'null'
          title: Config
          description: Config of the rule
      type: object
      required:
      - name
      - type
      - apply_to_prompt
      - apply_to_response
      title: NewRuleRequest
      example1:
        description: Sensitive Data Example with its required configuration
        summary: Sensitive Data Example
        value:
          apply_to_prompt: true
          apply_to_response: false
          config:
            examples:
            - example: John has O negative blood group
              result: true
            - example: Most of the people have A positive blood group
              result: false
            hint: specific individual's blood types
          name: Sensitive Data Rule
          type: ModelSensitiveDataRule
      example2:
        description: Regex Example with its required configuration. Be sure to properly encode requests using JSON libraries. For example, the regex provided encodes to a different string when encoded to account for escape characters.
        summary: Regex Example
        value:
          apply_to_prompt: true
          apply_to_response: true
          config:
            regex_patterns:
            - \d{3}-\d{2}-\d{4}
            - \d{5}-\d{6}-\d{7}
          name: SSN Regex Rule
          type: RegexRule
      example3:
        description: Keywords Rule Example with its required configuration
        summary: Keywords Rule Example
        value:
          apply_to_prompt: true
          apply_to_response: true
          config:
            keywords:
            - Blocked_Keyword_1
            - Blocked_Keyword_2
          name: Blocked Keywords Rule
          type: KeywordRule
      example4:
        description: Prompt Injection Rule Example, no configuration required
        summary: Prompt Injection Rule Example
        value:
          apply_to_prompt: true
          apply_to_response: false
          name: Prompt Injection Rule
          type: PromptInjectionRule
      example5:
        description: Hallucination Rule Example, no configuration required (This rule is deprecated. Use ModelHallucinationRuleV2 instead.)
        summary: Hallucination Rule V1 Example (Deprecated)
        value:
          apply_to_prompt: false
          apply_to_response: true
          name: Hallucination Rule
          type: ModelHallucinationRule
      example6:
        description: Hallucination Rule Example, no configuration required
        summary: Hallucination Rule V2 Example
        value:
          apply_to_prompt: false
          apply_to_response: true
          name: Hallucination Rule
          type: ModelHallucinationRuleV2
      example7:
        description: Hallucination Rule Example, no configuration required. This rule is in beta and must be enabled by the system administrator.
        summary: Hallucination Rule V3 Example (Beta)
        value:
          apply_to_prompt: false
          apply_to_response: true
          name: Hallucination Rule
          type: ModelHallucinationRuleV3
      example8:
        description: PII Rule Example, no configuration required. "disabled_pii_entities", "confidence_threshold", and "allow_list" accepted. Valid value for "confidence_threshold" is 0.0-1.0. Valid values for "disabled_pii_entities" are CREDIT_CARD,CRYPTO,DATE_TIME,EMAIL_ADDRESS,IBAN_CODE,IP_ADDRESS,NRP,LOCATION,PERSON,PHONE_NUMBER,MEDICAL_LICENSE,URL,US_BANK_NUMBER,US_DRIVER_LICENSE,US_ITIN,US_PASSPORT,US_SSN
        summary: PII Rule Example
        value:
          apply_to_prompt: true
          apply_to_response: true
          config:
            allow_list:
            - arthur.ai
            - Arthur
            confidence_threshold: '0.5'
            disabled_pii_entities:
            - EMAIL_ADDRESS
            - PHONE_NUMBER
          name: PII Rule
          type: PIIDataRule
      example9:
        description: Toxicity Rule Example, no configuration required. Threshold accepted
        summary: Toxicity Rule Example
        value:
          apply_to_prompt: true
          apply_to_response: true
          config:
            threshold: 0.5
          name: Toxicity Rule
          type: ToxicityRule
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    ExamplesConfig:
      properties:
        examples:
          items:
            $ref: '#/components/schemas/ExampleConfig'
          type: array
          title: Examples
          description: List of all the examples for Sensitive Data Rule
        hint:
          anyOf:
          - type: string
          - type: 'null'
          title: Hint
          description: Optional. Hint added to describe what Sensitive Data Rule should be checking for
      type: object
      required:
      - examples
      title: ExamplesConfig
      example:
        examples:
        - example: John has O negative blood group
          result: true
        - example: Most of the people have A positive blood group
          result: false
        hint: specific individual's blood type
    RegexConfig:
      properties:
        regex_patterns:
          items:
            type: string
          type: array
          title: Regex Patterns
          description: List of Regex patterns to be used for validation. Be sure to encode requests in JSON and account for escape characters.
      additionalProperties: false
      type: object
      required:
      - regex_patterns
      title: RegexConfig
      example:
        regex_patterns:
        - \d{3}-\d{2}-\d{4}
        - \d{5}-\d{6}-\d{7}
    KeywordsConfig:
      properties:
        keywords:
          items:
            type: string
          type: array
          title: Keywords
          description: List of Keywords
      type: object
      required:
      - keywords
      title: KeywordsConfig
      example:
        keywords:
        - Blocked_Keyword_1
        - Blocked_Keyword_2
    RuleResponse:
      properties:
        id:
          type: string
          title: Id
          description: ID of the Rule
        name:
          type: string
          title: Name
          description: Name of the Rule
        type:
          $ref: '#/components/schemas/RuleType'
          description: Type of Rule
        apply_to_prompt:
          type: boolean
          title: Apply To Prompt
          description: Rule applies to prompt
        apply_to_response:
          type: boolean
          title: Apply To Response
          description: Rule applies to response
        enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enabled
          description: Rule is enabled for the task
        scope:
          $ref: '#/components/schemas/RuleScope'
          description: Scope of the rule. The rule can be set at default level or task level.
        created_at:
          type: integer
          title: Created At
          description: Time the rule was created in unix milliseconds
        updated_at:
          type: integer
          title: Updated At
          description: Time the rule was updated in unix milliseconds
        config:
          anyOf:
          - $ref: '#/components/schemas/KeywordsConfig'
          - $ref: '#/components/schemas/RegexConfig'
          - $ref: '#/components/schemas/ExamplesConfig'
          - $ref: '#/components/schemas/ToxicityConfig'
          - $ref: '#/components/schemas/PIIConfig'
          - type: 'null'
          title: Config
          description: Config of the rule
      type: object
      required:
      - id
      - name
      - type
      - apply_to_prompt
      - apply_to_response
      - scope
      - created_at
      - updated_at
      title: RuleResponse
    PIIConfig:
      properties:
        disabled_pii_entities:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Disabled Pii Entities
          description: 'Optional. List of PII entities to disable. Valid values are: CREDIT_CARD,CRYPTO,DATE_TIME,EMAIL_ADDRESS,IBAN_CODE,IP_ADDRESS,NRP,LOCATION,PERSON,PHONE_NUMBER,MEDICAL_LICENSE,URL,US_BANK_NUMBER,US_DRIVER_LICENSE,US_ITIN,US_PASSPORT,US_SSN'
        confidence_threshold:
          anyOf:
          - type: number
          - type: 'null'
          title: Confidence Threshold
          description: 'Optional. Float (0, 1) indicating the level of tolerable PII to consider the rule passed or failed. Min: 0 (less confident) Max: 1 (very confident). Default: 0'
          default: 0
          deprecated: true
        allow_list:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Allow List
          description: Optional. List of strings to pass PII validation.
      additionalProperties: false
      type: object
      title: PIIConfig
      example:
        allow_list:
        - arthur.ai
        - Arthur
        confidence_threshold: '0.5'
        disabled_pii_entities:
        - PERSON
        - URL
    RuleType:
      type: string
      enum:
      - KeywordRule
      - ModelHallucinationRuleV2
      - ModelSensitiveDataRule
      - PIIDataRule
      - PromptInjectionRule
      - RegexRule
      - ToxicityRule
      title: RuleType
    SearchRulesRequest:
      properties:
        rule_ids:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Rule Ids
          description: List of rule IDs to search for.
        rule_scopes:
          anyOf:
          - items:
              $ref: '#/components/schemas/RuleScope'
            type: array
          - type: 'null'
          title: Rule Scopes
          description: List of rule scopes to search for.
        prompt_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Prompt Enabled
          description: Include or exclude prompt-enabled rules.
        response_enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Response Enabled
          description: Include or exclude response-enabled rules.
        rule_types:
          anyOf:
          - items:
              $ref: '#/components/schemas/RuleType'
            type: array
          - type: 'null'
          title: Rule Types
          description: List of rule types to search for.
      type: object
      title: SearchRulesRequest
    SearchRulesResponse:
      properties:
        count:
          type: integer
          title: Count
          description: The total number of rules matching the parameters
        rules:
          items:
            $ref: '#/components/schemas/RuleResponse'
          type: array
          title: Rules
          description: List of rules matching the search filters. Length is less than or equal to page_size parameter
      type: object
      required:
      - count
      - rules
      title: SearchRulesResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PaginationSortMethod:
      type: string
      enum:
      - asc
      - desc
      title: PaginationSortMethod
    ExampleConfig:
      properties:
        example:
          type: string
          title: Example
          description: Custom example for the sensitive data
        result:
          type: boolean
          title: Result
          description: 'Boolean value representing if the example passes or fails the the sensitive data rule '
      type: object
      required:
      - example
      - result
      title: ExampleConfig
      example:
        example: John has O negative blood group
        result: true
  securitySchemes:
    API Key:
      type: http
      description: Bearer token authentication with an API key
      scheme: bearer