View a markdown version of this page

CreateMetric - Amazon Connect Customer

CreateMetric

Creates a new metric definition for the specified Connect Customer instance. You can create custom metrics that use formulas referencing existing AWS-managed metrics, optionally with filters applied.

Request Syntax

PUT /metrics/definitions/InstanceId HTTP/1.1 Content-type: application/json { "ClientToken": "string", "Description": "string", "MetricCalculation": { "Calculation": "string", "CalculationComponents": [ { "Alias": "string", "MetricFilters": [ { "BooleanCondition": { "Comparison": "string" }, "MetricFilterKey": "string", "Negate": boolean, "NumberCondition": { "Comparison": "string", "Values": [ number ] }, "StringCondition": { "Comparison": "string", "Values": [ "string" ] } } ], "MetricId": "string", "MetricName": "string" } ] }, "Name": "string", "PositiveTrendIndicator": "string", "Status": "string", "Tags": { "string" : "string" }, "Unit": "string" }

URI Request Parameters

The request uses the following URI parameters.

InstanceId

The identifier of the Connect Customer instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

Length Constraints: Minimum length of 1. Maximum length of 100.

Required: Yes

Request Body

The request accepts the following data in JSON format.

ClientToken

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the AWS SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

Type: String

Length Constraints: Maximum length of 500.

Required: No

Description

The description of the metric.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 500.

Required: No

MetricCalculation

The calculation definition for the metric, including the formula expression and the component metrics it references.

Type: MetricCalculation object

Required: Yes

Name

The name of the metric.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Required: Yes

PositiveTrendIndicator

How an increase in the metric value should be interpreted. Valid values: POSITIVE, NEUTRAL, NEGATIVE.

Type: String

Valid Values: POSITIVE | NEGATIVE | NEUTRAL

Required: No

Status

The publish status of the metric. Set to PUBLISHED to make the metric available for use in dashboards and reports, or SAVED to keep it in draft state.

Type: String

Valid Values: PUBLISHED | SAVED

Required: No

Tags

The tags used to organize, track, or control access for this resource. For example, { "Tags": {"key1":"value1", "key2":"value2"} }.

Type: String to string map

Map Entries: Maximum number of 50 items.

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Key Pattern: ^(?!aws:)[\p{L}\p{Z}\p{N}_.:/=+\-@]*$

Value Length Constraints: Maximum length of 256.

Required: No

Unit

The display unit for the metric's data.

Type: String

Valid Values: INTEGER | DOUBLE | PERCENT | SECONDS

Required: Yes

Response Syntax

HTTP/1.1 200 Content-type: application/json { "MetricArn": "string", "MetricId": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

MetricArn

The Amazon Resource Name (ARN) of the metric.

Type: String

MetricId

The identifier of the metric.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 150.

Errors

For information about the errors that are common to all actions, see Common Error Types.

AccessDeniedException

You do not have sufficient permissions to perform this action.

HTTP Status Code: 403

DuplicateResourceException

A resource with the specified name already exists.

HTTP Status Code: 409

InternalServiceException

Request processing failed because of an error or failure with the service.

Message

The message.

HTTP Status Code: 500

InvalidParameterException

One or more of the specified parameters are not valid.

Message

The message about the parameters.

HTTP Status Code: 400

InvalidRequestException

The request is not valid.

Message

The message about the request.

Reason

Reason why the request was invalid.

HTTP Status Code: 400

LimitExceededException

The allowed limit for the resource has been exceeded.

Message

The message about the limit.

HTTP Status Code: 429

ResourceNotFoundException

The specified resource was not found.

Message

The message about the resource.

HTTP Status Code: 404

ThrottlingException

The throttling limit has been exceeded.

HTTP Status Code: 429

Examples

Example

The following example creates a custom metric that calculates the percentage of contacts handled within 60 seconds of being queued.

Sample Request

{ "Name": "example-metric", "MetricCalculation": { "CalculationComponents": [ { "Alias": "M1", "MetricName": "CONTACTS_HANDLED", "MetricFilters": [ { "MetricFilterKey": "QUEUE_TIME_MS", "NumberCondition": {"Comparison": "LESSER_OR_EQUAL", "Values": [60.0]} } ] }, { "Alias": "M2", "MetricName": "CONTACTS_QUEUED" } ], "Calculation": "100 * SUM(M1) / SUM(M2)" }, "Unit": "PERCENT", "Status": "PUBLISHED", "Description": "Percentage of contacts handled within 60 seconds.", "PositiveTrendIndicator": "POSITIVE" }

Sample Response

{ "MetricArn": "arn:aws:connect:us-west-2:123456789012:instance/12345678-1234-1234-1234-123456789012/metric/87654321-4321-4321-4321-210987654321", "MetricId": "87654321-4321-4321-4321-210987654321" }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: