> ## Documentation Index
> Fetch the complete documentation index at: https://docs.operata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Estimate Contact Lens integration charges

> AWS cost components for the Contact Lens CloudFormation stacks, with worked examples at 1 million contacts per month.

The Contact Lens integration adds usage across four AWS services — all charges land on your AWS bill, not Operata's. Use the worked examples below to forecast your monthly cost before you deploy.

## What you pay for

| Service              | Cost driver                                     | Notes                                                                                                      |
| -------------------- | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| EventBridge Pipes    | Per request and per API destination invocation. | The dominant cost factor at scale. See [EventBridge pricing](https://aws.amazon.com/eventbridge/pricing/). |
| Lambda               | Invocation count and execution duration.        | The S3-to-Kinesis processor Lambda. Memory at 128 MB, average duration around 2 ms.                        |
| Kinesis Data Streams | Shard hours and PUT payload units.              | One stream, sized for your contact volume.                                                                 |
| Secrets Manager      | One secret per stack.                           | The Operata API key. The cost is included in the API destination charge — see below.                       |

You also pay [AWS data-transfer charges](https://aws.amazon.com/ec2/pricing/on-demand/#Data_Transfer)
for data leaving AWS to the Operata API. Event payloads are typically
under 10 KB.

## EventBridge example

For 1 million contacts per month in `ap-southeast-2` (prices vary by region), with the
EventBridge Pipe reading from a Kinesis source and forwarding to the
Operata API destination:

* Requests = 1,000,000.
* EventBridge requests cost = 1M × $0.40 per million = **$0.40\*\*.
* API destination cost = 1M × $0.24 per million = **$0.24\*\*.

**Total monthly EventBridge cost: USD \$0.64.**

## Lambda example

For the same 1 million contacts per month, with the S3-to-Kinesis
processor Lambda transforming each event:

* Invocations = 1,000,000.
* Memory = 128 MB.
* Average duration = 2 ms.

**Total monthly Lambda cost: USD \$0.20.**

## Secrets Manager

CloudFormation creates one secret per stack to hold the Operata API
key, prefixed with `events`. AWS bundles the storage cost of secrets
created for EventBridge API destinations into the API destination
invocation charge, so no separate Secrets Manager line item appears.

See [API destinations](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-destinations.html)
for the pricing detail.

<Warning>
  Data-transfer-out costs are separate. At 1 million contacts per
  month and event payloads under 10 KB, expect under \$1 per month in
  data-transfer charges. Validate against your own egress rates.
</Warning>

## Verify the cost in AWS

Once the stack runs in production for a full billing cycle, confirm
the actual cost in **AWS Cost Explorer**:

1. Filter by the tags applied during deploy (see [AWS tagging](/docs/aws-tagging)).
2. Group by service to see the EventBridge, Lambda, and Kinesis
   line items separately.
3. Compare against the worked examples above. Wide deltas usually
   indicate a misconfigured logging level on the Lambda or a
   higher-than-expected contact volume.

## Related

* [Install Contact Lens collection](/docs/contact-lens-installation) — the deployment runbook.
* [Tag your AWS resources](/docs/aws-tagging) — apply tags so Cost Explorer can break the bill out.
* [Troubleshoot the AWS integration](/docs/aws-troubleshooting) — debug runaway Lambda invocations or stalled Pipes.
