openapi: 3.1.0 info: title: Arthur GenAI Engine Agent Discovery Inferences API version: 2.1.688 description: Endpoints for querying past inferences tags: - name: Inferences description: Endpoints for querying past inferences paths: /api/v2/inferences/query: get: tags: - Inferences summary: Query Inferences description: Paginated inference querying. See parameters for available filters. Includes inferences from archived tasks and rules. operationId: query_inferences_api_v2_inferences_query_get security: - API Key: [] parameters: - name: task_ids in: query required: false schema: type: array items: type: string description: Task ID to filter on. default: [] title: Task Ids description: Task ID to filter on. - name: task_name in: query required: false schema: type: string description: Task name to filter on. title: Task Name description: Task name to filter on. - name: conversation_id in: query required: false schema: type: string description: Conversation ID to filter on. title: Conversation Id description: Conversation ID to filter on. - name: inference_id in: query required: false schema: type: string description: Inference ID to filter on. title: Inference Id description: Inference ID to filter on. - name: user_id in: query required: false schema: type: string description: User ID to filter on. title: User Id description: User ID to filter on. - name: start_time in: query required: false schema: type: string format: date-time description: Inclusive start date in ISO8601 string format. title: Start Time description: Inclusive start date in ISO8601 string format. - name: end_time in: query required: false schema: type: string format: date-time description: Exclusive end date in ISO8601 string format. title: End Time description: Exclusive end date in ISO8601 string format. - name: rule_types in: query required: false schema: type: array items: $ref: '#/components/schemas/RuleType' description: List of RuleType to query for. Any inference that ran any rule in the list will be returned. Defaults to all statuses. If used in conjunction with with rule_statuses, will return inferences with rules in the intersection of rule_types and rule_statuses. default: [] title: Rule Types description: List of RuleType to query for. Any inference that ran any rule in the list will be returned. Defaults to all statuses. If used in conjunction with with rule_statuses, will return inferences with rules in the intersection of rule_types and rule_statuses. - name: rule_statuses in: query required: false schema: type: array items: $ref: '#/components/schemas/RuleResultEnum' description: List of RuleResultEnum to query for. Any inference with any rule status in the list will be returned. Defaults to all statuses. If used in conjunction with with rule_types, will return inferences with rules in the intersection of rule_statuses and rule_types. default: [] title: Rule Statuses description: List of RuleResultEnum to query for. Any inference with any rule status in the list will be returned. Defaults to all statuses. If used in conjunction with with rule_types, will return inferences with rules in the intersection of rule_statuses and rule_types. - name: prompt_statuses in: query required: false schema: type: array items: $ref: '#/components/schemas/RuleResultEnum' description: List of RuleResultEnum to query for at inference prompt stage level. Must be 'Pass' / 'Fail'. Defaults to both. default: [] title: Prompt Statuses description: List of RuleResultEnum to query for at inference prompt stage level. Must be 'Pass' / 'Fail'. Defaults to both. - name: response_statuses in: query required: false schema: type: array items: $ref: '#/components/schemas/RuleResultEnum' description: List of RuleResultEnum to query for at inference response stage level. Must be 'Pass' / 'Fail'. Defaults to both. Inferences missing responses will not be affected by this filter. default: [] title: Response Statuses description: List of RuleResultEnum to query for at inference response stage level. Must be 'Pass' / 'Fail'. Defaults to both. Inferences missing responses will not be affected by this filter. - name: include_count in: query required: false schema: type: boolean description: Whether to include the total count of matching inferences. Set to False to improve query performance for large datasets. Count will be returned as -1 if set to False. default: true title: Include Count description: Whether to include the total count of matching inferences. Set to False to improve query performance for large datasets. Count will be returned as -1 if set to False. - 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 responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/QueryInferencesResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: HallucinationClaimResponse: properties: claim: type: string title: Claim valid: type: boolean title: Valid reason: type: string title: Reason order_number: anyOf: - type: integer - type: 'null' title: Order Number description: This field is a helper for ordering the claims default: -1 type: object required: - claim - valid - reason title: HallucinationClaimResponse KeywordDetailsResponse: properties: score: anyOf: - type: boolean - type: 'null' title: Score message: anyOf: - type: string - type: 'null' title: Message keyword_matches: items: $ref: '#/components/schemas/KeywordSpanResponse' type: array title: Keyword Matches description: Each keyword in this list corresponds to a keyword that was both configured in the rule that was run and found in the input text. default: [] additionalProperties: false type: object title: KeywordDetailsResponse 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 QueryInferencesResponse: properties: count: type: integer title: Count description: The total number of inferences matching the query parameters inferences: items: $ref: '#/components/schemas/ExternalInference' type: array title: Inferences description: List of inferences matching the search filters. Length is less than or equal to page_size parameter type: object required: - count - inferences title: QueryInferencesResponse example: count: 1 inferences: - conversation_id: 957df309-c907-4b77-abe5-15dd00c08112 created_at: 1723204737120 id: 957df309-c907-4b77-abe5-15dd00c081f7 inference_feedback: - created_at: '2024-08-09T12:08:34.847381' id: 0d602e5c-4ae6-4fc9-a610-68a1d8928ad7 inference_id: 957df309-c907-4b77-abe5-15dd00c081f7 reason: Perfect answer. score: 100 target: context updated_at: '2024-08-09T12:08:34.847386' user_id: 957df309-2137-4b77-abe5-15dd00c081f8 inference_prompt: created_at: 1723204737121 id: 834f7ebd-cd6b-4691-9473-8bc350f8922c inference_id: 957df309-c907-4b77-abe5-15dd00c081f7 message: How many stars are in the solar system? prompt_rule_results: - id: bc599a56-2e31-4cb7-910d-9e5ed6455db2 latency_ms: 73 name: My_PII_Rule result: Pass rule_type: PIIDataRule scope: default result: Pass tokens: 100 updated_at: 1723204737121 inference_response: context: Solar system contains one star. created_at: 1723204786599 id: ec765a75-1479-4938-8e1c-6334b7deb8ce inference_id: 957df309-c907-4b77-abe5-15dd00c081f7 message: There is one star in solar system. response_rule_results: - id: a45267c5-96d9-4de2-a871-debf2c8fdb86 latency_ms: 107 name: My_another_PII_Rule result: Pass rule_type: PIIDataRule scope: default - details: claims: - claim: There is one star in solar system. order_number: 0 reason: No hallucination detected! valid: true message: All claims were supported by the context! pii_entities: [] pii_results: [] score: true id: 92b7b46e-eaf2-4226-82d4-be12ceb3e4b7 latency_ms: 700 name: My_Hallucination_Rule result: Pass rule_type: ModelHallucinationRuleV2 scope: default result: Pass tokens: 100 updated_at: 1723204786599 result: Pass task_id: 957df309-c907-4b77-abe5-15dd00c081f8 task_name: My task name updated_at: 1723204787050 user_id: 957df309-2137-4b77-abe5-15dd00c081f8 ExternalInference: properties: id: type: string title: Id result: $ref: '#/components/schemas/RuleResultEnum' created_at: type: integer title: Created At updated_at: type: integer title: Updated At task_id: anyOf: - type: string - type: 'null' title: Task Id task_name: anyOf: - type: string - type: 'null' title: Task Name conversation_id: anyOf: - type: string - type: 'null' title: Conversation Id inference_prompt: $ref: '#/components/schemas/ExternalInferencePrompt' inference_response: anyOf: - $ref: '#/components/schemas/ExternalInferenceResponse' - type: 'null' inference_feedback: items: $ref: '#/components/schemas/InferenceFeedbackResponse' type: array title: Inference Feedback user_id: anyOf: - type: string - type: 'null' title: User Id model_name: anyOf: - type: string - type: 'null' title: Model Name description: The model name and version used for this inference (e.g., 'gpt-4', 'gpt-3.5-turbo', 'claude-3-opus', 'gemini-pro'). type: object required: - id - result - created_at - updated_at - inference_prompt - inference_feedback title: ExternalInference HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError RuleType: type: string enum: - KeywordRule - ModelHallucinationRuleV2 - ModelSensitiveDataRule - PIIDataRule - PromptInjectionRule - RegexRule - ToxicityRule title: RuleType ExternalInferencePrompt: properties: id: type: string title: Id inference_id: type: string title: Inference Id result: $ref: '#/components/schemas/RuleResultEnum' created_at: type: integer title: Created At updated_at: type: integer title: Updated At message: type: string title: Message prompt_rule_results: items: $ref: '#/components/schemas/ExternalRuleResult' type: array title: Prompt Rule Results tokens: anyOf: - type: integer - type: 'null' title: Tokens type: object required: - id - inference_id - result - created_at - updated_at - message - prompt_rule_results title: ExternalInferencePrompt RuleScope: type: string enum: - default - task title: RuleScope HallucinationDetailsResponse: properties: score: anyOf: - type: boolean - type: 'null' title: Score message: anyOf: - type: string - type: 'null' title: Message claims: items: $ref: '#/components/schemas/HallucinationClaimResponse' type: array title: Claims type: object required: - claims title: HallucinationDetailsResponse InferenceFeedbackTarget: type: string enum: - context - response_results - prompt_results title: InferenceFeedbackTarget RuleResultEnum: type: string enum: - Pass - Fail - Skipped - Unavailable - Partially Unavailable - Model Not Available title: RuleResultEnum BaseDetailsResponse: properties: score: anyOf: - type: boolean - type: 'null' title: Score message: anyOf: - type: string - type: 'null' title: Message type: object title: BaseDetailsResponse PaginationSortMethod: type: string enum: - asc - desc title: PaginationSortMethod PIIEntityTypes: type: string enum: - 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 title: PIIEntityTypes ToxicityViolationType: type: string enum: - benign - harmful_request - toxic_content - profanity - unknown title: ToxicityViolationType RegexDetailsResponse: properties: score: anyOf: - type: boolean - type: 'null' title: Score message: anyOf: - type: string - type: 'null' title: Message regex_matches: items: $ref: '#/components/schemas/RegexSpanResponse' type: array title: Regex Matches description: Each string in this list corresponds to a matching span from the input text that matches the configured regex rule. default: [] additionalProperties: false type: object title: RegexDetailsResponse KeywordSpanResponse: properties: keyword: type: string title: Keyword description: The keyword from the rule that matched within the input string. type: object required: - keyword title: KeywordSpanResponse ExternalRuleResult: properties: id: type: string title: Id description: ' ID of the rule' name: type: string title: Name description: Name of the rule rule_type: $ref: '#/components/schemas/RuleType' description: Type of the rule scope: $ref: '#/components/schemas/RuleScope' description: Scope of the rule. The rule can be set at default level or task level. result: $ref: '#/components/schemas/RuleResultEnum' description: Result if the rule latency_ms: type: integer title: Latency Ms description: Duration in millisesconds of rule execution details: anyOf: - $ref: '#/components/schemas/KeywordDetailsResponse' - $ref: '#/components/schemas/RegexDetailsResponse' - $ref: '#/components/schemas/HallucinationDetailsResponse' - $ref: '#/components/schemas/PIIDetailsResponse' - $ref: '#/components/schemas/ToxicityDetailsResponse' - $ref: '#/components/schemas/BaseDetailsResponse' - type: 'null' title: Details description: Details of the rule output type: object required: - id - name - rule_type - scope - result - latency_ms title: ExternalRuleResult example: id: 90f18c69-d793-4913-9bde-a0c7f3643de0 name: PII Rule result: Pass RegexSpanResponse: properties: matching_text: type: string title: Matching Text description: The subtext within the input string that matched the regex rule. pattern: anyOf: - type: string - type: 'null' title: Pattern description: Pattern that yielded the match. type: object required: - matching_text title: RegexSpanResponse PIIDetailsResponse: properties: score: anyOf: - type: boolean - type: 'null' title: Score message: anyOf: - type: string - type: 'null' title: Message pii_entities: items: $ref: '#/components/schemas/PIIEntitySpanResponse' type: array title: Pii Entities type: object required: - pii_entities title: PIIDetailsResponse ToxicityDetailsResponse: properties: score: anyOf: - type: boolean - type: 'null' title: Score message: anyOf: - type: string - type: 'null' title: Message toxicity_score: anyOf: - type: number - type: 'null' title: Toxicity Score toxicity_violation_type: $ref: '#/components/schemas/ToxicityViolationType' additionalProperties: false type: object required: - toxicity_violation_type title: ToxicityDetailsResponse InferenceFeedbackResponse: properties: id: type: string title: Id inference_id: type: string title: Inference Id target: $ref: '#/components/schemas/InferenceFeedbackTarget' score: type: integer title: Score reason: anyOf: - type: string - type: 'null' title: Reason user_id: anyOf: - type: string - type: 'null' title: User Id created_at: type: string format: date-time title: Created At updated_at: type: string format: date-time title: Updated At type: object required: - id - inference_id - target - score - created_at - updated_at title: InferenceFeedbackResponse ExternalInferenceResponse: properties: id: type: string title: Id inference_id: type: string title: Inference Id result: $ref: '#/components/schemas/RuleResultEnum' created_at: type: integer title: Created At updated_at: type: integer title: Updated At message: type: string title: Message context: anyOf: - type: string - type: 'null' title: Context response_rule_results: items: $ref: '#/components/schemas/ExternalRuleResult' type: array title: Response Rule Results tokens: anyOf: - type: integer - type: 'null' title: Tokens model_name: anyOf: - type: string - type: 'null' title: Model Name description: The model name and version used for this response (e.g., 'gpt-4', 'gpt-3.5-turbo', 'claude-3-opus', 'gemini-pro'). type: object required: - id - inference_id - result - created_at - updated_at - message - response_rule_results title: ExternalInferenceResponse PIIEntitySpanResponse: properties: entity: $ref: '#/components/schemas/PIIEntityTypes' span: type: string title: Span description: The subtext within the input string that was identified as PII. confidence: anyOf: - type: number - type: 'null' title: Confidence description: Float value representing the confidence score of a given PII identification. type: object required: - entity - span title: PIIEntitySpanResponse securitySchemes: API Key: type: http description: Bearer token authentication with an API key scheme: bearer