SQS event notifications are available subject to prior agreement and may involve an additional fee.
When to use SQS (vs polling)
Use SQS if you:- Want to reduce polling traffic and latency-to-action
- Already operate AWS workloads and queues
- Process high volumes and prefer async consumption
- Want the simplest integration (no AWS infrastructure)
- Only have low/medium throughput
How it works (high level)
- Events are delivered to your SQS queue in the target region.
- Resistant AI assumes a role in your AWS account using AWS STS; the
tenant ID is used as ExternalId. - Your consumer receives an event and then fetches the full result from the Documents API using
result_url.

Supported events
Event notifications are available for the following analysis outputs:documents.analysis.fraud.finisheddocuments.analysis.quality.finisheddocuments.analysis.classification.finished
Integration steps
1) Resistant AI provides configuration details
Resistant AI provides:- example templates for setup
- the AWS Account ID used by Resistant AI
- your tenant ID (used as
ExternalId)
2) You configure AWS infrastructure
You deploy:- an SQS queue (and optionally DLQ)
- an IAM role that Resistant AI can assume
- Role ARN
- Queue ARN
3) Integration testing
You and Resistant AI validate:- the role can be assumed successfully
- messages can be published to your queue
Security and architecture notes
SQS delivery uses AWS STS AssumeRole with temporary credentials, reducing credential lifetime and avoiding static key sharing. AssumeRole model- Resistant AI assumes your role
ExternalId= your tenant ID
Limitations and important considerations
- Single destination: each tenant can have only one event destination.
- KMS note: a KMS key is not specified in the API call used to publish messages; your queue resource policy must support your encryption setup.