CreateEvaluator
Creates a custom evaluator for agent quality assessment. Custom evaluators use LLM-as-a-Judge configurations with user-defined prompts, rating scales, and model settings to evaluate agent performance at tool call, trace, or session levels.
Request Syntax
POST /evaluators/create HTTP/1.1
Content-type: application/json
{
"clientToken": "string",
"description": "string",
"evaluatorConfig": { ... },
"evaluatorName": "string",
"level": "string"
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- clientToken
-
A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If you don't specify this field, a value is randomly generated for you. If this token matches a previous request, the service ignores the request, but doesn't return an error. For more information, see Ensuring idempotency.
Type: String
Length Constraints: Minimum length of 33. Maximum length of 256.
Pattern:
[a-zA-Z0-9](-*[a-zA-Z0-9]){0,256}Required: No
- description
-
The description of the evaluator that explains its purpose and evaluation criteria.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 200.
Required: No
- evaluatorConfig
-
The configuration for the evaluator, including LLM-as-a-Judge settings with instructions, rating scale, and model configuration.
Type: EvaluatorConfig object
Note: This object is a Union. Only one member of this object can be specified or returned.
Required: Yes
- evaluatorName
-
The name of the evaluator. Must be unique within your account.
Type: String
Pattern:
[a-zA-Z][a-zA-Z0-9_]{0,47}Required: Yes
- level
-
The evaluation level that determines the scope of evaluation. Valid values are
TOOL_CALLfor individual tool invocations,TRACEfor single request-response interactions, orSESSIONfor entire conversation sessions.Type: String
Valid Values:
TOOL_CALL | TRACE | SESSIONRequired: Yes
Response Syntax
HTTP/1.1 202
Content-type: application/json
{
"createdAt": number,
"evaluatorArn": "string",
"evaluatorId": "string",
"status": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 202 response.
The following data is returned in JSON format by the service.
- createdAt
-
The timestamp when the evaluator was created.
Type: Timestamp
- evaluatorArn
-
The Amazon Resource Name (ARN) of the created evaluator.
Type: String
Pattern:
arn:aws:bedrock-agentcore:[a-z0-9-]+:[0-9]{12}:evaluator\/[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10} - evaluatorId
-
The unique identifier of the created evaluator.
Type: String
Pattern:
(Builtin.[a-zA-Z0-9_-]+|[a-zA-Z][a-zA-Z0-9-_]{0,99}-[a-zA-Z0-9]{10}) - status
-
The status of the evaluator creation operation.
Type: String
Valid Values:
ACTIVE | CREATING | CREATE_FAILED | UPDATING | UPDATE_FAILED | DELETING
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
This exception is thrown when a request is denied per access permissions
HTTP Status Code: 403
- ConflictException
-
This exception is thrown when there is a conflict performing an operation
HTTP Status Code: 409
- InternalServerException
-
This exception is thrown if there was an unexpected error during processing of request
HTTP Status Code: 500
- ServiceQuotaExceededException
-
This exception is thrown when a request is made beyond the service quota
HTTP Status Code: 402
- ThrottlingException
-
This exception is thrown when the number of requests exceeds the limit
HTTP Status Code: 429
- ValidationException
-
The input fails to satisfy the constraints specified by the service.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: