Spaces:
Sleeping
Sleeping
openapi: 3.0.0 info: title: Arthur AI API version: "3.0.0" description: Arthur AI API Documentation for https://{dashboardUrl}/api/v3 tags: - name: auth description: Requests to our API should include the JWT returned from the login endpoint in either a header called "Authorization" or be added to the cookie header. - name: organizations description: Endpoints to create and manage organizations - name: models description: The endpoints allow us to create, fetch, update, and archive models. - name: tags description: Tags are created and assigned to models through the /models endpoints. Since tags are created at the organization level, these endpoints provide an interface for viewing the tags in an organization and editing or deleting existing tags. - name: inferences description: An inference can be thought of as a "prediction" - it consists of all the model input attributes and values and the predicted values. An inference can also include ground truth data and non-input data. These endpoints provide us with the functionality to to send, update, and fetch inferences. - name: explainability description: These endpoints provide a way to configure explainability for a model. - name: alert rules description: These endpoints allow us to create rules for when alerts should be triggered and configure the alert behavior. Alerts can be configured for the following (case insensitive) metrics ['average prediction', 'psi data drift', 'psi data drift reference set', 'rmse', 'total inference count', 'total inference count by class', 'psi batch data drift reference set'] or can alternatively use a custom metric. - name: alerts description: Endpoints to fetch and update triggered alerts. - name: metrics description: Endpoints to create and update a model's metrics - name: query description: Our query endpoints take in a sql like request body and return either inferences or inference metrics for a model. See the [Query Guide](/api-query-guide/index.html) for more information. - name: enrichments description: These endpoints allow for configuration and status retrieval of enrichments. - name: users description: Endpoints to create and manage users within an organization. These are disabled for 3rd party authenticated access. - name: authorization description: Endpoints to manage role-based access control for actions within the Arthur platform. See the [Custom RBAC Guide](/access-control/authorization.html) for more information. - name: insights description: Insights are auto-generated observations on model performance. See the [Alerting Guide](/alert-rules-guide/alert\_rules\_guide.html) for more information. - name: reference data description: Reference Data serves as the baseline against which new inferences are compared to quantify drift and stability of incoming data streams. See [Reference Data](/getting-started/setting\_reference\_set.html) for more information. - name: alert-summary description: Endpoints to create and manage alert summary reports. Reports can aggregate alert information across models in an org and be configured to notify users on a daily or weekly cadence. - name: usage description: Get usage information for Arthur in the available categories - inferences, explanations, organization, ground\_truth, and reference\_data. | |
servers: - url: https://app.arthur.ai/api/v3 paths: /login: post: summary: /login description: If the login attempt is successful, the user will be returned in the response body and an HttpOnly, set-cookie "Authorization" header will be returned that contains a JWT to be used in subsequent requests to the API in either the "Authorization" or cookie header. requestBody: description: The login credentials. content: application/json: schema: $ref: '#/components/schemas/LoginRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/User' headers: Set-Cookie: schema: type: string example: Authorization=abcde12345; HttpOnly; secure tags: - auth # \*\*\*\*\*\*\*\*\*\*\*\*\*\*\* Users endpoints \*\*\*\*\*\*\*\*\*\*\*\*\*\*\* /users: get: summary: /users description: Returns a paginated list of users. parameters: - name: page in: query required: false description: The page to fetch. schema: $ref: '#/components/schemas/Page' - name: page\_size in: query required: false description: The number of objects to return in a single page. The default is 20. schema: $ref: '#/components/schemas/PageSize' - name: sort in: query required: false description: Tells us how to order the users. By default, the users will be sorted by their email in asc order. Options are ['email', 'username', 'first\_name', 'last\_name']. To specify sort order, prepend the string with '+' for asc order and '-' for descending order, e.g. '-last\_name' will return the models sorted in desc order. schema: $ref: '#/components/schemas/Sort' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PaginatedUsers' security: - auth: [] tags: - users post: summary: /users description: Creates a new user. requestBody: description: The new user to create content: application/json: schema: $ref: '#/components/schemas/NewUserRequest' responses: '201': description: Success content: application/json: schema: $ref: '#/components/schemas/User' security: - auth: [] tags: - users /users/me: get: summary: /users/me description: Returns the currently authenticated user. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UserResponse' security: - auth: [ ] tags: - users patch: summary: /users/me description: Updates the currently authenticated user. requestBody: description: The user fields to update. content: application/json: schema: $ref: '#/components/schemas/UpdateCurrentUserRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UserResponse' security: - auth: [] tags: - users /users/me/auth\_info: get: description: Returns authentication info for the calling, token-bearing user. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AuthenticationInfo' security: - api\_key: [ ] tags: - auth /users/{user\_id}: parameters: - in: path name: user\_id description: The unique uuid of the user schema: type: string required: true get: summary: /users/{user\_id} description: Returns a single user. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/User' security: - auth: [] tags: - users patch: summary: /users/{user\_id} description: Updates a user. Request to update the password must include the old password unless a super admin is making the request. requestBody: description: The user fields to update. content: application/json: schema: $ref: '#/components/schemas/UpdateUserRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/User' security: - auth: [] tags: - users delete: summary: /users/{user\_id} description: Deletes a user (by marking them as inactive) and invalidates any existing api keys. responses: '204': description: Successfully deleted the user. security: - auth: [] tags: - users /users/invite\_users: post: summary: /users/invite\_users description: Send email invitations to have users join the requesters organization. requestBody: description: A list of emails to invite. content: application/json: schema: properties: invite\_emails: type: array required: true items: type: string example: "[email protected]" description: A list of emails to invite to the organization of the inviting user return\_direct\_links: type: boolean required: false default: false example: true description: If set to true, invite emails will not be sent; instead, the signup links will be returned directly in the api response. If set to false email invites will be sent and the response body will be null. custom\_dashboard\_url: type: string required: false example: "beta.kots.dev.arthur.ai" description: Set this if you want the invite links to be prefixed with a URL different from the default organization\_id: type: string required: false format: uuid example: "b4e2c14d-85f6-405a-b184-ca9fbca2604f" description: Set this if and only if calling as superadmin, otherwise it will return an error; this specifies the org to invite the users to responses: '200': description: Successfully sent email invites. content: application/json: schema: $ref: '#/components/schemas/InviteResponse' security: - auth: [] tags: - users /organizations: get: description: Returns a paginated list of organizations. Requires a global role. parameters: - name: name in: query required: false description: Filters for the organization with this exact name. This is case sensitive. schema: type: string - name: page in: query required: false description: The page to fetch. Defaults to 1. schema: $ref: '#/components/schemas/Page' - name: page\_size in: query required: false description: The number of objects to return in a single page. The default is 20. schema: $ref: '#/components/schemas/PageSize' - name: sort in: query required: false description: Tells us how to order the organizations. Organizations will be sorted by name and will default to being sorted in ascending order. To set in descending order, set the value to "-name". schema: $ref: '#/components/schemas/Sort' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PaginatedOrganizations' security: - api\_key: [] tags: - organizations post: description: Creates a new organization. Requires a global role. requestBody: description: The new organization to create content: application/json: schema: $ref: '#/components/schemas/NewOrganizationRequest' responses: '201': description: Success content: application/json: schema: $ref: '#/components/schemas/Organization' security: - api\_key: [] tags: - organizations /organizations/{organization\_id}: parameters: - in: path name: organization\_id description: The unique uuid of the organization schema: type: string format: uuid example: f562c43a-77ea-49d2-b268-ae082282bfb7 required: true get: description: Fetches a specific organization. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Organization' security: - api\_key: [] tags: - organizations patch: description: Updates the organization's name and plan parameters: - in: path name: organization\_id description: The unique uuid of the organization to be updated schema: type: string format: uuid example: f75d9ecd-bdba-4662-b013-00391b7a18df required: true requestBody: description: The new name and/or plan of the organization to be updated content: application/json: schema: $ref: '#/components/schemas/UpdateOrganizationRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Organization' security: - api\_key: [] tags: - organizations delete: parameters: - in: path name: organization\_id description: The unique uuid of the organization schema: type: string format: uuid example: 8ef91597-71b7-4559-8cba-4734caa558c0 required: true description: Deletes the organization. This is a HARD delete. This request will fail if there are any objects associated with this organization (e.g. users, models). responses: '204': description: Success security: - api\_key: [] tags: - organizations /organizations/{organization\_id}/limits: get: parameters: - in: path name: organization\_id description: The unique uuid of the organization schema: type: string format: uuid example: 144684e1-736b-4087-9174-53484082f889 required: true description: Retrieves the specified organization's limits based on its license plan responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OrganizationLimits' security: - api\_key: [ ] tags: - organizations /organizations/current: get: description: Returns the calling user's current organization. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Organization' security: - api\_key: [ ] tags: - organizations put: description: Sets your current organization. requestBody: description: ID of organization to set. content: application/json: schema: $ref: '#/components/schemas/SetCurrentOrganizationRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SetCurrentOrganizationRequest' security: - api\_key: [ ] tags: - organizations /organizations/me: get: description: Returns all the organizations that the calling user is in responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/Organization' security: - api\_key: [ ] tags: - organizations /models: get: summary: /models description: Returns a paginated response of all the models within an organization. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PaginatedModelResponse' parameters: - name: include\_archived in: query required: false description: Indicates whether information about archived models should be returned. Defaults to false. schema: type: boolean default: false - name: latest\_version\_sequence\_nums in: query required: false description: If true, will only get the latest version model within each model group. If false, will return all versions of all model groups. schema: type: boolean default: false - name: display\_name in: query required: false description: If specified, will get models who have a display name that matches the search string. schema: type: string - name: input\_type in: query required: false description: If specified, will only get models with a matching input type. schema: type: string - name: output\_type in: query required: false description: If specified, will only get models with a matching output type. schema: type: string - name: status in: query required: false description: If specified, will only get models with a matching status. schema: type: string - name: tag in: query required: false description: If specified, will only get models who have the specified tag. schema: type: string - name: model\_group\_id in: query required: false description: If specified, will only get models who belong to the specified model group. schema: type: string - name: created\_since in: query required: false description: If specified, will only get models that were created on or after this time. Should be in ISO8601 string format. schema: type: string - name: expand in: query required: false description: If specified, will only expand the model response to include the corresponding information. Multiple `expand` query parameters can be specified; for example, to return expanded information on organization\_id and explainability, the request would include the query '?expand=explainability&expand=organization\_id'. Note that attributes is not currently a supported option. schema: type: string enum: - explainability - organization\_id - model\_group\_name - inference\_stats - critical\_alert\_count - health\_scores - name: page in: query required: false description: The page to fetch. Will default to 1. schema: $ref: '#/components/schemas/Page' - name: page\_size in: query required: false description: The number of objects to return in a single page. schema: $ref: '#/components/schemas/PageSize' - name: sort in: query required: false description: Tells us how to sort the models. By default, the models will be sorted by their created date in asc order. Options are ['created\_at', 'partner\_model\_id', 'id', 'display\_name', 'model\_group\_name']. To specify sort order, pre-pend the string with '+' for asc order and '-' for descending order, e.g. '-partner\_model\_id' will return the models sorted in desc order. If sorting on model\_group\_name, you must also set a query parameter to expand the model\_group\_name. schema: $ref: '#/components/schemas/Sort' security: - auth: [] tags: - models post: summary: /models description: Creates a new model object. The model must have at least two attributes - one in stages (`NON\_INPUT\_DATA`, `PIPELINE\_INPUT`), and one in stage `PREDICTED\_VALUE`. requestBody: description: Model object to create content: application/json: schema: $ref: '#/components/schemas/ModelRequest' responses: '201': description: Success content: application/json: schema: $ref: '#/components/schemas/ModelObject' security: - auth: [] tags: - models /models/{model\_id}: parameters: - in: path name: model\_id schema: type: string required: true - in: query name: id\_type description: ID type the string in the model path refers to. This defaults to id. schema: enum: - id - partner\_model\_id default: id - in: query name: expand required: false description: Indicates whether additional information should be returned about an object. Multiple `expand` query parameters can be specified; for example, to return expanded information on attributes and explainability, the request would include the query '?expand=explainability&expand=attributes'. schema: type: string enum: - attributes - explainability - organization\_id get: summary: /models/{model\_id} responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ModelResponse' description: Retrieve a specific model object. security: - auth: [] tags: - models put: summary: /models/{model\_id} description: Updates an existing model object. If attributes are included, then the model's attributes will be replaced with the ones provided. Attributes can only be replaced if the model has no inferences. The model's attributes will remain unchanged if attributes are excluded from the request. requestBody: description: Model object to update content: application/json: schema: $ref: '#/components/schemas/ModelUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ModelResponse' security: - auth: [ ] tags: - models delete: summary: /models/{model\_id} description: Archives an existing model object. It will delete any compute resources for the model but will not delete inference data. The model will no longer appear in the Arthur Dashboard. responses: '204': description: Success content: application/json: schema: $ref: '#/components/schemas/ModelResponse' security: - auth: [] tags: - models /models/{model\_id}/attributes: get: summary: /models/{model\_id}/attributes description: Returns a paginated response of a model's attributes parameters: - in: path name: model\_id schema: type: string required: true - name: page in: query required: false description: The page to fetch. Will default to 1. schema: $ref: '#/components/schemas/Page' - name: page\_size in: query required: false description: The number of attributes to return in a single page. The default is 20. schema: $ref: '#/components/schemas/PageSize' - name: sort in: query required: false description: Tells us how to order the attributes. By default, the attributes will be sorted by their name in asc order. Options are ['name', 'id', 'position']. To specify sort order, prepend the string with '+' for asc order and '-' for descending order, e.g. '+position' will return the attributes sorted in ascending positional order. schema: $ref: '#/components/schemas/Sort' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PaginatedAttributeResponse' security: - auth: [] tags: - models put: summary: /models/{model\_id}/attributes description: Updates all of a model's attributes. If the model already has inferences, only the attribute labels and category labels can be updated. Note that this is a "put" so all attributes must be included in the request unless they should be deleted. To update a specific attribute, use the /models/{model\_id}/attributes/{attribute\_id} and to update a subset of attributes use the patch endpoint. Attribute ids should be included for attributes that already exist, otherwise we will attempt to create a new attribute. Any alert rules created for the model prior to this call will be archived. parameters: - in: path name: model\_id schema: type: string required: true requestBody: description: Array of the model attributes to update or add. content: application/json: schema: type: array items: $ref: '#/components/schemas/ModelAttributeResponse' responses: '204': description: The attributes were successfully updated. security: - auth: [] tags: - models patch: summary: /models/{model\_id}/attributes description: Updates a subset of a model's attributes. If the model already has inferences, only the attribute labels and category labels can be updated. Attribute ids should be included for attributes that already exist, otherwise we will attempt to create a new attribute. parameters: - in: path name: model\_id schema: type: string required: true requestBody: description: Array of the model attributes to update or add. Attributes in the body without an "id" are assumed to be new attributes to add to the model. content: application/json: schema: type: array items: $ref: '#/components/schemas/ModelAttributeResponse' responses: '204': description: The attributes were successfully updated. security: - auth: [] tags: - models delete: summary: /models/{model\_id}/attributes description: Deletes all of a model's attributes. Attributes can only be deleted if no inferences exist for this model. Any alert rules created for the model prior to this call will be archived. parameters: - in: path name: model\_id schema: type: string required: true responses: '204': description: Successfully deleted all attributes. security: - auth: [] tags: - models /models/{model\_id}/attributes/{attribute\_id}: get: summary: /models/{model\_id}/attributes/{attribute\_id} description: Gets the model attribute. parameters: - in: path name: model\_id schema: type: string required: true - in: path name: attribute\_id schema: type: string required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ModelAttributeResponse' security: - auth: [] tags: - models put: summary: /models/{model\_id}/attributes/{attribute\_id} description: Updates a model attribute. If the model already has inferences then only the label and category labels can be updated. parameters: - in: path name: model\_id schema: type: string required: true - in: path name: attribute\_id schema: type: string required: true requestBody: description: The updated model attribute content: application/json: schema: $ref: '#/components/schemas/ModelAttributeResponse' responses: '200': description: The attribute was successfully updated. content: application/json: schema: $ref: '#/components/schemas/ModelAttributeResponse' security: - auth: [] tags: - models delete: summary: /models/{model\_id}/attributes/{attribute\_id} description: Deletes the model attribute. An attribute can only be deleted if the model does not have any inferences. parameters: - in: path name: model\_id schema: type: string required: true - in: path name: attribute\_id schema: type: string required: true responses: '204': description: Successfully deleted the attribute security: - auth: [] tags: - models /models/{model\_id}/reference\_data: post: summary: "/models/{model\_id}/reference\_data" description: Uploads a parquet file containing reference set data. After an initial validation, rows are uploaded asynchronously. Failed rows will result in an email alert. For image models, include images in the image\_data field of the form. See the request body schema for more details. parameters: - in: path name: model\_id schema: type: string required: true requestBody: description: Parquet file containing reference set data content: multipart/form-data: schema: $ref: '#/components/schemas/ReferenceDataRequest' responses: '207': description: multi-status response containing success, failure, and total counts and failure messages (if any) content: application/json: schema: $ref: '#/components/schemas/ParquetDataResponse' tags: - reference data get: description: Returns the reference data information for a model. parameters: - in: path name: model\_id schema: type: string required: true responses: '200': description: Reference data information for a model. content: application/json: schema: $ref: '#/components/schemas/ReferenceDatasetResponse' tags: - reference data patch: description: Closes a reference dataset. Closing transitions the dataset from "started" to "uploaded" and kicks off processing. parameters: - in: path name: model\_id schema: type: string required: true requestBody: description: Total record count for the dataset. content: application/json: schema: $ref: '#/components/schemas/ClosedRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' tags: - reference data /models/health: get: summary: /models/health description: Returns the most recent model health scores for the requested models. If the score is null and timestamp is null, it means the score has not been calculated yet for this model. If the score is null and the timestamp is not null, it means there was no data for the model from the last month for calculating a model health score. parameters: - name: model\_id in: query required: true description: A model UUID to retrieve the model health score for. Can be present in the query multiple times. schema: type: array items: | |
type: string example: 817e99b7-5792-411a-8c61-35628ec1aa80 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ModelHealthResponse' security: - auth: [ ] tags: - models /tags: get: summary: /tags description: Get all registered tags parameters: - in: query name: page schema: $ref: '#/components/schemas/Page' - in: query name: page\_size schema: $ref: '#/components/schemas/PageSize' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PaginatedTagResponse' tags: - tags security: - auth: [] /tags/{tag\_name}: put: summary: /tags/{tag\_name} description: Update a specific tag by name. parameters: - in: path name: tag\_name schema: type: string required: true requestBody: description: Name to update specified tag with. content: application/json: schema: $ref: '#/components/schemas/TagUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TagResponse' tags: - tags security: - auth: [] delete: summary: /tags/{tag\_name} description: Delete a specific tag by name. parameters: - in: path name: tag\_name schema: type: string required: true responses: '204': description: Success tags: - tags security: - auth: [] /alerts: get: summary: /alerts description: Returns paginated alerts. For organization-scoped users this will return alerts within their organization. For global users, this will return alerts in all organizations. parameters: - in: query name: model\_id schema: type: array items: type: string description: UUID of a model to retrieve alerts for - in: query name: metric schema: type: string description: Metric to filter alerts by. The available pre-defined metrics are (case insensitive) ['average prediction', 'psi data drift', 'psi data drift reference set', 'rmse', 'total inference count', 'total inference count by class', 'psi batch data drift reference set'] - in: query name: status schema: type: string description: status (new, acknowledged, resolved) to filter alerts on - in: query name: severity schema: type: string description: severity (critical, warning) to filter alerts on - in: query name: start\_time schema: type: string description: Find alerts that were triggered on or after this timestamp. Should be in ISO8601 string format. - in: query name: end\_time schema: type: string description: Find alerts that were triggered before this timestamp. Should be in ISO8601 string format. - in: query name: batch\_id schema: type: array items: type: string description: Batch id to filter for on alerts. - name: page in: query required: false description: The page to fetch. Will default to 1. schema: $ref: '#/components/schemas/Page' - name: page\_size in: query required: false description: The number of objects to return in a single page. The default is 20. schema: $ref: '#/components/schemas/PageSize' - name: sort in: query required: false description: Tells us how to order the models. By default, the alerts will be sorted by their timestamp in asc order. Options are ['status', 'timestamp']. To specify sort order, prepend the string with '+' for asc order and '-' for descending order, e.g. '-timestamp' will return the models sorted in desc order by timestamp. schema: $ref: '#/components/schemas/Sort' - name: alert\_rule\_id in: query required: false description: UUID of the alert rule to filter alerts by schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PaginatedAlertResponse' tags: - alerts security: - auth: [] /alerts/{alert\_id}: patch: summary: /alerts/{alert\_id} description: Update alert status parameters: - in: path name: alert\_id schema: type: string description: alert id of alert to update required: true requestBody: description: Update data for alert content: application/json: schema: $ref: '#/components/schemas/AlertRequest' responses: '204': description: Success content: application/json: schema: $ref: '#/components/schemas/AlertResponse' tags: - alerts security: - auth: [] /alerts/{alert\_id}/notifications: post: description: Sends an email notification for the given alert to the configured users and integrations. parameters: - in: path name: alert\_id description: The UUID of the alert which an email notification will be generated for. This is not required, provide a random string if the notification is not associated with a specific alert id. schema: type: string format: uuid required: true - name: configuration\_id in: query required: false description: The configuration to notify on. schema: type: string format: uuid - name: manual\_trigger in: query required: false description: If this is a manual trigger, force send notification regardless of subscription status. schema: type: boolean requestBody: description: alert notification information. content: application/json: schema: $ref: '#/components/schemas/EmailNotificationBody' responses: '200': description: Success security: - api\_key: [ ] tags: - alerts /models/{model\_id}/metrics: servers: - url: https://app.arthur.ai/api/{version} variables: version: description: Metrics - v3 or v4 default: v4 enum: - v3 - v4 get: summary: /models/{model\_id}/metrics description: Fetches the stored metrics associated with this model. This may include default Arthur metrics as well as custom metrics associated with the model. parameters: - in: path name: model\_id schema: type: string required: true description: UUID of the model for which to fetch metrics - name: page in: query required: false description: The page to fetch. schema: $ref: '#/components/schemas/Page' - name: page\_size in: query required: false description: The number of objects to return in a single page. The default is 20. schema: $ref: '#/components/schemas/PageSize' - name: expand in: query required: false schema: type: array items: type: string enum: - type - name: default in: query required: false schema: type: boolean description: if provided will return only metrics that are default if set to true or not defaults if set to false - name: type in: query required: false schema: type: array items: type: string enum: - model\_output\_metric - model\_input\_data\_metric - model\_performance\_metric - model\_data\_drift\_metric | |
responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PaginatedModelMetricsResponse' security: - auth: [] tags: - metrics post: summary: /models/{model\_id}/metrics description: Creates a new custom metric for the model parameters: - in: path name: model\_id schema: type: string required: true description: UUID of the model for which to create the custom metric requestBody: content: application/json: schema: $ref: '#/components/schemas/MetricRequest' responses: '201': description: Success content: application/json: schema: $ref: '#/components/schemas/MetricResponse' security: - auth: [] tags: - metrics /models/{model\_id}/metrics/{metric\_id}: servers: - url: https://app.arthur.ai/api/{version} variables: version: description: Metrics - v3 or v4 default: v4 enum: - v3 - v4 get: summary: /models/{model\_id}/metrics/{metric\_id} description: Fetches a metric by id parameters: - in: path name: model\_id schema: type: string required: true description: UUID of the model for which to fetch metrics - in: path name: metric\_id schema: type: string required: true description: UUID of the metric to fetch responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/MetricResponse' security: - auth: [] tags: - metrics put: summary: /models/{model\_id}/metrics/{metric\_id} description: Updates a metric parameters: - in: path name: model\_id schema: type: string required: true description: UUID of the model for which to fetch metrics - in: path name: metric\_id schema: type: string required: true description: UUID of the metric to fetch requestBody: content: application/json: schema: $ref: '#/components/schemas/MetricRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/MetricResponse' security: - auth: [] tags: - metrics delete: summary: /models/{model\_id}/metrics/{metric\_id} description: Deletes a metric. Note that if any alerts are associated with this metric then they will automatically be disabled. parameters: - in: path name: model\_id schema: type: string required: true description: UUID of the model for which to fetch metrics - in: path name: metric\_id schema: type: string required: true description: UUID of the metric to fetch responses: '204': description: Success security: - auth: [] tags: - metrics /models/{model\_id}/metrics/{metric\_id}/result: servers: - url: https://app.arthur.ai/api/v4 post: summary: /models/{model\_id}/metrics/{metric\_id}/result description: Evaluate the metric on the provided parameters, filters, and groups parameters: - in: path name: model\_id schema: type: string required: true description: UUID of the model for which to evaluate the metric - in: path name: metric\_id schema: type: string required: true description: UUID of the metric to evaluate requestBody: content: application/json: schema: $ref: '#/components/schemas/MetricEvaluationRequest' responses: '201': description: Success content: application/json: schema: $ref: '#/components/schemas/MetricEvaluationResponse' tags: - metrics | |
/models/{model\_id}/alert\_rules: get: summary: /models/{model\_id}/alert\_rules description: Retrieve a paginated list of alert rules for the specific model. parameters: - in: path name: model\_id schema: type: string required: true description: UUID of the model to get alert rules for - name: page in: query required: false description: The page to fetch. Will default to 1. schema: $ref: '#/components/schemas/Page' - name: page\_size in: query required: false description: The number of objects to return in a single page. The default is 5 and the maximum is 20. schema: $ref: '#/components/schemas/PageSize' - name: sort in: query required: false description: The column name to sort alert rules by schema: type: string - name: severity in: query required: false description: The severity type (critical, warning) to filter alert rules by schema: type: string - name: include\_alert\_metadata in: query required: false description: Whether or not to include alert metadata with each alert rule. Defaults to false. Expanded metadata includes alert counts by status, last triggered timestamp, and last triggered value. schema: type: boolean responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PaginatedAlertRuleResponse' tags: - alert rules security: - auth: [] post: summary: /models/{model\_id}/alert\_rules description: Post a single alert rule for a specific model parameters: - in: path name: model\_id schema: type: string required: true description: UUID of the model to post an alert rule for requestBody: description: Alert rule to add for the model content: application/json: schema: $ref: '#/components/schemas/AlertRuleRequest' responses: '201': description: Success content: application/json: schema: $ref: '#/components/schemas/AlertRuleResponse' tags: - alert rules security: - auth: [] /models/{model\_id}/alert\_rules/{alert\_rule\_id}: patch: summary: /models/{model\_id}/alert\_rules/{alert\_rule\_id} description: Update the fields included in the request for the alert rule. Note that the only fields that can be updated via this endpoint are name, bound, threshold, severity, lookback\_period, subsequent\_alert\_wait\_time, and enabled. parameters: - in: path name: model\_id schema: type: string required: true description: UUID of the model that the alert rule belongs to - in: path name: alert\_rule\_id schema: type: string required: true description: UUID of alert rule to update requestBody: description: Alert rule fields to update content: application/json: schema: $ref: '#/components/schemas/AlertRulePatch' responses: '201': description: Success content: application/json: schema: $ref: '#/components/schemas/AlertRuleResponse' tags: - alert rules security: - auth: [] delete: summary: /models/{model\_id}/alert\_rules/{alert\_rule\_id} description: Archives the specified alert rule parameters: - in: path name: model\_id schema: type: string required: true description: UUID of the model that the alert rule belongs to - in: path name: alert\_rule\_id schema: type: string required: true description: UUID of alert rule to archive responses: '201': description: Success tags: - alert rules security: - auth: [] /models/{model\_id}/alert\_rules/{alert\_rule\_id}/bulk\_alerts: patch: summary: /models/{model\_id}/alert\_rules/{alert\_rule\_id}/bulk\_alerts description: Bulk update all alerts for an alert rule parameters: - in: path name: model\_id schema: type: string required: true description: UUID of the model the alert rule belongs to - in: path name: alert\_rule\_id schema: type: string required: true description: UUID of alert rule to update alerts for requestBody: description: Update data for the alerts content: application/json: schema: $ref: '#/components/schemas/AlertRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/BulkAlertUpdateResponse' tags: - alert rules security: - auth: [] /alert\_notification\_configurations: get: summary: /alert\_notification\_configurations description: Returns paginated notification configurations parameters: - in: query name: user\_id schema: type: string description: UUID of the user for which to filter notification configurations - in: query name: model\_id schema: type: string description: UUID of the model for which to filter notification configurations - name: page in: query required: false description: The page to fetch. schema: $ref: '#/components/schemas/Page' - name: page\_size in: query required: false description: The number of objects to return in a single page. The default is 20. schema: $ref: '#/components/schemas/PageSize' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PaginatedAlertNotificationConfigurationsResponse' tags: - alerts security: - auth: [] post: summary: /alert\_notification\_configurations description: Creates a new alert notification configuration. requestBody: description: The new alert notification configuration to create content: application/json: schema: $ref: '#/components/schemas/NewAlertNotificationConfiguration' responses: '201': description: Success content: application/json: schema: $ref: '#/components/schemas/AlertNotificationConfiguration' tags: - alerts security: - auth: [] /alert\_notification\_configurations/{configuration\_id}: parameters: - in: path name: configuration\_id schema: type: string required: true description: id of the alert notification configuration get: summary: /alert\_notification\_configurations/{configuration\_id} description: Returns an alert notification configuration responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AlertNotificationConfiguration' tags: - alerts security: - auth: [] patch: summary: /alert\_notification\_configurations/{configuration\_id} description: Updates an alert notification configuration. requestBody: description: The configuration fields to update content: application/json: schema: $ref: '#/components/schemas/AlertNotificationConfigurationUpdate' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AlertNotificationConfiguration' tags: - alerts security: - auth: [] delete: summary: /alert\_notification\_configurations/{configuration\_id} description: Deletes an alert notification configuration. responses: '204': description: Successfully deleted the alert notification configuration tags: - alerts security: - auth: [] /models/{model\_id}/inferences: parameters: - in: path name: model\_id schema: type: string required: true description: id of the model that the inferences belong to post: summary: /models/{model\_id}/inferences description: Saves new inferences requestBody: description: The inferences to ingest content: application/json: schema: $ref: '#/components/schemas/NewInferences' responses: '207': description: Success content: application/json: schema: $ref: '#/components/schemas/InferencesResponse' tags: - inferences security: - auth: [] patch: summary: /models/{model\_id}/inferences description: Updates inferences with ground truth data requestBody: description: The inferences' ground truth data content: application/json: schema: $ref: '#/components/schemas/InferencesGroundTruth' responses: '207': description: Success content: application/json: schema: $ref: '#/components/schemas/InferencesResponse' tags: - inferences security: - auth: [] /models/{model\_id}/inferences/file: parameters: - in: path name: model\_id schema: type: string required: true description: id of the model that the inferences belong to post: summary: /models/{model\_id}/inferences/file description: Uploads a parquet file containing inferences or a parquet file containing ground truth. Either inference\_data or ground\_truth\_data must be included in the request. After an initial validation, inferences are uploaded asynchronously. Failed inferences will result in an email alert. For image models, include images in the image\_data field of the form. See the request body schema for more details. parameters: - in: path name: model\_id schema: type: string required: true requestBody: description: File of inferences and optional batch id or file of ground truth content: multipart/form-data: schema: $ref: '#/components/schemas/FileInferenceData' responses: '207': description: Success content: application/json: schema: $ref: '#/components/schemas/ParquetDataResponse' tags: - inferences security: - auth: [] /models/{model\_id}/inferences/integrations/sagemaker\_data\_capture: parameters: - in: path name: model\_id schema: type: string required: true description: id of the model that the inferences belong to post: summary: /models/{model\_id}/inferences/integrations/sagemaker\_data\_capture description: Accepts a SageMaker Data Capture JSONL file containing inferences. The form-data key "inference\_data" must be included in the request and map to a SageMaker Data Capture file. After an initial validation, inferences are uploaded asynchronously. Failed inferences will result in an email alert. See the request body schema for more details. parameters: - in: path name: model\_id schema: type: string required: true requestBody: description: File of inference. content: multipart/form-data: schema: $ref: '#/components/schemas/SageMakerInferenceData' responses: '207': description: Success content: application/json: schema: $ref: '#/components/schemas/SageMakerDataResponse' tags: - inferences security: - auth: [ ] /models/{model\_id}/inferences/images/{image\_id}: parameters: - in: path name: model\_id schema: type: string required: true description: id of the model that the inferences belong to - in: path name: image\_id schema: type: string required: true description: the Arthur-generated id for the image, can be found in the Image type attribute of CV inferences get: summary: /models/{model\_id}/inferences/images/{image\_id} description: Retrieve inference image files. Type=raw\_image will return the original uploaded image. Type=resized\_image will return the image resized to your model's input size. Type=thumbnail will return a thumbnail sized version of the image. Type=lime\_explanation will return a JSON file of lime region mapping and lime segment mask. parameters: - in: query name: type schema: type: string enum: - raw\_image - resized\_image - thumbnail - lime\_explanation required: true responses: '307': description: Redirect to download URL content: text/plain: schema: type: string tags: - inferences security: - auth: [ ] /models/{model\_id}/inferences/{partner\_inference\_id}/explanation: get: summary: /models/{model\_id}/inferences/{partner\_inference\_id}/explanation description: Fetches an on-demand inference explanation. Each time this endpoint is called a new explanation for the given inferences is generated. parameters: - in: path name: model\_id schema: type: string required: true description: id of the model that the inference belongs to - in: path name: partner\_inference\_id schema: type: string required: true description: The pre-defined, user generated unique id associated with the inference - in: query name: algorithm schema: type: string default: lime required: false description: The algorithm to use to generate explainability, options are [lime, shap] - in: query name: n\_samples schema: type: integer required: false description: Number of samples to use when generating the explanation. For SHAP, this corresponds to the 'nsamples' parameter and for LIME, this corresponds to 'num\_samples'. If this is not provided, then we will use the value configured via the model explanation endpoint. - name: page in: query required: false description: The page to fetch. schema: $ref: '#/components/schemas/Page' - name: page\_size in: query required: false description: The number of explanations to return in a single page. The default is 500, this is mainly utilized for models with many attributes or NLP models. schema: $ref: '#/components/schemas/PageSize' - name: sort in: query required: false description: Tells us how to order the explanations. By default, explanations will be sorted asc by their explanation value. Options vary by model type. For NLP models the available options are ['value', 'word', 'location']. For tabular models the options are ['attribute\_name', 'value']. To specify sort order, prepend the string with '+' for asc order and '-' for descending order, e.g. '+word' will return the explanations sorted by word in alphabetical order. schema: $ref: '#/components/schemas/Sort' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ExplainabilityResultOnDemand' security: - auth: [] tags: - explainability /models/{model\_id}/what\_if: post: summary: "/models/{model\_id}/what\_if" description: "Retrieve the prediction and explanation for an inference. Only valid for models with input type equal to Tabular." parameters: - in: path name: model\_id schema: type: string required: true description: id of the model to get an explanation for requestBody: description: Inference to get what-if values for content: application/json: schema: $ref: '#/components/schemas/WhatIfRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ExplainabilityResultWhatIf' security: - auth: [] tags: - explainability /models/{model\_id}/inferences/query: post: summary: /models/{model\_id}/inferences/query description: This endpoint takes a query request in the body and returns inferences and metrics for the model's inferences. Please see the "Query Guide" linked above for more information. parameters: - in: path name: model\_id schema: type: string required: true description: The id of the model for which to query inferences - name: page in: query required: false description: The page to fetch. Will default to 1. schema: $ref: '#/components/schemas/Page' - name: page\_size in: query required: false description: The number of objects to return in a single page. schema: $ref: '#/components/schemas/PageSize' requestBody: description: The query to perform on the inferences content: application/json: schema: $ref: '#/components/schemas/QueryRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/QueryResult' tags: - query /models/{model\_id}/inferences/query/data\_drift: post: summary: /models/{model\_id}/inferences/query/data\_drift description: This endpoint takes a data drift query request and returns data drift values. For example queries, see the "Query Guide" under the API section. parameters: - in: path name: model\_id schema: type: string required: true description: The id of the model for which to query inferences requestBody: description: The query to perform on the inferences content: application/json: schema: $ref: '#/components/schemas/DataDriftRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DataDriftResponse' tags: - query /models/{model\_id}/inferences/query/data\_drift\_psi\_bucket\_calculation\_table: post: summary: /models/{model\_id}/inferences/query/data\_drift\_psi\_bucket\_calculation\_table description: This endpoint takes a data drift table query request and returns raw psi bucket values. For example queries, see the "Query Guide" under the API section. parameters: - in: path name: model\_id schema: type: string required: true description: The id of the model for which to query inferences requestBody: description: The query to perform on the inferences content: application/json: schema: $ref: '#/components/schemas/DataDriftTableRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DataDriftTableResponse' tags: - query /models/{model\_id}/inferences/query/distributions: post: summary: /models/{model\_id}/inferences/query/distributions description: This endpoint takes in attributes that should correspond to x and y values and optional additional values and filters and returns scatterplot data. It buckets the x attribute, then buckets the y attribute and returns the values specified in the request that fall within each bucket. parameters: - in: path name: model\_id schema: type: string required: true description: The id of the model for which to query inferences requestBody: description: The attributes and values to return in the bucketed distributions content: application/json: schema: $ref: '#/components/schemas/DistributionsRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/QueryResult' example: query\_result: - AGE: 30.76 BILL\_AMT1: 79957.25 BILL\_AMT2: 155635.4 count: 84 - AGE: 39.31 BILL\_AMT1: 194275.55 BILL\_AMT2: -6663.799999999996 count: 254 - AGE: 37 BILL\_AMT1: 270487.75 BILL\_AMT2: 33911.00000000001 count: 46 tags: - query /models/{model\_id}/datasets: parameters: - in: path name: model\_id schema: type: string required: true get: description: Retrieve all datasets for a model responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DatasetsResponse' tags: - inferences /models/{model\_id}/batches/{batch\_id}: get: description: Returns the batch information for a model. parameters: - in: path name: model\_id schema: type: string required: true - in: path name: batch\_id schema: type: string required: true responses: '200': description: Batch information for a model. content: application/json: schema: $ref: '#/components/schemas/BatchResponse' tags: - inferences patch: description: Closes a batch. Closing transitions the dataset from "started" to "uploaded" and kicks off processing. parameters: - in: path name: model\_id schema: type: string required: true - in: path name: batch\_id schema: type: string required: true requestBody: description: Total record count for the dataset. content: application/json: schema: $ref: '#/components/schemas/ClosedRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' tags: - inferences /models/{model\_id}/enrichments/bias\_mitigation/curves: get: description: Retrieve Bias Mitigation curves for a specified model and query parameters. parameters: - in: path name: model\_id schema: type: string required: true - in: query name: attribute\_id schema: type: string required: false - name: constraint in: query required: false description: constraint to filter for. schema: type: array items: type: string enum: - demographic\_parity - equal\_opportunity - equalized\_odds example: equal\_opportunity - name: attribute\_value in: query required: false description: attribute\_value to filter for. schema: type: array items: type: string - name: continuous\_value in: query required: false description: Continuous value range to filter curves by. A range should be a string starting with the string representation of the start index followed by two underscores and then the string representation of the end index (`{start\_index}\_\_{end\_index}`). To denote open ended ranges use the keyword `none` (`none\_\_18`, represents the range less than 18). schema: type: array items: type: string - name: page in: query required: false description: The page to fetch. Will default to 1. schema: $ref: '#/components/schemas/Page' - name: page\_size in: query required: false description: The number of mitigation curves to return in a single page. The default is 20. schema: $ref: '#/components/schemas/PageSize' responses: '200': description: Success. content: application/json: schema: $ref: '#/components/schemas/PaginatedBiasMitigationCurves' tags: - enrichments /models/{model\_id}/enrichments: parameters: - in: path name: model\_id schema: type: string required: true get: summary: /models/{model\_id}/enrichments description: Gets the enrichment configurations for a model responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/EnrichmentsConfiguration' tags: - enrichments patch: summary: /models/{model\_id}/enrichments description: Updates the enrichment configuration for a model requestBody: description: The enrichment configurations content: multipart/form-data: schema: $ref: '#/components/schemas/EnrichmentsRequest' encoding: configuration: contentType: application/json responses: '202': description: The status of each enrichment # content: # application/json: # schema: # $ref: '#/components/schemas/EnrichmentsStatus' tags: - enrichments | |
/models/{model\_id}/enrichments/anomaly\_detection: parameters: - in: path name: model\_id schema: type: string required: true get: summary: /models/{model\_id}/enrichments/anomaly\_detection responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AnomalyDetectionEnrichmentResponse' tags: - enrichments patch: summary: /models/{model\_id}/enrichments/anomaly\_detection description: Enable or disable anomaly\_detection for a model requestBody: description: Anomaly Detection configuration content: application/json: schema: $ref: '#/components/schemas/AnomalyDetectionEnrichmentConfiguration' responses: '202': description: Success # content: # application/json: # schema: # $ref: '#/components/schemas/EnrichmentStatus' tags: - enrichments | |
/models/{model\_id}/enrichments/bias\_mitigation: parameters: - in: path name: model\_id schema: type: string required: true get: summary: /models/{model\_id}/enrichments/bias\_mitigation responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/BiasMitigationEnrichmentResponse' tags: - enrichments patch: summary: /models/{model\_id}/enrichments/bias\_mitigation description: Enable or disable bias\_mitigation for a model requestBody: description: Bias Mitigation configuration content: application/json: schema: $ref: '#/components/schemas/BiasMitigationEnrichmentConfiguration' responses: '202': description: Success # content: # application/json: # schema: # $ref: '#/components/schemas/EnrichmentStatus' tags: - enrichments | |
/models/{model\_id}/enrichments/hotspots: parameters: - in: path name: model\_id schema: type: string required: true get: summary: /models/{model\_id}/enrichments/hotspots responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/HotspotsEnrichmentResponse' tags: - enrichments patch: summary: /models/{model\_id}/enrichments/hotspots description: Enable or disable hotspots for a model requestBody: description: Hotspots configuration content: application/json: schema: $ref: '#/components/schemas/HotspotsEnrichmentConfiguration' responses: '202': description: Success # content: # application/json: # schema: # $ref: '#/components/schemas/EnrichmentStatus' tags: - enrichments | |
/models/{model\_id}/enrichments/hotspots/find: get: summary: /models/{model\_id}/enrichments/hotspots/find description: Find hotspots for a model using the given metric and threshold. For batch models, supply batch\_id, for streaming models, supply a date. Cannot supply both date and batch. parameters: - in: path name: model\_id schema: type: string required: true - in: query name: date schema: type: string description: The date to find hotspots for. Only applies to streaming models. Results will be returned for a full week containing the provided date. - in: query name: batch\_id schema: type: string description: The batch to find hotspots for. Only applies to batch models. - in: query name: metric schema: type: string required: true description: The metric used to evaluate hotspots. Options are [accuracy | recall | f1 | precision]. - in: query name: threshold schema: type: number required: true description: The threshold to compare the metric against. Areas that are below this value for the given metric are deemed hotspots. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/FindHotspotsResponse' tags: - enrichments | |
/models/{model\_id}/enrichments/explainability: parameters: - in: path name: model\_id schema: type: string required: true get: summary: /models/{model\_id}/enrichments/explainability responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ExplainabilityEnrichmentResponse' tags: - enrichments patch: summary: /models/{model\_id}/enrichments/explainability description: Configure explainability for a model requestBody: description: Explainability configuration and artifacts. content: multipart/form-data: schema: $ref: '#/components/schemas/ExplainabilityEnrichmentRequest' responses: '202': description: Success # content: # application/json: # schema: # $ref: '#/components/schemas/EnrichmentStatus' tags: - enrichments | |
/usage/{rollup}: parameters: - in: query name: metric\_category description: Metric categories to have populated in the response. Organizational metrics can only be returned with rollup type `organization`. At least one metric category must be selected. schema: type: array items: $ref: '#/components/schemas/UsageCategory' required: true - in: query name: start\_time schema: type: string description: Optional, inclusive start date in ISO8601 string format. Defaults to the first timestamp of the current month if not provided. - in: query name: end\_time schema: type: string description: Optional, exclusive end date in ISO8601 string format. Defaults to the first timestamp of next month if not provided. - in: path name: rollup schema: $ref: '#/components/schemas/UsageRollups' required: true description: The level to aggregate the metrics. Results will be aggregated on objects within the user's current authenticated session. For example, an organization scoped user calling this endpoint with a rollup by model will group by all models in the user's current organization. For that user, a rollup of `organization` will only return a single object under the data array. For a global scoped user with model rollup, a block will be returned for every model in every organization. Similarly for a global scoped user with organization rollup, one block will be returned for each organization. get: summary: Get usage metrics. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PaginatedUsageResponse' tags: - usage | |
/alert\_summary\_configurations: get: parameters: - name: page in: query required: false description: The page to fetch. schema: $ref: '#/components/schemas/Page' - name: page\_size in: query required: false description: The number of objects to return in a single page. The default is 20. schema: $ref: '#/components/schemas/PageSize' summary: /alert\_summary\_configurations description: Returns paginated alert summary configurations for the requesting user's organization responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PaginatedAlertSummaryConfigurationsResponse' tags: - alert-summary security: - auth: [] post: summary: /alert\_summary\_configurations description: Creates a new alert summary configuration. requestBody: description: The new alert summary configuration to create content: application/json: schema: $ref: '#/components/schemas/NewAlertSummaryConfiguration' responses: '201': description: Success content: application/json: schema: $ref: '#/components/schemas/AlertSummaryConfiguration' tags: - alert-summary security: - auth: [] | |
/alert\_summary\_configurations/{configuration\_id}: parameters: - name: configuration\_id in: path required: true description: id of the alert summary configuration schema: type: string get: summary: /alert\_summary\_configurations/{configuration\_id} description: Returns the alert summary configuration responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AlertSummaryConfiguration' tags: - alert-summary security: - auth: [] patch: summary: /alert\_summary\_configurations/{configuration\_id} description: Updates an alert summary configuration. requestBody: description: Alert Summary Configuration to update content: application/json: schema: $ref: '#/components/schemas/AlertSummaryConfigurationUpdate' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AlertSummaryConfiguration' tags: - alert-summary security: - auth: [] delete: summary: /alert\_summary\_configurations/{configuration\_id} description: Deletes an alert summary configuration. responses: '204': description: Successfully deleted the alert summary configuration tags: - alert-summary security: - auth: [] | |
/alert\_summary\_configurations/{configuration\_id}/subscribers: parameters: - name: configuration\_id in: path required: true description: id of the alert summary configuration schema: type: string get: summary: /alert\_summary\_configurations/{configuration\_id}/subscribers description: Returns a collection of subscribers of an alert summary responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PaginatedAlertSummaryNotificationConfigurationsResponse' tags: - alert-summary security: - auth: [ ] post: summary: /alert\_summary\_configurations/{configuration\_id}/subscribers description: Creates a new subscriber of an alert summary requestBody: description: The new subscriber to create content: application/json: schema: $ref: '#/components/schemas/NewAlertSummaryNotificationConfiguration' responses: '201': description: Success content: application/json: schema: $ref: '#/components/schemas/AlertSummaryNotificationConfiguration' security: - auth: [ ] tags: - alert-summary | |
/alert\_summary\_configurations/{configuration\_id}/subscribers/{subscriber\_id}: parameters: - name: configuration\_id in: path required: true description: id of the alert summary configuration schema: type: string - name: subscriber\_id in: path required: true description: id of the alert summary notification configuration of an alert summary schema: type: string get: summary: /alert\_summary\_configurations/{configuration\_id}/subscribers/{subscriber\_id} description: Returns the notification configuration for a subscriber of an alert summary responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AlertSummaryNotificationConfiguration' tags: - alert-summary security: - auth: [ ] patch: summary: /alert\_summary\_configurations/{configuration\_id}/subscribers/{subscriber\_id} description: Updates the notification configuration of a subscriber of an alert summary. requestBody: description: Alert Summary Notification Configuration to update content: application/json: schema: $ref: '#/components/schemas/AlertSummaryNotificationConfigurationUpdate' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AlertSummaryNotificationConfiguration' tags: - alert-summary security: - auth: [ ] delete: summary: /alert\_summary\_configurations/{configuration\_id}/subscribers/{subscriber\_id} description: Deletes the notification configuration for a subscriber of an alert summary. responses: '204': description: Successfully deleted the alert summary notification configuration tags: - alert-summary security: - auth: [ ] | |
/insights/model\_counts: parameters: - name: status in: query required: false description: The status type (new, acknowledged, resolved) to filter insights by. schema: type: string - name: start\_time in: query required: false description: Count insights that were created on or after this timestamp. Should be in ISO8601 string format. schema: type: string - name: end\_time in: query required: false description: Count insights that were created before this timestamp. Should be in ISO8601 string format. schema: type: string get: summary: /insights/model\_counts description: Retrieves insight counts by model id for all active models in the current organization. If a model has no insights that fit the search criteria, the model\_id will not be included in the response. responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/ModelInsightCount' tags: - insights /models/{model\_id}/insights: parameters: - name: model\_id in: path required: true description: UUID of the model the insights belong to schema: type: string get: summary: /models/{model\_id}/insights description: Retrieve a paginated list of insights for the specific model. parameters: - name: page in: query required: false description: The page to fetch. Will default to 1. schema: $ref: '#/components/schemas/Page' - name: page\_size in: query required: false description: The number of objects to return in a single page. The default is 20. schema: $ref: '#/components/schemas/PageSize' - name: sort in: query required: false description: The column name and direction to sort insights by. Will default to +timestamp. schema: type: string - name: start\_time in: query required: false schema: type: string description: Find insights that were created on or after this timestamp. Should be in ISO8601 string format. - name: end\_time in: query required: false schema: type: string description: Find insights that were created before this timestamp. Should be in ISO8601 string format. - name: status in: query required: false description: The status type (new, acknowledged, resolved) to filter insights by. schema: type: string - name: batch\_id in: query required: false description: The batch\_id to return insights for. schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PaginatedInsights' tags: - insights patch: summary: /models/{model\_id}/insights description: Update the status of the insights for a specific model requestBody: description: Update information for insights content: application/json: schema: $ref: '#/components/schemas/InsightPatch' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/InsightUpdateResponse' tags: - insights | |
/models/{model\_id}/insights/{insight\_id}: get: summary: /models/{model\_id}/insights/{insight\_id} description: Retrieve insight for the specific model and insight id. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Insight' tags: - insights patch: summary: /models/{model\_id}/insights/{insight\_id} description: Update the status of the insight for a specific model and insight id. requestBody: description: Update information for insight content: application/json: schema: $ref: '#/components/schemas/InsightPatch' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/InsightUpdateResponse' tags: - insights /authorization/authorize: post: summary: /authorization/authorize description: Endpoint for validating a requesting caller has the permissions on the supplied action and resource requestBody: description: Action and Resource the request is asking to authorize content: application/json: schema: $ref: '#/components/schemas/PermissionRequest' responses: '200': description: Allowed '403': description: Forbidden tags: - authorization /authorization/permissions: get: summary: /authorization/permissions description: Endpoint that returns all permissions for the requesting caller. Will return an empty list if the caller has no permissions in the current organization. responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/PermissionRequest' tags: - authorization | |
/authorization/custom\_roles: get: summary: /authorization/custom\_roles description: Returns custom defined roles for the calling organization parameters: - name: roles in: query required: false description: A comma separated list of roles. If specified, returns the role definitions for these roles in the current organization. If not specified, returns role definitions for all roles. schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CustomRBACRequest' tags: - authorization post: summary: /authorization/custom\_roles description: Create custom defined roles for the calling organization. If roles exist for this org already, this request will be additive requestBody: description: A list defining each custom role, it's permissions, and any roles it inherits permissions from content: application/json: schema: $ref: '#/components/schemas/CustomRBACRequest' responses: '200': description: All custom defined roles for the calling organization content: application/json: schema: $ref: '#/components/schemas/CustomRBACRequest' tags: - authorization delete: summary: /authorization/custom\_roles description: Delete any or all custom roles defined for the calling organization requestBody: description: A comma separated list of roles to delete. Passing "\*" as one of the roles will delete all roles for the organization. content: application/json: schema: $ref: '#/components/schemas/RolesRequest' responses: '200': description: All remaining custom defined roles for the calling organization after the delete was successful content: application/json: schema: $ref: '#/components/schemas/CustomRBACRequest' tags: - authorization | |
components: securitySchemes: auth: type: apiKey in: header name: Authorization schemas: UsageRollups: type: string enum: - organization - model UsageCategory: enum: - inferences - explanations - organization - ground\_truth - reference\_data UsageMetric: required: - name - value properties: name: description: 'Name of the metric. For inferences, explanations, and ground\_truth this will be either bytes or record\_count. For organizational metrics this will be user\_count and/or model\_count.' type: string example: record\_counts value: type: number UsageData: required: - metrics - id - name - organization\_id properties: inferences: type: array items: $ref: '#/components/schemas/UsageMetric' explanations: type: array items: $ref: '#/components/schemas/UsageMetric' organization: type: array items: $ref: '#/components/schemas/UsageMetric' ground\_truth: type: array items: $ref: '#/components/schemas/UsageMetric' id: type: string format: uuid example: 19e2716a-02a0-4b52-9ff2-540c1e685be6 description: When rollup = "model", this will be the model id. When rollup = "organization", this will be the organization id. name: type: string example: "Model A" organization\_id: type: string format: uuid example: dc355b20-9163-4619-a0b8-4bf2cd8d62d7 description: In the case where rollup = "model", this will be the organization id for the model referenced by "id". In the case where rollup = "organization", this will be the same value as the "id" field. PaginatedUsageResponse: required: - data - total\_count - rollup - interval\_start - interval\_end properties: data: type: array items: $ref: '#/components/schemas/UsageData' total\_count: type: integer rollup: type: string example: "model" interval\_start: type: string format: date-time interval\_end: type: string format: date-time | |
DistributionsRequest: required: - x - y properties: x: $ref: '#/components/schemas/DistributionsAttribute' y: $ref: '#/components/schemas/DistributionsAttribute' values: type: array items: $ref: '#/components/schemas/DistributionValue' filter: $ref: '#/components/schemas/QueryFilters' example: x: property: "BILL\_AMT1" num\_bins: 20 y: property: "BILL\_AMT2" num\_bins: 20 values: - function: "count" alias: "count" - function: "avg" property: "AGE" filter: - property: "AGE" comparator: "gte" value: 25 DistributionsAttribute: required: - property properties: property: type: string description: The name of the property to select. This can be the name of any attribute associated with the model. alias: type: string description: If an alias is provided, this will be returned as the name for the associated result. num\_bins: type: number description: The number of "buckets" to distribute the attribute into. Value must be at least 2 and no greater than 200. If not specified, we will default to 20. DistributionValue: properties: function: type: string description: optional, an aggregation function like count, sum, abs, max, min, avg property: type: string description: The name of the property to select. This can be the name of any attribute associated with the model. alias: type: string description: If an alias is provided, this will be returned as the name for the associated result. QueryRequest: required: - select properties: select: $ref: '#/components/schemas/QuerySelect' from: type: string description: "Data to query. Inferences are the raw inferences sent to the platform. Enriched includes the raw inferences, plus enriched properties like explanations and anomaly scores. Reference is the reference data set uploaded to the platform. The default is 'inference'." enum: - inference - enriched - reference subquery: $ref: '#/components/schemas/QueryRequest' filter: $ref: '#/components/schemas/QueryFilters' group\_by: $ref: '#/components/schemas/QueryGroupBy' order\_by: $ref: '#/components/schemas/QueryOrderBy' QuerySelect: type: array items: $ref: '#/components/schemas/QuerySelectItem' QuerySelectItem: description: Describes the fields and functions the query should return properties: function: type: string description: The name of the function to use. Either property or function can be specified but not both. enum: - avg - max - min - count - roundTimestamp - labelByMaxColumn - binContinuous - distribution - classificationAccuracyRate - rate - rmse - binsToQuantiles property: type: string description: The name of the property to select. This can be the name of any attribute associated with the model, any of the enriched attributes ['anomaly\_score', 'lime\_feature\_importance', 'shap\_feature\_importance'], or "\*", which selects all of the model's non-enriched attributes. Either property or function can be specified but not both. alias: type: string description: If an alias is provided, this will be returned as the name for the associated result. By default, functions will have the alias set to the function name unless one is provided. parameters: $ref: '#/components/schemas/SelectParameter' SelectParameter: description: Some functions will require additional parameters, for example, you will want to specify the "threshold" for the count function for a classifier. See the Query Documentation for more details type: object additionalProperties: anyOf: - type: number - type: string - type: boolean - $ref: '#/components/schemas/AnyArray' - $ref: '#/components/schemas/KeyValueObject' - $ref: '#/components/schemas/NestedParameterReference' NestedParameterReference: description: Can be used in a function parameter to refer to a column by alias or nest another function as input. Only one of nested\_function or alias\_ref can be specified at a time. type: object properties: nested\_function: $ref: '#/components/schemas/QuerySelectItem' alias\_ref: type: string description: references another alias column by name QueryFilters: type: array items: $ref: '#/components/schemas/QueryFilter' QueryFilter: required: - comparator - value properties: property: type: string description: The name of the property to filter on. This field is required if alias is not provided. alias: type: string description: This will map back to a defined function in the select field and allows you to filter on a calculated function. Required if property is not provided. comparator: type: string description: gt = greater than, gte = greater than or equal, lt = less than, lte = less than or equal, eq = equal, like = used for text search enum: [gt, gte, lt, lte, eq, in, like] value: description: The value to compare the property against oneOf: - type: integer - type: number - type: string QueryGroupBy: type: array items: $ref: '#/components/schemas/QueryGroupByItem' QueryOrderBy: type: array items: $ref: '#/components/schemas/QueryOrderByItem' AnyArray: type: array items: oneOf: - type: integer - type: number - type: string - $ref: '#/components/schemas/KeyValueObject' QueryGroupByItem: properties: property: type: string description: This will be the name of one of the model's attributes or an enriched attribute. Required if alias is not provided. alias: type: string description: This should map back to an alias defined in the select clause. Required if property is not provided. QueryOrderByItem: properties: property: type: string description: This will be the name of one of the model's attributes or an enriched attribute. Required if alias is not provided. alias: type: string description: This should map back to an alias defined in the select clause. Required if property is not provided. direction: type: string description: Either 'asc' or 'desc'. Defaults to 'asc'. QueryResult: required: - query\_result properties: query\_result: type: array items: $ref: '#/components/schemas/ResultRow' DataDriftRequest: required: - properties - metric - base - target properties: properties: type: array items: type: string description: This is a list of model attributes or an enriched attributes. At least one is required. num\_bins: type: integer description: "Continuous attributes only - Sets the number of bins in which to perform the data drift calculation. Bin boundaries are created by assigning each data point of the continuous property to 1 of [numBins] quantiles. For example: If you have an attribute of 100 values from 1 to 100, and passed numBins = 10, then 10 bins would be created with boundaries at 10, 20, 30, ..., 100" metric: type: string enum: - KLDivergence - PSI - JSDivergence - HellingerDistance - NLPDataDrift - HypothesisTest - Multivariate description: A required parameter that will determine type of data drift value. base: $ref: '#/components/schemas/DataDriftRequestBase' target: $ref: '#/components/schemas/DataDriftRequestBase' group\_by: $ref: '#/components/schemas/QueryGroupBy' rollup: type: string enum: - minute - hour - day - month - year - batch\_id description: An optional parameter that will aggregate the calculated data drift value by the supported dimension. DataDriftRequestBase: properties: source: type: string enum: - inference - reference description: Location of the data (inference or reference) filter: $ref: '#/components/schemas/QueryFilters' DataDriftTableRequest: required: - property - base - target properties: property: type: string description: This will be the name of one of the model's attributes or an enriched attribute. Required if alias is not provided. num\_bins: type: integer description: "Continuous attributes only - Sets the number of bins in which to perform the (PSI)[https://scholarworks.wmich.edu/cgi/viewcontent.cgi?article=4249&context=dissertations] calculation. Bin boundaries are created by assigning each data point of the continuous property to 1 of [numBins] quantiles. For example: If you have an attribute of 100 values from 1 to 100, and passed numBins = 10, then 10 bins would be created with boundaries at 10, 20, 30, ..., 100" base: $ref: '#/components/schemas/DataDriftRequestBase' target: $ref: '#/components/schemas/DataDriftRequestBase' group\_by: $ref: '#/components/schemas/QueryGroupBy' rollup: type: string enum: - minute - hour - day - month - year - batch\_id description: An optional parameter that will aggregate the calculated PSI value by the supported dimension. DataDriftTableResponse: properties: query\_result: type: array items: $ref: '#/components/schemas/PSIBucketValue' PSIBucketValue: properties: bucket: type: string rollup: type: string enum: - minute - hour - day - month - year - batch\_id group\_by\_property: type: string base\_bucket\_max: type: number base\_bucket\_min: type: number base\_count\_per\_bucket: type: number base\_ln\_probability\_per\_bucket: type: number base\_probability\_per\_bucket: type: number base\_total: type: number target\_bucket\_max: type: number target\_bucket\_min: type: number target\_count\_per\_bucket: type: number target\_ln\_probability\_per\_bucket: type: number target\_probability\_per\_bucket: type: number target\_total: type: number probability\_difference: type: number ln\_probability\_difference: type: number psi: type: number DataDriftResponse: properties: query\_result: type: array items: $ref: '#/components/schemas/PsiValue' PsiValue: properties: rollup: type: string enum: - minute - hour - day - month - year - batch\_id group\_by\_property: type: string psi\_value: type: number ResultRow: description: Represents 1 row of result data type: object additionalProperties: anyOf: - type: number - type: string - type: boolean - $ref: '#/components/schemas/KeyValueObject' KeyValueObject: type: object additionalProperties: anyOf: - type: number - type: string - type: boolean Page: type: integer default: 1 PageSize: type: integer example: 100 TotalPages: description: The number of result pages that this query generated, the ceiling of the total number of results divided by the page size type: integer example: 1 TotalCount: description: The total number of results the query returned type: integer example: 2 Sort: type: string description: Must be supplied in the format [column\_name] to denote asc sort by this column OR -[column\_name] to denote desc sort by this column Stage: type: string description: Stage of this attribute in the model pipeline. PREDICT\_FUNCTION\_INPUT is deprecated, use PIPELINE\_INPUT instead. example: GROUND\_TRUTH enum: - GROUND\_TRUTH - GROUND\_TRUTH\_CLASS - NON\_INPUT\_DATA - PIPELINE\_INPUT - PREDICTED\_VALUE - PREDICT\_FUNCTION\_INPUT PaginatedAttributeResponse: required: - data - page - page\_size properties: data: type: array description: List of model objects. items: $ref: '#/components/schemas/ModelAttributeResponse' page: $ref: '#/components/schemas/Page' page\_size: $ref: '#/components/schemas/PageSize' total\_pages: $ref: '#/components/schemas/TotalPages' total\_count: $ref: '#/components/schemas/TotalCount' PaginatedUsers: required: - data - page - page\_size properties: data: type: array description: List of users. items: $ref: '#/components/schemas/User' page: $ref: '#/components/schemas/Page' page\_size: $ref: '#/components/schemas/PageSize' total\_pages: $ref: '#/components/schemas/TotalPages' total\_count: $ref: '#/components/schemas/TotalCount' PaginatedModelResponse: required: - data - page - page\_size properties: data: type: array description: List of model objects. items: $ref: '#/components/schemas/ModelResponse' page: $ref: '#/components/schemas/Page' page\_size: $ref: '#/components/schemas/PageSize' total\_pages: $ref: '#/components/schemas/TotalPages' total\_count: $ref: '#/components/schemas/TotalCount' ModelObject: required: - id - input\_type - output\_type - partner\_model\_id - created\_by properties: id: type: string description: The auto-generated unique UUID for the model. display\_name: type: string description: An optional display name for the model. maxLength: 255 partner\_model\_id: type: string description: Client provided unique id to associate with the model. This field must be unique across all active models and cannot be changed once set! maxLength: 255 description: type: string description: Optional description of the model. maxLength: 255 input\_type: type: string description: The type of the model's input data. example: TABULAR enum: - IMAGE - TABULAR - NLP output\_type: type: string description: The output type of the model. example: MULTILABEL enum: - MULTICLASS - MULTILABEL - REGRESSION is\_batch: type: boolean description: Boolean value to determine whether the model sends inferences in batch or streaming format. Defaults to False. example: False archived: type: boolean description: Indicates whether or not a model has been archived, defaults to false. created\_at: type: string format: date-time description: UTC timestamp in ISO8601 format of when the model was created. updated\_at: type: string format: date-time description: UTC timestamp in ISO8601 format of when the model was last updated. attributes: type: array description: Attribute definitions for the model. Included only if the query param 'expand=attributes' is present. minItems: 1 items: $ref: '#/components/schemas/ModelAttributeResponse' tags: type: array description: Keywords to associate with the model. items: type: string classifier\_threshold: type: number description: 'Threshold value for classification models, default is 0.5.' text\_delimiter: type: string description: Only valid for models with `input\_type` equal to `NLP`. Represents the text delimiter to divide input strings. example: "," status: type: string description: The on-boarding status of the model. example: Ready enum: - Pending - Provisioning - Ready - Failed - Unknown - Archived created\_by: $ref: '#/components/schemas/CreatedBy' ModelResponse: required: - explainability - model\_group\_name - total\_inference\_count - average\_inference\_count - last\_inference\_timestamp - health\_score - critical\_alert\_count allOf: - $ref: '#/components/schemas/ModelObject' properties: explainability: $ref: '#/components/schemas/ExplainabilityResponse' model\_group\_name: type: string description: The name of the model group the model belongs to. total\_inference\_count: type: number description: The total number of inferences uploaded for the model. average\_inference\_count: type: number description: The average of the daily inference counts for the model over the last month. last\_inference\_timestamp: type: string description: The timestamp of the last inference for the model. health\_score: type: number description: The aggregated health score of the model between 0-100. For details see Arthur Docs. example: 78.9823 accuray\_health\_score: type: number description: The health score of the model accuracy between 0-100. For details on how the score is calculated see Arthur Docs. example: 86.5 drift\_health\_score: type: number description: The health score of the model's data drift between 0-100. For details on how the score is calculated see Arthur Docs. example: 90.076 ingestion\_health\_score: type: number description: The health score of the model's data ingestion between 0-100. For details on how the score is calculated see Arthur Docs. example: 76.976 critical\_alert\_count: type: number description: The total number of critical alerts for the model that are active (status is new or acknowledged). CreatedBy: description: Contains the information about an entity. required: - type - id properties: id: type: string description: ID of the entity type: type: string description: What kind of entity does the ID represent. enum: - service-account - arthur-managed - idp-managed LoginRequest: required: - login - password properties: login: type: string description: either an email or a username password: type: string ModelAttributeResponse: description: A model attribute. Note that an attribute can only have categories if it is categorical and bins if it is not categorical, it can never have both. required: - id - name - value\_type - stage - categorical - monitor\_for\_bias - is\_unique - is\_positive\_predicted\_attribute - is\_implicit properties: id: type: string description: Auto-generated unique UUID for the attribute. name: type: string description: Name of the attribute. maxLength: 255 label: type: string description: Label for attribute. If attribute has an encoded name, a more readable label can be set. maxLength: 255 value\_type: type: string description: Attribute value type. example: BOOLEAN enum: - BOOLEAN - FLOAT - IMAGE - INTEGER - STRING - TIMESTAMP - UNSTRUCTURED\_TEXT stage: $ref: '#/components/schemas/Stage' position: type: integer description: The array position of attribute within the stage. Required in the `PIPELINE\_INPUT` stage. minimum: 0 example: 0 categorical: type: boolean description: Flag that indicates whether or not this attribute is categorical. default: false min\_range: description: Optional field that indicates the minimum attribute value. oneOf: - type: integer - type: number max\_range: description: Optional field that indicates the maximum attribute value. oneOf: - type: integer - type: number monitor\_for\_bias: type: boolean description: Indicates whether this attribute should be included in bias tracking. default: false categories: type: array description: If the attribute is categorical, this will contain the attribute's categories. items: $ref: '#/components/schemas/AttributeCategory' bins: type: array description: Contains the attribute's bins. Only continuous attributes can have bins. items: $ref: '#/components/schemas/AttributeBin' is\_unique: type: boolean description: Flag to set if this attribute should always be unique. default: false is\_positive\_predicted\_attribute: type: boolean description: Flag for binary classification models to specify positive predicted. attribute. default: false attribute\_link: type: string description: For predicted value or ground truth staged attributes this should be populated with a corresponding predicted value or ground truth attribute name. gt\_class\_link: type: string description: For predicted value, optional mapping to corresponding ground truth class values. implicit: type: boolean description: True if this attribute was created implicitly by the API. default: false type: object AttributeBin: description: A list of the attribute's bins. An attribute will only have bins if it is not categorical. The bin start is exclusive and the end is inclusive, (continuous\_start, continuous\_end]. Use Null to represent an open end of a bin. required: - continuous\_start - continuous\_end properties: continuous\_start: type: number description: The exclusive start value for the bucket. continuous\_end: type: number description: The inclusive end value for the bucket. AttributeCategory: description: A list of the attribute's categories. An attribute will only have categories if it is marked as categorical. required: - value properties: label: type: string description: A label for the category. value: type: string description: The category value. ExplainabilityResponse: description: Describes the explainability configuration of a model. The fields marked as 'expandable' will only be returned when we see the query param 'expand=explainability'. required: - enabled properties: model\_server\_cpu: type: string description: Expandable. The CPU units upper bound to apply to the explainability server. If not set, the container can use all of the CPU available on the node. Maximum precision is 1m. model\_server\_memory: type: string description: Expandable. The memory setting for the explainability server. If not set, will default to '1Gi'. explanation\_nsamples: type: integer description: Expandable. Number of samples to use when generating the explanation. For SHAP, this corresponds to the 'nsamples' parameter, which defaults to len(features) + 2048. For LIME, this corresponds to 'num\_samples', which defaults to 5000. explanation\_algo: type: string description: The algorithm to use to generate explanations. If explainability is enabled, this value will always be returned. We currently support 'lime' and 'shap' and default to 'lime'. enabled: type: boolean description: Flag that indicates whether explainability is enabled for the model, defaults to false. type: object ReferenceDataRequest: description: Reference set data to upload. type: object required: - reference\_data.parquet properties: reference\_data.parquet: description: Parquet file containing reference set data. type: string format: binary image\_data: description: For input type = Image models, this can be a single image file or a zip of multiple image files. reference\_data.parquet is also required when this field is specified. The values of the image attribute in reference\_data.parquet must match this file's filename for a single inference. When sending multiple inferences, the image attributes must match the paths of the corresponding images in the zipped image\_data. The number of images must match the number of rows in reference\_data.parquet. format: binary type: string FileInferenceData: description: File containing inferences to bulk upload and optional batch\_id OR file containing ground truth data. Either inferences.parquet or ground\_truths.parquet must be included in the request. type: object properties: inference\_data: description: Parquet or JSON file containing inferences. If JSON, follow the same format as the /inferences POST endpoint. type: string format: binary ground\_truth\_data: type: string format: binary description: Parquet file containing ground truth, must contain the partner\_inference\_id field and ground\_truth\_timestamp field. batch\_id: description: Optional batch\_id to append to inferences in the provided file type: string image\_data: description: For input type = Image models, this can be a single image file or a zip of multiple image files. inference\_data is also required when this field is specified. The values of the image attribute in inference\_data must match this file's filename for a single inference. When sending multiple inferences, the image attributes must match the paths of the corresponding images in the zipped image\_data. The number of images must match the number of inferences in inference\_data. format: binary type: string SageMakerInferenceData: description: File containing SageMaker Data Capture JSONL to bulk upload. type: object properties: inference\_data: description: | A SageMaker Data Capture JSONL file containing inferences. The filename must end with \".jsonl\". Its data fields can either be encoded in either a CSV or a JSON format. If a user opts for a JSON encoding, the model inputs must be of format `{"instances": [{"features": [feature0, feature1, ...]}, {"features": [...]}]}` and the model outputs must be of format `{"predictions":[[prediction0, prediction1, ...], [prediction0, prediction1...]]}` for each JSON object in the JSON line file. type: string format: binary required: true ParquetDataResponse: description: Summary of failures type: object required: - counts - failures properties: counts: $ref: '#/components/schemas/StatusCounts' failures: type: array description: An array of result objects for each inference. The order matches the original request order items: $ref: '#/components/schemas/ReferenceDataFailures' ReferenceDataFailures: description: Failure reason for a single reference record required: - message - status properties: message: type: string description: an error message example: missing field status: type: number description: HTTP status code for the result example: 400 SageMakerDataResponse: description: Summary of failures type: object required: - counts - failures properties: counts: $ref: '#/components/schemas/StatusCounts' failures: type: array description: An array of result objects for each inference. The order matches the original request order items: $ref: '#/components/schemas/SageMakerDataFailures' SageMakerDataFailures: description: Failure reason for a single reference record required: - message - status - event\_id - inference\_index\_in\_event properties: message: type: string description: an error message example: missing field status: type: number description: HTTP status code for the result example: 400 event\_id: type: string description: The SageMaker event\_id corresponding to the failed to ingest inference. example: unique-event-id inference\_index\_in\_event: type: integer description: The index of the inference within the SageMaker event, in case this event had multiple inferences under the same event\_id. example: 2 ModelRequest: required: - input\_type - output\_type - partner\_model\_id example: name: v3\_api\_example partner\_model\_id: id\_123 input\_type: TABULAR output\_type: MULTILABEL attributes: - name: model\_attribute\_0 value\_type: BOOLEAN stage: PIPELINE\_INPUT position: 0 - name: model\_predicted\_attr value\_type: BOOLEAN stage: PREDICTED\_VALUE properties: display\_name: type: string description: An optional display name for the model. maxLength: 255 partner\_model\_id: type: string description: Client provided unique id to associate with the model. This field must be unique across all active models cannot be changed once set! maxLength: 255 input\_type: type: string description: The type of the model's input data. We currently support "TABULAR", "NLP", and "IMAGE" (for CV models). example: TABULAR enum: - IMAGE - TABULAR - NLP output\_type: type: string description: The output type of the model. example: MULTILABEL enum: - MULTICLASS - MULTILABEL - REGRESSION is\_batch: type: boolean description: Boolean value to determine whether the model sends inferences in batch or streaming format. Defaults to False. example: False description: type: string description: Optional description of the model. maxLength: 255 attributes: type: array description: Attribute definitions for the model. Included in response only if the query param 'expand=attributes' is present. minItems: 1 items: $ref: '#/components/schemas/ModelAttributeResponse' tags: type: array description: Keywords to associate with the model. items: type: string classifier\_threshold: type: number description: 'Threshold value for classification models, default is 0.5.' text\_delimiter: type: string description: Only valid for models with `input\_type` equal to `NLP`. Represents the text delimiter to divide input strings. example: "," ModelUpdateRequest: properties: display\_name: type: string description: Display name of the model to update. maxLength: 255 description: type: string description: Description of model to update. maxLength: 255 attributes: type: array description: Attribute definitions to update on the model. Only ground\_truth attributes can be updated after inferences have been sent. Before inferences have been sent any attributes can be updated. The attributes provided in this class will replace the ones currently associated with the model. items: $ref: '#/components/schemas/ModelAttributeResponse' tags: type: array description: Tags to set on the model object. items: type: string classifier\_threshold: type: number description: 'Threshold value for classification models, default is 0.5. This can only be updated before any inferences have been sent' InferenceAttributeData: properties: attribute\_id: type: string description: The auto-generated unique UUID for the attribute associated with this datapoint. attribute\_name: type: string maxLength: 255 description: Name of the attribute associated with this datapoint. data\_value: anyOf: - type: number - type: string - type: boolean example: 1.0 description: value of the attribute for a specific inference. stage: $ref: '#/components/schemas/Stage' User: required: - id - email properties: id: type: string description: the unique id of the user first\_name: type: string description: The user's first name last\_name: type: string description: The user's last name email: type: string description: The user's email username: type: string description: The username the user can use to login roles: description: The user's roles in the current organization. type: array items: type: string alert\_notifications\_enabled: description: Whether or not the user will receive email notifications when alerts are triggered, defaults to 'false' type: boolean deprecated: true show\_intro\_sequence: description: Used by the Arthur dashboard to determine whether or not to show the user an intro sequence upon login type: boolean help\_mode\_enabled: description: Used by the Arthur dashboard to determine whether or not to show dashboard tooltips type: boolean created\_at: type: string format: date-time description: UTC timestamp of when the user was created UserResponse: description: Represents an application user, if the client is using a service token then only organization\_id and roles will be populated in the object required: - organization\_id - roles properties: id: type: string description: the unique id of the user organization\_id: type: string description: The ID of the users current context organization\_name: type: string description: The name of the users current context first\_name: type: string description: The user's first name last\_name: type: string description: The user's last name email: type: string description: The user's email username: type: string description: The username the user can use to login roles: description: The user's roles type: array items: type: string alert\_notifications\_enabled: description: Whether or not the user will receive email notifications when alerts are triggered, defaults to 'false' type: boolean deprecated: true show\_intro\_sequence: description: used by the Arthur dashboard to determine whether the user should be shown the intro sequence upon login type: boolean help\_mode\_enabled: description: Used by the Arthur dashboard to determine whether or not to show dashboard tooltips type: boolean plan: description: string representation of what plan the org of the returned user is associated with (ie. self-service or paidSaas) type: string created\_at: type: string format: date-time description: UTC timestamp of when the user was created contexts: type: array items: $ref: '#/components/schemas/UserContext' description: Contexts that the user has permissions in. UserContext: properties: name: type: string description: Name of the context. id: type: string description: UUID of the context. UpdateUserRequest: properties: old\_password: type: string description: The user's old password. Not required to update the password if the caller is a super admin. new\_password: type: string description: The user's new password first\_name: type: string description: The user's first name last\_name: type: string description: The user's last name email: type: string description: The user's email username: type: string description: The username the user will use to login roles: type: array items: type: string show\_intro\_sequence: type: boolean description: Used by the Arthur dashboard to determine whether the user should be shown the intro sequence upon login help\_mode\_enabled: description: Used by the Arthur dashboard to determine whether or not to show dashboard tooltips type: boolean UpdateCurrentUserRequest: properties: old\_password: type: string description: The user's old password. new\_password: type: string description: The user's new password first\_name: type: string description: The user's first name last\_name: type: string description: The user's last name email: type: string description: The user's email username: type: string description: The username the user will use to login show\_intro\_sequence: type: boolean description: Used by the Arthur dashboard to determine whether the user should be shown the intro sequence upon login help\_mode\_enabled: description: Used by the Arthur dashboard to determine whether or not to show dashboard tooltips type: boolean NewUserRequest: required: - organization\_id - username - email - password properties: first\_name: type: string description: The user's first name last\_name: type: string description: The user's last name email: type: string description: The user's email username: type: string description: The username the user will use to login password: type: string description: The user's password roles: type: array description: Available Standard Roles are [Administrator, Model Owner, User]. If not provided, user will default to "Model Owner". items: type: string alert\_notifications\_enabled: type: boolean description: Whether or not the user will receive email notifications when alerts are triggered, defaults to 'false' deprecated: true Inference: required: - id - timestamp - data properties: id: type: string description: The auto-generated unique UUID for the inference maxLength: 255 partner\_inference\_id: type: string description: User defined unique inference id maxLength: 255 timestamp: type: string format: date-time description: Inference UTC timestamp in ISO8601 format anomaly\_score: type: number description: This score shows anomalous an inference is and will fall between 0 and 1. A lower score suggests the inference is more anomalous/a larger outlier. data: type: array items: $ref: '#/components/schemas/InferenceAttributeData' explanation: $ref: '#/components/schemas/ExplanationInput' ExplanationInput: type: object additionalProperties: type: object additionalProperties: true InferenceData: description: The inference data to ingest. This should be a map of the attribute name to the attribute value. If ground truth data is included in the request, it should be added to the "ground\_truth\_data" field, not here. type: object additionalProperties: anyOf: - type: number - type: string - type: boolean GroundTruthData: description: Map of the ground truth attribute name to the attribute value type: object additionalProperties: anyOf: - type: number - type: string - type: boolean NewInferences: description: New inferences to save type: array items: $ref: '#/components/schemas/NewInference' NewInference: description: An inference to save required: - inference\_timestamp - partner\_inference\_id - inference\_data properties: inference\_timestamp: type: string description: UTC timestamp of when the inference was made in ISO8601 string format partner\_inference\_id: type: string description: A unique id to associate with the inference. This is needed if you wish to later update the inference with ground truth and provides a quick way to retrieve the inference later. batch\_id: type: string description: Optional batch that the inference should be associated with inference\_data: $ref: '#/components/schemas/InferenceData' ground\_truth\_timestamp: type: string description: Required if ground\_truth\_data is provided, this is the UTC timestamp to associate with the ground truth data ground\_truth\_data: $ref: '#/components/schemas/GroundTruthData' InferencesGroundTruth: description: List of inference ground truth data type: array items: $ref: '#/components/schemas/PartnerIdInferenceGroundTruth' PartnerIdInferenceGroundTruth: description: The inference ground truth required: - ground\_truth\_timestamp - partner\_inference\_id - ground\_truth\_data properties: ground\_truth\_timestamp: type: string description: The UTC timestamp to associate with the ground truth data partner\_inference\_id: type: string description: The pre-defined unique id associated with the inference. ground\_truth\_data: $ref: '#/components/schemas/GroundTruthData' PaginatedTagResponse: description: Paginated list of tags. properties: data: type: array items: $ref: '#/components/schemas/TagResponse' page: $ref: '#/components/schemas/Page' page\_size: $ref: '#/components/schemas/PageSize' total\_pages: $ref: '#/components/schemas/TotalPages' total\_count: $ref: '#/components/schemas/TotalCount' TagResponse: properties: id: type: string description: UUID of the tag name: type: string description: Name of the tag TagUpdateRequest: properties: name: type: string description: New name to update tag with AlertRuleRequest: required: - bound - threshold - severity - metric\_id properties: name: type: string description: A name for the alert rule, a default will be generated if this is not supplied. bound: type: string enum: - upper - lower threshold: type: number description: threshold of alert rule metric\_id: type: string description: The UUID of the metric to use for this alert rule. metric\_parameters: type: object description: Parameter values to use when evaluating the metric. May only supply one value for each parameter. filters: type: array items: $ref: "#/components/schemas/QueryFilter" description: Additional filter(s) to apply when evaluating the alert rule. severity: type: string description: Priority of the alert rule which triggered this alert. enum: - warning - critical lookback\_period: type: number description: The lookback time or "window length" in minutes to use when calculating the alert rule metric. For example, a lookback period of 5 minutes for an alert rule on average prediction will calculate average prediction for the past 5 minutes in a rolling window format. This will default to 5 minutes subsequent\_alert\_wait\_time: type: number description: If metric continues to pass threshold this is the time in minutes to wait before triggering another alert. This defaults to 0. This does not need to be set for batch alerts. enabled: type: boolean description: Whether or not an alert rule is active. Defaults to true. created\_by: type: string description: UUID of the user that is creating this alert rule. Defaults to Null if not specified. example: name: low accuracy rate for high age metric\_id: e14e6aac-0c94-4a78-a104-871f70b8b476 parameters: classifier\_threshold: 0.3 filters: - property: Age comparator: gt value: 55 threshold: 200 bound: lower severity: warning lookback\_period: 360 subsequent\_alert\_wait\_time: 720 enabled: true AlertRuleResponse: required: - id - name - threshold - bound - severity - lookback\_period - subsequent\_alert\_wait\_time - enabled - metric\_id - metric\_name - metric\_query - metric\_type allOf: - $ref: '#/components/schemas/AlertRuleRequest' properties: id: type: string description: UUID of an alert rule metric\_query: description: This should be in the format described in our [Query Guide](/api-documentation/query\_guide.html). Note that you should not include timestamp or batch\_id filters as these should be dynamically added when fetching the metric. The query should use an aggregate function in the first select that maps to the result returned from the query. The query should return a single result. oneOf: - $ref: '#/components/schemas/QueryRequest' - $ref: '#/components/schemas/DataDriftRequest' metric\_type: type: string description: The metric type/category enum: - model\_output\_metric - model\_performance\_metric - model\_data\_drift\_metric - model\_data\_bound\_metric last\_updated\_by: type: string description: UUID of the user that last updated this alert rule. Null if not specified at time of creation or update. last\_updated\_at: type: string description: The time that this alert rule was created or last updated. alert\_counts: $ref: '#/components/schemas/AlertCounts' last\_metric\_value: type: number description: Metric value of the most recent triggered alert for this alert rule. Only included if include\_alert\_metadata query param is set to true. last\_triggered: type: string description: Timestamp of the most recent triggered alert for this alert rule. Only included if include\_alert\_metadata query param is set to true. example: id: 2905da23-fa72-4299-92d6-40007d3a2a03 metric\_id: e14e6aac-0c94-4a78-a104-871f70b8b476 metric\_name: Accuracy Rate metric\_query: select: - function: "accuracyRate" parameters: threshold: "{{ classifier\_threshold }}" name: low accuracy rate for high age parameters: classifier\_threshold: 0.3 filters: - property: Age comparator: gt value: 55 threshold: .5 bound: lower severity: warning lookback\_period: 360 subsequent\_alert\_wait\_time: 720 enabled: true last\_updated\_by: ae9c76c8-e0c3-493d-8b71-79ef1a640xxx last\_updated\_at: "2021-04-05T15:17:28.604533Z" alert\_counts: new: 10 acknowlewdged: 15 resolved: 3 last\_metric\_value: 0.5 last\_triggered: "2021-05-05T20:00:00.000000Z" AlertCounts: description: Alert counts for an alert rule by status. Only included if include\_alert\_metadata query param is set to true. properties: new: type: number acknowledged: type: number resolved: type: number AlertRulePatch: properties: name: type: string description: Optional new display name of the alert rule. Will replace the existing name if supplied. bound: type: string enum: - upper - lower threshold: type: number description: threshold of alert rule severity: type: string description: Priority of the alert rule which triggered this alert. enum: - warning - critical lookback\_period: type: number description: The lookback time in minutes to use when calculating the alert rule metric. For example, a Lookback Period of 3 minutes for an alert rule on average prediction will calculate average prediction for the past 3 minutes in a rolling window format. This will default to 1 minute subsequent\_alert\_wait\_time: type: number description: If metric continues to pass threshold this is the time in seconds to wait before triggering another alert. This defaults to 300 seconds (5 minutes). enabled: type: boolean description: Whether or not an alert rule is active. Defaults to true. last\_updated\_by: type: string description: UUID of the user that is updating this alert rule. Defaults to Null if not specified. PaginatedAlertRuleResponse: description: Paginated list of alert rules. properties: data: type: array items: $ref: '#/components/schemas/AlertRuleResponse' page: $ref: '#/components/schemas/Page' page\_size: $ref: '#/components/schemas/PageSize' total\_pages: $ref: '#/components/schemas/TotalPages' total\_count: $ref: '#/components/schemas/TotalCount' AlertRequest: properties: status: type: string required: true description: Status to update alert with enum: - resolved - acknowledged AlertResponse: properties: id: type: string description: UUID of the alert timestamp: type: string format: date-time description: UTC timestamp in ISO8601 format when the alert was triggered window\_start: type: string description: UTC timestamp in ISO8601 of the metric's rolling window start time window\_end: type: string description: UTC timestamp in ISO8601 of the metric's rolling window end time metric\_value: type: number description: The metric value calculated between the window\_start and window\_end times message: type: string description: Message associated with the alert. model\_id: type: string description: UUID of the model the alert is on batch\_id: type: string description: Id of the batch which the alert was triggered for. Only valid for batch alert rules. status: type: string enum: - new - resolved description: Whether the alert has been resolved or not. organization\_id: type: string format: uuid description: The UUID of the organization corresponding to this alert. alert\_rule: $ref: '#/components/schemas/AlertRuleResponse' PaginatedAlertResponse: description: Paginated list of alert responses. properties: data: type: array items: $ref: '#/components/schemas/AlertResponse' page: $ref: '#/components/schemas/Page' page\_size: $ref: '#/components/schemas/PageSize' total\_pages: $ref: '#/components/schemas/TotalPages' total\_count: $ref: '#/components/schemas/TotalCount' PaginatedAlertNotificationConfigurationsResponse: description: Paginated list of alert notification configurations properties: data: type: array items: $ref: '#/components/schemas/AlertNotificationConfiguration' page: $ref: '#/components/schemas/Page' page\_size: $ref: '#/components/schemas/PageSize' total\_pages: $ref: '#/components/schemas/TotalPages' total\_count: $ref: '#/components/schemas/TotalCount' AlertNotificationConfiguration: description: Tells us where and how to deliver an alert notification required: - id - model\_id - destination - type - enabled properties: id: type: string description: The unique UUID of this notification configuration example: "418c6939-8765-40fa-b04e-11ba57b7f21c" model\_id: type: string description: The UUID of the model that this alert notification config belongs to type: type: string enum: - email destination: type: string description: For a notification type of "email", this is the email address the notification will be delivered to. user\_id: type: string description: UUID of the user this notification config is associated with, if any. This field is required for email notifications. enabled: type: boolean description: Whether or not this notification config is enabled NewAlertNotificationConfiguration: description: a new alert notification configuration to create required: - model\_id - type example: model\_id: "c84296c5-b491-48a2-9a32-ae61a3a2f453" type: "email" user\_id: "8ebe06b1-0537-46a2-9379-eb1418d5ff85" properties: model\_id: type: string description: The UUID of the model that this alert notification config belongs to type: type: string enum: - email destination: type: string description: For a notification type of "email", this field does not need to be provided and will be automatically inferred from the user id. user\_id: type: string description: UUID of the user this notification config is associated with, if any. This field is required for email notifications. enabled: type: boolean description: Whether or not this notification config is enabled. Defaults to "true" default: True AlertNotificationConfigurationUpdate: description: The fields to update in the AlertNotificationConfiguration object properties: enabled: type: boolean description: Whether or not this notification config is enabled WhatIfAttributeRequest: description: "Attribute object for inference to be sent to what-if" properties: attribute\_name: type: string example: "feature\_a" attribute\_value: anyOf: - type: number - type: string - type: boolean example: 1.0 WhatIfRequest: description: "Inference model pipeline input to get explanation for" properties: model\_pipeline\_input: type: array items: $ref: '#/components/schemas/WhatIfAttributeRequest' ExplanationValuesOnDemand: properties: attribute\_name: type: string example: "feature\_a" explanation\_value: type: number example: 0.12 tokens: type: array description: Only valid for NLP models, represents the list of tokens locations and explanation values items: $ref: '#/components/schemas/TokenObject' ExplanationValuesWhatIf: properties: attribute\_name: type: string example: "feature\_a" explanation\_value: type: number example: 0.12 TokenObject: properties: token: type: string description: Token string which is generated from separating the input text by the model's given delimiter. example: dog position: type: number description: Integer representing the location of the token in the input text. 0 refers to the the first token in the input text. example: 0 explanation\_value: type: number description: Float explanation value for the specific token. example: 0.48 ExplanationsOnDemand: properties: algorithm: type: string example: "shap" predicted\_attribute\_name: type: string example: "class\_a" importance\_scores: type: array items: $ref: '#/components/schemas/ExplanationValuesOnDemand' ExplanationsWhatIf: properties: algorithm: type: string example: "shap" predicted\_attribute\_name: type: string example: "class\_a" importance\_scores: type: array items: $ref: '#/components/schemas/ExplanationValuesWhatIf' ExpectedValues: properties: predicted\_attribute\_name: type: string example: "feature\_a" expected\_value: type: number example: 0.12 ExplainabilityResultOnDemand: properties: explanation: type: array items: $ref: '#/components/schemas/ExplanationsOnDemand' expected\_value: type: array items: $ref: '#/components/schemas/ExpectedValues' ExplainabilityResultWhatIf: properties: predicted\_values: type: array items: $ref: '#/components/schemas/WhatIfAttributeRequest' explanation: type: array items: $ref: '#/components/schemas/ExplanationsWhatIf' expected\_value: type: array items: $ref: '#/components/schemas/ExpectedValues' InferencesResponse: description: Statuses for each inference required: - counts - results properties: counts: $ref: '#/components/schemas/StatusCounts' results: type: array description: An array of result objects for each inference. The order matches the original request order items: $ref: '#/components/schemas/InferenceResult' InferenceResult: description: Result for a single inference required: - message - status properties: message: type: string description: either "success" or an error message example: success status: type: number description: HTTP status code for the result example: 200 StatusCounts: description: Counts of the results by status required: - success - failure - total properties: success: type: number description: The number of successful inferences in the request failure: type: number description: The number of failed inferences in the request total: type: number description: The total number of inferences in the request DatasetStatusEnum: type: string enum: - started - uploaded - processing - completed - failed description: The status of the dataset. DatasetsResponse: type: array items: $ref: '#/components/schemas/DatasetResponse' DatasetResponse: type: object properties: model\_id: type: string description: The unique UUID for the model. type: type: string enum: - batch - reference description: The type of dataset. batch\_id: type: string description: The id of the batch. Only returned for "batch" type datasets. records: type: integer description: The number of records in the dataset partner\_record\_count: type: integer description: The total number of records sent by the customer. This is an optional field that is populated by the "total\_record\_count" in the dataset POST request. status: $ref: '#/components/schemas/DatasetStatusEnum' created\_at: type: string description: Timestamp the dataset was created in the Arthur platform. updated\_at: type: string description: Timestamp the dataset was last updated in the Arthur platform. SuccessResponse: type: object properties: message: type: string example: success ClosedRequest: type: object required: - status properties: status: type: string example: uploaded description: Setting the status to "uploaded" will close the batch and start the dataset post-processing. total\_record\_count: description: A total count of all the records in this dataset across all calls to ingestion service. This is intended to come from the customer so we can verify no data was lost in transmission. type: integer ReferenceDatasetResponse: type: object properties: model\_id: type: string description: The unique UUID for the model. records: type: integer description: The number of records in the dataset partner\_record\_count: type: integer description: The total number of records sent by the customer. This is an optional field that is populated by the "total\_record\_count" in the dataset POST request. status: $ref: '#/components/schemas/DatasetStatusEnum' created\_at: type: string description: Timestamp the dataset was created in the Arthur platform. updated\_at: type: string description: Timestamp the dataset was last updated in the Arthur platform. BatchResponse: type: object properties: model\_id: type: string description: The unique UUID for the model. batch\_id: type: string description: The id of the batch. Only returned for "batch" type datasets. records: type: integer description: The number of records in the dataset partner\_record\_count: type: integer description: The total number of records sent by the customer. This is an optional field that is populated by the "total\_record\_count" in the dataset POST request. status: $ref: '#/components/schemas/DatasetStatusEnum' created\_at: type: string description: Timestamp the dataset was created in the Arthur platform. updated\_at: type: string description: Timestamp the dataset was last updated in the Arthur platform. BiasMitigationCurveResponse: type: object properties: id: type: string description: UUID of the bias mitigation curve. example: "418c6939-8765-40fa-b04e-11ba57b7f21c" attribute\_id: type: string description: UUID of the attribute which the curve is associated with. example: "418c6939-8765-40fa-b04e-11ba57b7f21c" attribute\_name: type: string description: Name of the attribute which the curve is associated with. example: "Gender" categorical\_value: type: string description: Categorical attribute value which the curve is associated with. example: "Male" continuous\_start: type: string description: Start of the range in which the curve is associated with for continuous attributes. Will only exist for continuous attributes and will always have a corresponding continuous\_end. A none value denotes an open bound. example: "18" continuous\_end: type: string description: End of the range in which the curve is associated with for continuous attributes. Will only exist for continuous attributes and will always have a corresponding continuous\_end. A none value denotes an open bound. example: "65" constraint: type: string description: Constraint value which the curve is associated with. example: "Demographic Parity" x\_label: type: string description: X axis label of the curve, derived from constraint type. example: "Selection Rate" y\_label: type: string description: Y axis label of the curve, derived from constraint type. example: "Accuracy" optimization\_index: type: integer description: Index of the curve point which is most optimized according to the constraint. data\_points: type: array items: $ref: '#/components/schemas/BiasMitigationDataPoints' description: Timestamp the file was last updated in the Arthur platform. BiasMitigationDataPoints: type: object properties: x: type: number description: x-coordinate of the point on the curve. example: 0.78 y: type: number description: y-coordinate of the point on the curve. example: 0.28 threshold: type: number description: Threshold associated with specific point on the curve. example: 0.8 PaginatedBiasMitigationCurves: properties: data: type: array description: List of bias mitigation curves. items: $ref: '#/components/schemas/BiasMitigationCurveResponse' page: $ref: '#/components/schemas/Page' page\_size: $ref: '#/components/schemas/PageSize' total\_pages: $ref: '#/components/schemas/TotalPages' AnomalyDetectionEnrichmentConfiguration: required: - enabled properties: enabled: type: boolean description: Whether or not the enrichment is enabled default: true BiasMitigationEnrichmentConfiguration: required: - enabled properties: enabled: type: boolean description: Whether or not the enrichment is enabled default: false HotspotsEnrichmentConfiguration: required: - enabled properties: enabled: type: boolean description: Whether or not the enrichment is enabled default: false ExplainabilityEnrichmentConfiguration: description: JSON-formatted configuration options for the Explainability Enrichment. See the ExplainabilityEnrichmentConfiguration for schema. type: object required: - enabled - python\_version - sdk\_version - streaming\_explainability\_enabled - user\_predict\_function\_import\_path properties: enabled: type: boolean description: Whether or not the enrichment is enabled default: false config: type: object properties: python\_version: description: Python version number user project users type: string sdk\_version: description: SDK version number user project uses type: string streaming\_explainability\_enabled: description: Set to true if explainability should be calculated for all inferences in a streaming manner and set to false if explainability should only be calculated when requested. type: boolean user\_predict\_function\_import\_path: description: Import path of the user model predict function in the project directory type: string shap\_expected\_values: description: If using SHAP, these are the expected values generated when the explainer is created type: array items: type: number model\_server\_cpu: description: Number of cpus to assign to explanation server. type: string default: '2' model\_server\_memory: description: Amount of memory to assign explanation server in the format xMi or xGi. type: string default: '1500Mi' model\_server\_max\_replicas: description: Max number of model server instances. type: integer default: 30 explanation\_nsamples: description: Explainability algorithms create sample data points when explaining inferences. The number of samples created per explanation can be configured here. There is a trade off between accuracy and computing power and time for this configuration. type: integer default: 2000 explanation\_algo: description: Explainability algorithm to use in the model server. Current options are "lime" or "shap", default is "lime" type: string enum: - lime - shap default: lime inference\_consumer\_cpu: description: Number of cpus to assign to the inference reader type: string default: '500m' inference\_consumer\_memory: description: Amount of memory to assign to the inference reader in the format xMi or xGi. type: string default: '512Mi' inference\_consumer\_score\_percent: description: Sampling rate for inferences to explain type: number default: 1.0 inference\_consumer\_thread\_pool\_size: description: Number of threads in the inference consumer pool type: integer default: 5 | |
ExplainabilityEnrichmentArtifacts: description: Artifacts for enrichments properties: user\_project.zip: description: Zipped folder of model predict function and code dependencies type: string format: binary user\_requirements\_file.txt: description: Text file containing python dependencies the project folder requires type: string format: binary explainer.pkl: description: Serialized LIME or SHAP explainer object type: string format: binary | |
EnrichmentsConfiguration: description: A JSON-formatted enrichments configuration. See the EnrichmentsConfiguration object for schema type: object properties: anomaly\_detection: $ref: '#/components/schemas/AnomalyDetectionEnrichmentConfiguration' bias\_mitigation: $ref: '#/components/schemas/BiasMitigationEnrichmentConfiguration' hotspots: $ref: '#/components/schemas/HotspotsEnrichmentConfiguration' explainability: $ref: '#/components/schemas/ExplainabilityEnrichmentConfiguration' | |
# TODO: to be used in status update EnrichmentStatus: properties: pipeline\_status: type: string enum: - disabled - updating - ready description: status of the enrichment pipeline, the status will be 'updating' while enrichments are being reconfigured, and 'ready' or 'disabled' when the updates are complete. EnrichmentsStatus: type: object description: The response object containing configuration and status of all enrichments. properties: anomaly\_detection: $ref: '#/components/schemas/EnrichmentStatus' bias\_mitigation: $ref: '#/components/schemas/EnrichmentStatus' explainability: $ref: '#/components/schemas/EnrichmentStatus' | |
AnomalyDetectionEnrichmentResponse: type: object description: The response object containing configuration and status of an on-by-default enrichment. allOf: # - $ref: '#/components/schemas/EnrichmentStatus' - $ref: '#/components/schemas/AnomalyDetectionEnrichmentConfiguration' BiasMitigationEnrichmentResponse: type: object description: The response object containing configuration and status of an on-by-default enrichment. allOf: # - $ref: '#/components/schemas/EnrichmentStatus' - $ref: '#/components/schemas/BiasMitigationEnrichmentConfiguration' HotspotsEnrichmentResponse: type: object description: The response object containing configuration and status of an on-by-default enrichment. allOf: # - $ref: '#/components/schemas/EnrichmentStatus' - $ref: '#/components/schemas/HotspotsEnrichmentConfiguration' FindHotspotsNode: type: object properties: rules: type: object description: rules for the split on this node gt\_to\_info: type: object description: info around ground truths at this node precision: type: object description: precision for this node recall: type: object description: recall for this node f1: type: object description: f1 for this node accuracy: type: object description: accuracy for this node impurity: type: object description: impurity for this node n\_samples: type: object description: n\_samples used for this node feature: type: object description: name of feature this node was cut on cutoff: type: object description: the cutoff for the node FindHotspotsResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/FindHotspotsNode' description: Contains all hotspots based on input ExplainabilityEnrichmentResponse: type: object description: The response object containing configuration and status of the explainability enrichment. allOf: # - $ref: '#/components/schemas/EnrichmentStatus' - $ref: '#/components/schemas/ExplainabilityEnrichmentConfiguration' EnrichmentsResponse: type: object description: The response object containing configuration and status of all enrichments. properties: anomaly\_detection: $ref: '#/components/schemas/AnomalyDetectionEnrichmentResponse' bias\_mitigation: $ref: '#/components/schemas/BiasMitigationEnrichmentResponse' hotspots: $ref: '#/components/schemas/HotspotsEnrichmentResponse' explainability: $ref: '#/components/schemas/ExplainabilityEnrichmentResponse' | |
ExplainabilityEnrichmentRequest: type: object description: Configures explainability. A multipart/form-data body with at least a `configuration` JSON body. If explainability is being enabled for the first time, artifacts must be supplied. required: - config properties: config: $ref: '#/components/schemas/ExplainabilityEnrichmentConfiguration' allOf: - $ref: '#/components/schemas/ExplainabilityEnrichmentArtifacts' EnrichmentsRequest: type: object description: Configures multiple enrichments. A multipart/form-data body with at least a `configuration` JSON body. If explainability is being enabled for the first time, artifacts must be supplied. required: - config properties: config: $ref: '#/components/schemas/EnrichmentsConfiguration' allOf: - $ref: '#/components/schemas/ExplainabilityEnrichmentArtifacts' PaginatedModelMetricsResponse: description: Paginated list of metrics. properties: metrics: type: array items: $ref: '#/components/schemas/MetricResponse' page: $ref: '#/components/schemas/Page' page\_size: $ref: '#/components/schemas/PageSize' total\_pages: $ref: '#/components/schemas/TotalPages' total\_count: $ref: '#/components/schemas/TotalCount' NewMetricRequest: description: Contains the new metric object to create required: - name - endpoint - query example: name: class rate endpoint: "/api/v3/models/00000000-0000-0000-0000-000000000000/inferences/query" query: select: - function: rate # TODO: add parameters here parameters: property: class\_a comparator: gte value: 0.5 type: "model\_performance\_metric" created\_by: 10000000-0000-0000-0000-000000000000 properties: name: type: string description: The name for your custom metric, this should not match any other metric name for the model and cannot match any Arthur default metric names. endpoint: type: string description: The relative endpoint to hit when executing this metric example: "/api/v3/models/00000000-0000-0000-0000-000000000000/inferences/query" query: description: This should be in the format described in our [Query Guide](/api-documentation/query\_guide.html). Note that you should not include timestamp or batch\_id filters as these should be dynamically added when executing the metric. oneOf: - $ref: '#/components/schemas/QueryRequest' - $ref: '#/components/schemas/DataDriftRequest' type: description: Type associated with the metric to create. If this field is not supplied the metric type will automatically be filled in. type: string enum: - model\_output\_metric - model\_performance\_metric - model\_data\_drift\_metric - model\_data\_bound\_metric parameters: type: array items: $ref: "#/components/schemas/MetricParameterRequest" created\_by: type: string description: UUID of the user that created this metric. Will be set to Null if not specified. MetricResponse: allOf: - $ref: '#/components/schemas/MetricRequest' - properties: id: type: string format: uuid valid\_rollups: description: The allowed "rollup" parameters for this metric type: array items: type: string example: ["MINUTE", "HOUR", "DAY", "MONTH", "REFERENCE"] parameters: type: array items: $ref: "#/components/schemas/MetricParameterResponse" | |
MetricRequest: description: A Metric containing a template query and parameter definitions type: object required: - name - endpoint - query properties: name: type: string description: The name for your custom metric, this should not match any other metric name for the model and cannot match any Arthur default metric names. example: Accuracy Rate endpoint: type: string description: The relative endpoint to hit when executing this metric example: "/api/v3/models/4d722041-7274-6875-7220-53616d75656c/inferences/query" query: $ref: '#/components/schemas/MetricQuery' type: description: Type associated with the metric to create. If this field is not supplied the metric type will automatically be filled in. type: string enum: - model\_output\_metric - model\_performance\_metric - model\_data\_drift\_metric - model\_data\_bound\_metric parameters: type: array items: $ref: "#/components/schemas/MetricParameterRequest" created\_by: type: string format: uuid description: UUID of the user that created this metric. Will be set to Null if not specified. | |
MetricQuery: type: object description: This should be in the format described in our [Query Guide](/api-documentation/query\_guide.html). Your query must have exactly one select and may not use the `group\_by` or `subquery` fields. Don't include any batch or timestamp filters as these will be added dynamically. For details see example: select: - function: accuracyRate parameters: threshold: "{{ classifier\_threshold }}" | |
MetricParameterRequest: description: A Parameter specification for a Metric type: object required: [ 'name', 'parameter\_type', 'value\_limits', 'default' ] properties: name: type: string example: classifier\_threshold parameter\_type: $ref: '#/components/schemas/ParameterType' value\_limits: type: object description: Acceptable values for the parameter. Exactly one of `categorical` or `range` must be specified. oneOf: - type: object properties: range: allOf: - $ref: "#/components/schemas/RangeValueLimits" - type: object properties: categorical: allOf: - $ref: "#/components/schemas/CategoricalValueLimits" | |
default: description: Default value(s) for the parameter. If not provided, it will be inferred if possible. example: 0.5 | |
MetricParameterResponse: allOf: - $ref: "#/components/schemas/MetricParameterRequest" properties: id: type: string format: uuid | |
ParameterType: description: The type of a supplied parameter type: string enum: [ "ATTRIBUTE", "INTEGER", "FLOAT", "STRING", "TIMESTAMP" ] example: FLOAT | |
RangeValueLimits: description: Possible values between a minimum and maximum value type: object required: [ "min", "max" ] properties: min: description: The minimum value allowed. Not required if it can be inferred. type: number example: 0.0 max: description: The maximum value allowed. Not required if it can be inferred. type: number example: 1.0 | |
CategoricalValueLimits: description: Possible values within fixed set type: object required: [ "categories" ] properties: categories: description: The list of allowed values. Not required if it can be inferred. type: array items: { } | |
MetricParameterValues: type: object additionalProperties: oneOf: - type: array items: oneOf: - type: number - type: string - type: number - type: string example: classifier\_threshold: [ 0.5, 0.3 ] | |
Rollup: description: What period/dataset to aggregate over. type: string enum: [ "MINUTE", "HOUR", "DAY", "MONTH", "YEAR", "BATCH", "REFERENCE" ] example: DAY | |
MetricGroupBy: description: Model attribute to group by. If provided, the results will be broken down by each value or bin in the attribute required: false type: array items: type: string example: - "Education" | |
GroupLegend: description: Specification of group for a metric result. type: object properties: name: type: string description: the name of the group, if group is categorical bin: type: object description: the bin start and end, if group is continuous properties: continuous\_start: type: number description: the start of the bin continuous\_end: type: number description: the end of the bin | |
MetricEvaluationRequest: description: The arguments to use when evaluating a metric type: object properties: rollup: $ref: '#/components/schemas/Rollup' group\_by: $ref: '#/components/schemas/MetricGroupBy' parameters: $ref: '#/components/schemas/MetricParameterValues' filters: type: array items: $ref: '#/components/schemas/QueryFilter' | |
MetricEvaluationResponse: description: The result of a metric evaluation type: object required: - name - results properties: name: type: string description: The name of the metric example: Accuracy Rate filters: description: The dataset filters used during metric evaluation type: array items: $ref: "#/components/schemas/QueryFilter" results: description: The results of metric evaluation type: array items: $ref: "#/components/schemas/MetricResult" | |
MetricResult: description: The result of a metric evaluation on a set of parameters, filters, and group type: object required: - name - values properties: name: type: string description: The function name or alias of the metric example: Accuracy Rate values: description: the value of the metric, aggregating by the rollup type: array items: type: object required: - rollup properties: rollup: type: string description: The time aggregation associated with this metric value example: "2022-08-03T00:00:00+00:00" additionalProperties: oneOf: - type: string - type: number format: float example: - rollup: "2022-08-03T00:00:00+00:00" accuracy\_rate: 0.82 - rollup: "2022-08-04T00:00:00+00:00" accuracy\_rate: 0.76 - rollup: "2022-08-05T00:00:00+00:00" accuracy\_rate: 0.80 parameters: type: object additionalProperties: oneOf: - type: number - type: string example: classifier\_threshold: 0.5 description: the parameters used when evaluating the metric group: description: the grouping applied type: object additionalProperties: $ref: "#/components/schemas/GroupLegend" example: { "Education": { "name": "HS" } } | |
ModelHealthResponse: required: - results properties: results: type: array items: $ref: '#/components/schemas/ModelHealthScore' ModelHealthScore: required: - model\_id - health\_score - timestamp properties: model\_id: type: string description: id of the model example: 8519dce3-d1fd-4791-9f17-c15f43e43dcf health\_score: type: number description: the health score of the model between 0-100 example: 78.9823 timestamp: type: string description: the time the health score was calculated in UTC example: 2021-05-21T00:00:00.000Z PaginatedAlertSummaryConfigurationsResponse: description: Paginated list of alert summary configurations properties: data: type: array items: $ref: '#/components/schemas/AlertSummaryConfiguration' page: $ref: '#/components/schemas/Page' page\_size: $ref: '#/components/schemas/PageSize' total\_pages: $ref: '#/components/schemas/TotalPages' total\_count: $ref: '#/components/schemas/TotalCount' AlertSummaryConfiguration: description: Specify the contents of an alert summary as well as when and where to send it required: - id - name - owner\_user\_id - frequency - send\_time\_of\_day - models - subscribers - enabled properties: id: type: string description: The unique UUID of this alert summary configuration example: "418c6939-8765-40fa-b04e-11ba57b7f21c" name: type: string description: The user defined name of this alert summary configuration. Must be unique within the org owner\_user\_id: type: string description: The unique id of the user that created this alert summary configuration frequency: type: string enum: - daily - weekly description: The cadence on which to send out the alert summary to subscribers send\_day\_of\_week: type: string enum: - Monday - Tuesday - Wednesday - Thursday - Friday - Saturday - Sunday description: The day of the week to send the alert summary to subscribers. Only required if frequency is Weekly. send\_time\_of\_day: type: string description: The time on a given day to send the alert summary to subscribers in the format "00:00". example: 09:00 models: description: The models that should be included in the alert summary type: array items: type: string description: UUID of the model to include subscribers: description: collection of notification configurations that define where to send this alert summary type: array items: $ref: '#/components/schemas/AlertSummaryNotificationConfiguration' enabled: type: boolean description: Whether or not this Alert Summary configuration is enabled. default: True NewAlertSummaryConfiguration: description: a new alert summary configuration to create required: - name - frequency - send\_time\_of\_day properties: name: type: string description: The user defined name of this alert summary configuration. Must be unique within the org frequency: type: string enum: - daily - weekly description: The cadence on which to send out the alert summary to subscribers send\_day\_of\_week: type: string enum: - Monday - Tuesday - Wednesday - Thursday - Friday - Saturday - Sunday description: The day of the week to send the alert summary to subscribers. Only required if frequency is Weekly. send\_time\_of\_day: type: string description: The time on a given day to send the alert summary to subscribers in the format "00:00". example: 09:00 models: description: The models that should be included in the alert summary type: array items: type: string description: UUID of the model to include subscribers: description: collection of notification configurations that define where to send this alert summary type: array items: $ref: '#/components/schemas/NewAlertSummaryNotificationConfiguration' AlertSummaryConfigurationUpdate: description: the updated AlertSummaryConfiguration object properties: name: type: string description: The user defined name of this alert summary configuration. Must be unique within the org frequency: type: string enum: - daily - weekly description: The cadence on which to send out the alert summary to subscribers send\_day\_of\_week: type: string enum: - Monday - Tuesday - Wednesday - Thursday - Friday - Saturday - Sunday description: The day of the week to send the alert summary to subscribers. Only required if frequency is Weekly. send\_time\_of\_day: type: string description: The time on a given day to send the alert summary to subscribers in the format "00:00". example: 09:00 models: description: The models that should be included in the alert summary type: array items: type: string description: UUID of the model to include enabled: type: boolean description: Whether or not this Alert Summary configuration is enabled. default: true PaginatedAlertSummaryNotificationConfigurationsResponse: description: Paginated list of alert summary configurations properties: data: type: array items: $ref: '#/components/schemas/AlertSummaryNotificationConfiguration' page: $ref: '#/components/schemas/Page' page\_size: $ref: '#/components/schemas/PageSize' total\_pages: $ref: '#/components/schemas/TotalPages' total\_count: $ref: '#/components/schemas/TotalCount' AlertSummaryNotificationConfiguration: description: Tells us where and how to deliver an alert summary required: - id - type - destination properties: id: type: string description: the unique UUID of this AlertSummaryNotificationConfiguration type: type: string enum: - email destination: type: string description: For a notification type of "email", this is the email address the alert summary will be delivered to user\_id: type: string description: UUID of the user this alert summary notification configuration is associated with, if any. This field is required for notifications of type "email". enabled: type: boolean description: Whether or not this Alert Summary Notification configuration is enabled. default: true AlertSummaryNotificationConfigurationUpdate: description: the updated AlertSummaryNotificationConfiguration object properties: enabled: type: boolean description: Whether or not this Alert Summary Notification configuration is enabled. NewAlertSummaryNotificationConfiguration: description: Tells us where and how to deliver an alert summary required: - type properties: type: type: string enum: - email destination: type: string description: For a notification type of "email", this will be auto-populated with the email address associated with the specified user\_id. If provided, it must match the email address associated with the specified user\_id. user\_id: type: string description: UUID of the user this alert summary notification configuration is associated with, if any. This field is required for notifications of type "email". PaginatedAlertSummaryReportsResponse: description: Paginated list of alert summary reports properties: data: type: array items: $ref: '#/components/schemas/AlertSummaryReport' page: $ref: '#/components/schemas/Page' page\_size: $ref: '#/components/schemas/PageSize' total\_pages: $ref: '#/components/schemas/TotalPages' total\_count: $ref: '#/components/schemas/TotalCount' AlertSummaryReport: description: Contents of an alert summary report to be sent required: - report\_id - configuration\_id - time\_frame - data properties: report\_id: type: string description: unique UUID of this alert summary report configuration\_id: type: string description: UUID of the alert summary report configuration associated with this report time\_frame: type: string description: the start to end time frame in UTC for this report data: description: alert summary data line items to include in the report type: array items: $ref: '#/components/schemas/AlertSummaryReportLineItem' AlertSummaryReportLineItem: description: data for a specific alert line item to be included in an alert summary report required: - model\_id - alert\_check\_name - alert\_check\_threshold - alert\_count properties: model\_id: type: string description: UUID of the model that this alert data belongs to alert\_check\_name: type: string description: the name of the alert rule to display in the report alert\_check\_threshold: type: string description: the threshold configured for the alert rule this alert data belongs to alert\_count: type: number description: the count of alerts that were triggered for the alert rule this alert data belongs to hyperlink: type: string description: a click-able url link that should be embedded into this line item for the alert summary report BulkAlertUpdateResponse: description: Information on the outcome of a bulk alert update properties: UpdatedAlerts: type: integer description: The number of alerts updates for the alert rule EmailNotificationBody: properties: model\_id: type: string format: uuid alert\_timestamp: type: string format: date-time alert\_description: type: string alert\_priority: type: string enum: - warning - critical required: - model\_id - alert\_timestamp - alert\_description - alert\_priority PaginatedInsights: description: Paginated list of insights. properties: data: type: array items: $ref: '#/components/schemas/Insight' page: $ref: '#/components/schemas/Page' page\_size: $ref: '#/components/schemas/PageSize' total\_pages: $ref: '#/components/schemas/TotalPages' total\_count: $ref: '#/components/schemas/TotalCount' Insight: properties: id: type: string description: UUID of the insight model\_id: type: string description: UUID of the model the insight is on batch\_id: type: string description: Id of the batch which the insights was generated for. Only valid for batch models. run\_id: type: string description: UUID of the corresponding workflow run in dataset-service that triggered the generation of this insight. metric\_type: type: string enum: - accuracyHotspot description: the metric this insight is calculate for. Only accuracy hotspots insights are supported for now. threshold\_value: type: number description: the threshold value the metric is checked against region: type: object description: bounds on model inputs associated with this insight metric\_value: type: number description: the value of this input region for the specified metric type timestamp: type: string format: date-time description: UTC timestamp in ISO8601 format when the insight was created window\_start: type: string format: date-time description: Only for streaming models. UTC timestamp in ISO8601, of the start time boundary of hotspot checking window\_end: type: string format: date-time description: Only for streaming models. UTC timestamp in ISO8601, of the end time boundary of hotspot checking status: type: string enum: - new - resolved description: Whether the alert has been resolved or not. example: id: be7f5901-c8db-4db9-a7a8-ec99eadf4e21 model\_id: 16c139ab-bb3e-4b0c-a645-887d2bd468fe batch\_id: "batch-122" run\_id: 55c86a4c-5d88-4ac0-8586-c9626f52741c metric\_type: "accuracyHotspot" threshold\_value: 0.4 region: { "AGE": { "lte": 23.5 }, "PAY\_AMT4": { "gt": 532.5 }, "PAY\_AMT5": { "lte": 6 } } metric\_value: 0.3 timestamp: "2021-07-12T01:08:05.842584Z" status: "new" InsightPatch: properties: status: type: string required: true description: Status to update alert with enum: - new - resolved - acknowledged InsightUpdateResponse: description: Information on the outcome of an insight(s) update properties: UpdatedCount: type: integer description: The number of insights updated PermissionRequest: properties: resource: type: string required: true description: The resource the request is trying to act upon action: type: string required: true description: The action the request is trying to take on the resource RoleDefinitionRequest: properties: role\_name: type: string required: true description: The name of the role you are creating permissions: description: A list of permissions to associate with the role. See Arthur Docs for available permissions type: array items: $ref: '#/components/schemas/PermissionRequest' inherited\_role\_names: description: A list of roles to inherit permissions from. These can be user defined roles or Arthur default roles. See Arthur docs for default roles type: array items: type: string CustomRBACRequest: properties: roles: description: A list of RoleDefinitionRequests type: array items: $ref: '#/components/schemas/RoleDefinitionRequest' RolesRequest: properties: roles: description: A list of roles type: array items: type: string organization\_id: description: The UUID of the organization type: string AuthenticationInfo: properties: organization\_ids: description: A list of organization IDs. type: array items: type: string issuer: description: The identifier of the IDP managing this user. type: string external\_user\_id: description: An identifier for an external-IdP token bearer. Populated if this user's token came from an IDP and the IDP configuration specified an oidc.CustomClaimNames that mapped UserID to a claim. type: string internal\_user\_id: description: An identifier for an Arthur-internal user. Populated for Arthur-authenticated users with user tokens. type: string service\_account\_id: description: An identifier for an Arthur service account. Populated for Arthur-authenticated service account tokens. type: string username: description: Either the Arthur username or the username specified by an external IDP. This will be set to arthur.ServiceAccountName for service account tokens. type: string first\_name: description: The first name of the Arthur authenticated user, or the first name claim if the external IDP is configured with one. type: string last\_name: description: The last name of the Arthur authenticated user, or the last name claim if the external IDP is configured with one. type: string email: description: The email of the Arthur authenticated user or the email of the external IDP user if the IDP is configured with that claim. For Arthur service accounts, this will be empty. type: string roles: description: The list of roles that this user has. For Arthur tokens, there will always be one role in this array; however, there can be more than one for external providers. type: array items: type: string SetCurrentOrganizationRequest: required: - organization\_id properties: organization\_id: type: string NewOrganizationRequest: required: - name properties: name: type: string roles: description: A list of RoleDefinitionRequest objects that define the custom RBAC for this organization type: array items: $ref: '#/components/schemas/RoleDefinitionRequest' UpdateOrganizationRequest: properties: name: type: string plan: type: string Organization: required: - id - name properties: id: type: string format: uuid description: Unique UUID for the organization example: '12345678-90ab-cdef-1234-567890abcdef' name: type: string bucket\_name: type: string bucket\_url: type: string plan: type: string description: The organization's license plan for platform usage example: enterprise created\_at: format: date-time description: The time in UTC that the org was created updated\_at: format: date-time description: The time in UTC that the org was last updated roles: description: A list of RoleDefinitionRequest objects that define the custom RBAC for this organization type: array items: $ref: '#/components/schemas/RoleDefinitionRequest' PaginatedOrganizations: required: - data - page - page\_size properties: data: type: array description: List of organizations. items: $ref: '#/components/schemas/Organization' page: $ref: '#/components/schemas/Page' page\_size: $ref: '#/components/schemas/PageSize' total\_pages: $ref: '#/components/schemas/TotalPages' total\_count: $ref: '#/components/schemas/TotalCount' OrganizationLimits: properties: organization\_id: type: string format: uuid description: Unique UUID for the organization example: '12345678-90ab-cdef-1234-567890abcdef' plan: type: string description: The organization's license plan for platform usage example: enterprise max\_users: type: integer format: int64 example: 10 description: maximum number of active users permitted in the organization max\_user\_invites: type: integer format: int64 example: 20 description: maximum number of user invitations permitted to be sent for the organization max\_service\_accounts: type: integer format: int64 example: 10 description: maximum number of service accounts permitted in the organization max\_shareable\_states: type: integer format: int64 example: 500 description: maximum number of shareable states that can be created in the organization max\_active\_models: type: integer format: int64 example: 3 description: maximum number of active models permitted in the organization max\_total\_models: type: integer format: int64 example: 10 description: maximum number of total models permitted in the organization (deleted models count toward this total) max\_model\_attributes: type: integer format: int64 example: 100 description: maximum number of attributes permitted on any given model in the organization max\_predicted\_model\_attributes: type: integer format: int64 example: 20 description: maximum number of predicted attributes permitted on any given model in the organization max\_categories\_per\_attribute: type: integer format: int64 example: 20 description: maximum number of categories any given model attribute can have in the organization max\_bias\_groups: type: integer format: int64 example: 100 description: maximum number of bias groups permitted on any given model in the organization max\_tags: type: integer format: int64 example: 10 description: maximum number of tags any given model can have in the organization max\_alert\_rules\_per\_model: type: integer format: int64 example: 500 description: maximum number of alert rules that can be set across all models in the organization max\_custom\_metrics: type: integer format: int64 example: 100 description: maximum number of custom metrics permitted on any given model in the organization inference\_count\_per\_request\_limit: type: integer format: int64 example: 100000 description: maximum number of inferences that can be sent in a single request in the organization inference\_count\_monthly\_model\_limit: type: integer format: int64 example: 500000 description: maximum number of inferences that can be sent to a single model over a rolling 30 day period in the organization inference\_count\_monthly\_total\_limit: type: integer format: int64 example: 500000 description: maximum number of inferences that can be sent across all models over a rolling 30 day period in the organization inference\_bytes\_per\_request\_limit: type: integer format: int64 example: 4294967296 description: maximum byte size of inferences that can be sent in a single request in the organization inference\_bytes\_monthly\_model\_limit: type: integer format: int64 example: 68719476736 description: maximum byte size of inferences that can be sent to a single model over a rolling 30 day period in the organization inference\_bytes\_monthly\_total\_limit: type: integer format: int64 example: 1099511627776 description: maximum byte size of inferences that can be sent across all models over a rolling 30 day period in the organization ground\_truth\_count\_per\_request\_limit: type: integer format: int64 example: 100000 description: maximum number of ground truth data points that can be sent in a single request in the organization ground\_truth\_count\_monthly\_model\_limit: type: integer format: int64 example: 500000 description: maximum number of ground truth data points that can be sent to a single model over a rolling 30 day period in the organization ground\_truth\_count\_monthly\_total\_limit: type: integer format: int64 example: 500000 description: maximum number of ground truth data points that can be sent across all models over a rolling 30 day period in the organization ground\_truth\_bytes\_per\_request\_limit: type: integer format: int64 example: 4294967296 description: maximum byte size of ground truth data that can be sent in a single request in the organization ground\_truth\_bytes\_monthly\_model\_limit: type: integer format: int64 example: 68719476736 description: maximum byte size of ground truth data that can be sent to a single model over a rolling 30 day period in the organization ground\_truth\_bytes\_monthly\_total\_limit: type: integer format: int64 example: 1099511627776 description: maximum byte size of ground truth data that can be sent across all models over a rolling 30 day period in the organization reference\_data\_count\_per\_request\_limit: type: integer format: int64 example: 100000 description: maximum number of reference data points that can be sent in a single request in the organization reference\_data\_count\_monthly\_model\_limit: type: integer format: int64 example: 500000 description: maximum number of reference data points that can be sent to a single model over a rolling 30 day period in the organization reference\_data\_count\_monthly\_total\_limit: type: integer format: int64 example: 500000 description: maximum number of reference data points that can be sent across all models over a rolling 30 day period in the organization reference\_data\_bytes\_per\_request\_limit: type: integer format: int64 example: 4294967296 description: maximum byte size of reference data that can be sent in a single request in the organization reference\_data\_bytes\_monthly\_model\_limit: type: integer format: int64 example: 68719476736 description: maximum byte size of reference data that can be sent to a single model over a rolling 30 day period in the organization reference\_data\_bytes\_monthly\_total\_limit: type: integer format: int64 example: 1099511627776 description: maximum byte size of reference data that can be sent across all models over a rolling 30 day period in the organization model\_versioning\_enabled: type: boolean example: false description: flag indicating whether model versioning is enabled in the organization enrichments\_enabled: type: boolean example: false description: flag indicating whether enrichments (explainability, hot-spots, etc.) are enabled in the organization tabular\_models\_only: type: boolean example: true description: flag indicating whether only tabular models are permitted in the organization ModelInsightCount: description: Insight counts by model properties: model\_id: type: string description: UUID of the model these insights belong to count: type: number description: number of insights that fit the request criteria InviteResponse: description: returned if and only if return\_direct\_links is set to true; returns a map of emails to invite links properties: user\_invite\_links: type: object description: a mapping where each email signup is a key and its corresponding signup invite link is the value | |