Automatic Pix events
Listen to Asaas events to keep your integration always up to date
Use Automatic Pix events to track changes in eligibility, authorizations and payment instructions.
To follow the sequences between these events and the payment events, see Automatic Pix Webhook flows.
Available events
Eligibility
| Event | When it occurs |
|---|---|
PIX_AUTOMATIC_RECURRING_ELIGIBILITY_UPDATED | The account's eligibility changes. Used in operations with subaccounts. |
Authorizations
| Event | When it occurs |
|---|---|
PIX_AUTOMATIC_RECURRING_AUTHORIZATION_CREATED | The authorization is created. |
PIX_AUTOMATIC_RECURRING_AUTHORIZATION_ACTIVATED | The authorization is activated after the first payment is completed and the authorization confirmation sent by the payer's institution is received. |
PIX_AUTOMATIC_RECURRING_AUTHORIZATION_CANCELLED | The authorization is cancelled. |
PIX_AUTOMATIC_RECURRING_AUTHORIZATION_EXPIRED | The authorization reaches the end of the validity period defined in finishDate. |
PIX_AUTOMATIC_RECURRING_AUTHORIZATION_REFUSED | The authorization is not completed. This happens when the QR Code expires without payment, when the payer does not complete the authorization process, or when the payer's institution does not send the authorization confirmation after the initial payment. |
Payment instructions
| Event | When it occurs |
|---|---|
PIX_AUTOMATIC_RECURRING_PAYMENT_INSTRUCTION_CREATED | The payment instruction is created. |
PIX_AUTOMATIC_RECURRING_PAYMENT_INSTRUCTION_SCHEDULED | The instruction is scheduled for processing at the payer's institution. |
PIX_AUTOMATIC_RECURRING_PAYMENT_INSTRUCTION_REFUSED | The instruction is refused during scheduling or processing. |
PIX_AUTOMATIC_RECURRING_PAYMENT_INSTRUCTION_CANCELLED | The instruction is cancelled. |
Account eligibility
The PIX_AUTOMATIC_RECURRING_ELIGIBILITY_UPDATED event reports changes in the account's eligibility.
eligibility.status can be:
| Status | Meaning |
|---|---|
ELIGIBLE | The account is eligible to use Automatic Pix. |
INELIGIBLE | The account is ineligible to use Automatic Pix. |
ImportantIf an account that was eligible (
ELIGIBLE) becomes ineligible (INELIGIBLE) and later becomesELIGIBLEagain, you do not need to reconfigure the Automatic Pix webhook events. The events will be sent normally again.
{
"id": "evt_ID",
"event": "PIX_AUTOMATIC_RECURRING_ELIGIBILITY_UPDATED",
"dateCreated": "2026-03-05 08:24:11",
"account": {
"id": "accountId",
"ownerId": null
},
"eligibility": {
"status": "INELIGIBLE",
"ineligibleReasons": []
}
}
ineligibleReasonsfieldThe
ineligibleReasonsarray contains the list of reasons why the account is ineligible.
Authorizations
In authorization events, the authorization object indicates the current state of the recurrence.
authorization.status can be:
| Status | Meaning |
|---|---|
CREATED | The authorization was created but is not active yet. |
ACTIVE | The authorization is active and can be used for recurring charges. |
CANCELLED | The authorization was cancelled. |
EXPIRED | The validity period defined in finishDate has ended. |
REFUSED | The initial authorization process was not completed. It may occur even after the initial payment is received, when the payer's institution does not send the authorization confirmation. |
The example below shows the main fields of the event. To see the complete authorization structure, go to Retrieve a single authorization.
{
"id": "evt_123456",
"event": "PIX_AUTOMATIC_RECURRING_AUTHORIZATION_ACTIVATED",
"dateCreated": "2026-07-10 14:32:18",
"account": {
"id": "accountId",
"ownerId": null
},
"authorization": {
"id": "d51008fa-e28e-4823-82b4-4b1fcf485229",
"status": "ACTIVE",
"customerId": "cus_000006869125",
"frequency": "MONTHLY",
"value": 2.00,
"startDate": "2025-08-01",
"finishDate": "2028-01-01",
"immediateQrCode": {
"conciliationIdentifier": "ASAAS000000000000000000000000550ASA",
"expirationDate": "2025-07-24 18:00:20"
}
}
}When the authorization is cancelled, the PIX_AUTOMATIC_RECURRING_AUTHORIZATION_CANCELLED event reports the cancellation date and reason in authorization.cancellationDate and authorization.cancellationReason.
Example:
{
"id": "evt_123456",
"event": "PIX_AUTOMATIC_RECURRING_AUTHORIZATION_CANCELLED",
"dateCreated": "2026-06-30 07:02:35",
"account": {
"id": "accountId",
"ownerId": null
},
"authorization": {
"id": "cda9f932-9e89-469c-a6a7-1f0110e4d580",
"value": null,
"status": "CANCELLED",
"payload": null,
"frequency": "MONTHLY",
"startDate": "31/12/2025",
"contractId": "contractId",
"customerId": "cus_000000000000",
"finishDate": null,
"originType": "IMMEDIATE_PAYMENT_AND_RECURRING_QR_CODE",
"description": null,
"retryPolicy": "NOT_ALLOWED",
"encodedImage": null,
"minLimitValue": null,
"subscriptionId": null,
"immediateQrCode": {
"expirationDate": "03/01/2026 18:45:38",
"conciliationIdentifier": "CONCILIATION_IDENTIFIER"
},
"cancellationDate": "30/06/2026",
"cancellationReason": "REQUESTED_BY_PAYER_USER",
"endToEndIdentifier": "END_TO_END_IDENTIFIER",
"paymentCreationMode": "MANUAL"
}
}See Automatic Pix authorization cancellation reasons to learn the possible values of authorization.cancellationReason.
To understand the sequence between creation, activation, refusal, cancellation and expiration, see Automatic Pix Webhook flows.
Payment instructions
Instructions represent the processing of a recurring charge at the payer's institution.
In the events on this page, paymentInstruction.status can be:
| Status | Meaning |
|---|---|
AWAITING_REQUEST | The instruction is awaiting submission for processing. |
SCHEDULED | The instruction was scheduled. |
REFUSED | The instruction was refused. |
CANCELLED | The instruction was cancelled. |
{
"event": "PIX_AUTOMATIC_RECURRING_PAYMENT_INSTRUCTION_SCHEDULED",
"paymentInstruction": {
"id": "f6559451-cb41-4ec6-8487-2cda59a5f184",
"status": "SCHEDULED",
"dueDate": "2024-10-04",
"paymentId": "pay_080225913252",
"authorization": {
"id": "c6b180f0-2196-454c-ac7e-72d662286bd1"
}
}
}Use paymentInstruction.paymentId to relate the instruction to the charge and paymentInstruction.authorization.id to identify the originating authorization.
The instruction resource may also show DONE as its current state in the API. The financial completion of the charge must be tracked through the payment events defined in the Automatic Pix flow.
See the reference for a payment instruction.
Important fields
Event
| Field | Description |
|---|---|
authorization.id | Authorization identifier. |
authorization.status | Current state of the authorization. |
authorization.customerId | Associated customer. |
authorization.frequency | Recurrence periodicity. |
authorization.value | Recurrence amount, when defined. |
authorization.cancellationReason | Reason for the authorization cancellation, when applicable. |
authorization.cancellationDate | Date on which the authorization was cancelled, when applicable. |
authorization.originType | Origin used to create the authorization. |
authorization.paymentCreationMode | How the charges linked to the authorization are created. |
authorization.contractId | Identifier of the contract associated with the authorization, when there is one. |
To interpret authorization.cancellationReason, see Automatic Pix authorization cancellation reasons.
Eligibility
| Field | Description |
|---|---|
eligibility.status | Current eligibility status. |
eligibility.ineligibleReasons | Reasons for ineligibility. |
Authorization
| Field | Description |
|---|---|
authorization.id | Authorization identifier. |
authorization.status | Current state of the authorization. |
authorization.customerId | Associated customer. |
authorization.frequency | Recurrence periodicity. |
authorization.value | Recurrence amount, when defined. |
Payment instruction
| Field | Description |
|---|---|
paymentInstruction.id | Instruction identifier. |
paymentInstruction.status | Current state of the instruction. |
paymentInstruction.paymentId | Identifier of the related charge. |
paymentInstruction.authorization.id | Identifier of the associated authorization. |
How to handle the events
When receiving an event:
- use
eventto identify the resource and the change that occurred; - persist the
idbefore processing to avoid duplicates; - relate the eligibility, authorization or instruction to your application's records;
- update the internal state according to the payload received;
- respond
HTTP 200after persisting the event; - process additional rules asynchronously.
Webhooks follow the at least once model, so the same event may be resent. Use the id to implement idempotence.
When using authToken, validate the asaas-access-token header received in the Webhook.
See how to implement idempotence in Webhooks.
Attention
- As new products and features are added to Asaas, new attributes may be included in the Webhook. It is very important that your code is prepared not to throw exceptions if Asaas returns new attributes that your application does not handle, as this may interrupt the sync queue.
- We will send an email and announce on our Discord when new fields are added to the Webhook. The email will be sent to the notification email address defined in the webhook settings.
Next steps
Updated 14 days ago
