Platform authorization created [beta]

This event occurs when a platform authorization is created.

Type: object
Additional properties: false
Domain: platform-authorization
Event: platform-authorization
Version: 1

|
authorization_id required

Title: Authorization ID
Description: Pismo authorization ID.
Type: integer
Example:
1164217752
2114217752
2964217752

category required

Title: Authorization category
Description: Authorization category.
Type: string
Must be one of the following:
AUTHORIZATION
CANCELLATION
PARTIAL_CANCELLATION
DENIED
DENIED_CANCELLATION
CONFIRMATION

clearing_type required

Title: Clearing type
Description: Type of clearing used for this authorization. Online for authorizations that create instant transactions, offline for authorizations that create transactions from confirmation.
Type: string
Must be one of the following:
ONLINE
OFFLINE

code required

Title: New authorization code
Description: Alphanumeric 6-digit ID for the new authorization.
Type: string
Example:
143ABC
11D5A6
EW15D3

contract_amount required

Title: Contract amount
Description: Calculated authorization amount with taxes or fees in the account's currency.
Type: number
Example:
125.0

event_datetime required

Title: Event datetime
Description: Event timestamp in the UTC format (RFC 3339).
Type: string
Format: date-time
Example:
2023-01-01T00:00:00.000Z

installment_amount required

Title: Installment amount
Description: Installment amount of the authorization. If the authorization does not have more than one installment, the value of this field is the same as principal_amount.
Type: number
Example:
50.0

operation required

Description: Operation type of the authorization.
Type: string
Must be one of the following:
CASH_IN
CASH_OUT

original_authorization_id required

Title: Original authorization ID
Description: Pismo ID that represents the original authorization. For events with the AUTHORIZATION category, this field will always have the same value as authorization_id.
Type: integer or null
Example:
164217752
2214314710
2521269102

original_authorization_datetime required

Title: Original authorization datetime
Description: Date and time of the original authorization in UTC-0 (RFC3339) format, which includes milliseconds (yyyy-MM-ddThh:mm:ss.SSSZ). For events with the AUTHORIZATION category, this field will always have the same value as event_datetime.
Type: string
Format: date-time
Example:
2023-01-01T00:00:00.000Z

processing_code required

Title: Processing code
Description: Processing code provided for the authorization.
Type: string
Example:
007700
009900
007200

principal_amount required

Title: Principal amount
Description: Calculated amount of the authorization without taxes or fees in the account's currency.
Type: number
Example:
100.0

response_code required

Title: Response code
Description: Response code assigned to the new authorization. Indicates successful authorization or reasons for authorization denial.
Type: string
Example:
00
55
99

tracking_id required

Title: Tracking ID
Description: Tracking ID provided by the client for the new authorization.
Type: string
Min length: 1
Max length: 75
Example:
9cd6485a-5680-4df0-a1f1-507e21d3428c

validation_results required

Title: Validation results
Description: All executed validations with details for each result.
Type: array
Additional properties: false

name required

Description: Validation name.
Type: string
Example:
PROCESSING_CODE
FLEX_CONTROLS
ANTI_FRAUD
AUTHORIZATION

status required

Description: Validation status.
Type: string
Must be one of the following:
APPROVED
REJECTED
SKIPPED

reason required

Description: Validation reason.
Type: string
Example:
PROCESSING_CODE_NOT_FOUND
FLEX_CONTROLS_APPROVED
ANTI_FRAUD_APPROVED
AUTHORIZATION_ERROR

description required

Description: Validation description.
Type: string
Example:
The processing code was not found.
The authorization passed flex control evaluation.
The authorization passed anti-fraud evaluation.
There was an internal error creating the authorization.

additional_data

Title: Additional data
Description: Contains additional information that is relevant to identify how the validation was performed. Every type of validation has its own additional data.
Type: object or null

account_currency

Title: Account currency
Description: ISO-4217 alphabetic code of the account's currency of the authorization.
Type: string
Example:
USD
BRL
GBP

account_id

Title: Account ID
Description: Pismo ID for the account associated with the authorization.
Type: integer
Example:
123
456
789

beneficiary_id

Title: Beneficiary ID
Description: ID for the beneficiary related to the account.
Type: string
Example:
18bfa09c-2216-43f7-97c9-075051c38683
3903367a-23d4-47aa-9d56-3cf9e9890b6c

caller

Title: Caller
Description: Identification of the caller from which the request was originated.
Type: string
Example:
ON-US
OFF-US
INSTANT-PAY

cancellation_reason

Title: Cancellation reason
Description: Reason for the cancellation. Currently, the only supported value is AUTHORIZATION CONFIRMATION TIMEOUT.
Type: string
Must be one of the following:
AUTHORIZATION CONFIRMATION TIMEOUT

card_id

Title: Card ID
Description: Pismo ID for the card associated with the authorization.
Type: integer
Example:
10222
8899

customer_id

Title: Customer ID
Description: Pismo ID of the customer associated with the account.
Type: integer
Example:
82123
98991

denial_code

Title: Denial code
Description: Code generated for denied authorizations, which indicates the reason the request was denied.
Type: string
Example:
AU001
AU002
PA001
PA002
IAD
ECE

description

Title: Authorization description
Description: Description provided for the authorization.
Type: string
Example:
Cash-in
Cash-out

entry_mode

Title: Entry mode
Description: Entry mode of the authorization.
Type: string
Example:
01
05
10

installments_details

Title: Installments details
Description: Detailed information for all the installments of the authorization.
Type: array
Additional properties: false

number required

Title: Sequential number of installment
Description: Sequential number of the current installment.
Type: integer
Example:
1
2

installment_amount required

Title: Installment amount
Description: Amount of the current installment.
Type: number
Example:
100.5
25.99

principal_amount required

Title: Principal amount
Description: Principal amount of the current installment.
Type: number
Example:
100.0
25.0

postings required

Title: Postings
Description: Authorization taxes and fees.
Type: ['object', 'null']
Additional properties: true
Example:

{
    "fee_amount": 1.0,
    "interest_amount": 5.5
}
ledger_id

Title: Ledger ID
Description: Pismo ID of the ledger indicating the account limit impact. This field may be empty since some authorizations don't have any financial impact. You can see the same information in the ledger_updates array. In the future, this field will be discontinued.
Type: string
Example:
1585f434-de83-43fc-9840-ad2a61ae13e2

ledger_impact

Type: array
Min length: 1
Max length: 255

ledger_update_datetime

Title: Ledger update datetime
Description: Date and time of the exact moment of impact on ledger in UTC-0 (RFC3339) format, which includes milliseconds (yyyy-MM-ddThh:mm:ss.SSSZ). This field may be empty since some authorizations don't have any financial impact. You can see the same information in the ledger_updates array. In the future, this field will be discontinued.
Type: string
Format: date-time
Example:
2023-01-01T00:00:00.000Z

ledger_updates

Title: Ledger updates
Description: Detailed information for all ledger updates, which indicate impact of this authorization on account limits.
Type: array or null
Additional properties: false

id

Title: Ledger ID
Description: Pismo ID of the ledger indicating the account limit impact. This field may be empty since some authorizations don't have any financial impact.
Type: string
Example:
1585f434-de83-43fc-9840-ad2a61ae13e2

impact

Type: array
Min length: 1
Max length: 255

update_datetime

Title: Ledger update datetime
Description: Date and time of the exact moment of impact on ledger in UTC-0 (RFC3339) format, which includes milliseconds (yyyy-MM-ddThh:mm:ss.SSSZ). This field may be empty since some authorizations don't have any financial impact.
Type: string
Format: date-time
Example:
2023-01-01T00:00:00.000Z

local_amount

Title: Local amount
Description: Local amount of the authorization.
Type: number
Example:
50.0

local_currency

Title: Local currency
Description: ISO-4217 alphabetic code of the local currency of the authorization.
Type: string
Example:
USD
BRL
GBP

marketplace_id

Title: Marketplace ID
Description: ID of the marketplace associated with the merchant.
Type: integer
Example:
7819
9123
10231

merchant_id

Title: Merchant ID
Description: ID of the merchant associated with the authorization.
Type: integer
Example:
4023
6242
8231

metadata

Title: Metadata
Description: Any additional information relevant to the caller.

If you make a single-leg earmark payment (debit) or transfer from an earmark balance, corporate_metadata that includes authorization_type is generated. authorization_type identifies the payment type as either corporate-earmark-payment or corporate-earmark-transfer.

If you make a forced transfer by providing debit and credit details, while force_post is set to true, corporate_metadata or the details field in the Transaction created event is generated, these fields include the following subfields:

  • authorization_type: Identifies the payment type as corporate-force-transfer in the debit authorization event.
  • credit_tracking_id: Represents the credit operation tracking ID.
  • debit_tracking_id: Indicates the debit operation tracking ID.

    If you make an earmark payment transfer (debit or credit), additional fields are generated inside corporate_metadata:
  • earmark_id: Specifies the payment type as corporate-earmark-transfer in the consumer authorization event.
  • credit_tracking_id: Identifies the credit operation tracking ID.
  • debit_tracking_id: Indicates the debit operation tracking ID.

    When creating, updating, or canceling an earmark, corporate_metadata is generated in the metadata field. corporate_metadata includes the following subfields:
  • debit_external_account_id: Identifies the debited account in the creation operation.
  • earmark_id: Indicates the ID of the created earmark.
    Type: object
    Additional properties: true
    Example:
{
    "customer-data": {
        "any": "fields"
    }
}
number_of_installments

Title: Number of installments
Description: Number of installments in the authorization.
Type: integer
Example:
1
6
12

nsu

Title: NSU
Description: Message initiator ID that uniquely identifies an authorization.
Type: string
Example:
123456
999000

original_authorization_confirmed

Title: Original authorization confirmed flag
Description: Defines whether the original authorization has been confirmed already.
Type: boolean
Example:
true
false

org_operation_id

Title: Org operation ID
Description: For Pismo internal processing only.
Type: integer
Example:
756
913

payment_datetime

Title: Payment datetime
Description: Date and time of the authorized payment in UTC-0 (RFC3339) format, which includes milliseconds (yyyy-MM-ddThh:mm:ss.SSSZ).
Type: string
Format: date-time
Example:
2023-01-01T00:00:00.000Z

postings

Title: Postings
Description: Authorization taxes and fees.
Type: ['object', 'null']
Additional properties: true
Example:

{
    "fee_amount": 1.0,
    "interest_amount": 5.5
}
posting_date

Title: Posting date
Description: Date of the statement when the authorization will be posted. The format is yyyy-mm-dd (RFC 3339).
Type: string
Format: date
Example:
2023-01-01

pre_authorization

Title: Pre-authorization flag
Description: Defines whether this authorization request is a pre-authorization or not.
Type: boolean
Example:
true
false

program_id

Title: Program ID
Description: Pismo ID for the program associated with the account.
Type: integer
Example:
8899
10222

rates

Title: Rates
Description: Authorization rates used to calculate taxes and fees present on postings object.
Type: ['object', 'null']
Additional properties: true
Example:

{
    "conversion_rate": 5.4598,
    "interest_rate": 10.0
}
raw_message

Title: Raw message
Description: Metadata provided by applications that integrate with the platform authorization. This field is different from the 'metadata' field, which contains custom information provided by the customer.
Type: object
Example:

{
    "application-data": {
        "any": "fields"
    }
}
statement_id

Title: Statement ID
Description: Pismo ID for the statement when the authorization will be posted.
Type: integer
Example:
514312
10111

tid

Title: Transaction ID
Description: External transaction ID received with the authorization message.
Type: string
Example:
ABC10119031908214800000

type

Title: Authorization type
Description: Type of the authorization. Indicates if this is a normal authorization, a pre-authorization, a cancellation, or a confirmation.
Type: string
Must be one of the following:
NORMAL
PRE_AUTHORIZATION
CANCELLATION
CONFIRMATION

{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "object",
    "title": "Platform authorization created [beta]",
    "description": "This event occurs when a platform authorization is created.",
    "additionalProperties": false,
    "required": [
        "authorization_id",
        "category",
        "clearing_type",
        "code",
        "contract_amount",
        "event_datetime",
        "installment_amount",
        "operation",
        "original_authorization_id",
        "original_authorization_datetime",
        "processing_code",
        "principal_amount",
        "response_code",
        "tracking_id",
        "validation_results"
    ],
    "properties": {
        "authorization_id": {
            "type": "integer",
            "title": "Authorization ID",
            "description": "Pismo authorization ID.",
            "examples": [
                1164217752,
                2114217752,
                2964217752
            ]
        },
        "category": {
            "type": "string",
            "title": "Authorization category",
            "description": "Authorization category.",
            "enum": [
                "AUTHORIZATION",
                "CANCELLATION",
                "PARTIAL_CANCELLATION",
                "DENIED",
                "DENIED_CANCELLATION",
                "CONFIRMATION"
            ]
        },
        "clearing_type": {
            "type": "string",
            "title": "Clearing type",
            "description": "Type of clearing used for this authorization. Online for authorizations that create instant transactions, offline for authorizations that create transactions from confirmation.",
            "enum": [
                "ONLINE",
                "OFFLINE"
            ]
        },
        "code": {
            "type": "string",
            "title": "New authorization code",
            "description": "Alphanumeric 6-digit ID for the new authorization.",
            "examples": [
                "143ABC",
                "11D5A6",
                "EW15D3"
            ]
        },
        "contract_amount": {
            "type": "number",
            "title": "Contract amount",
            "description": "Calculated authorization amount with taxes or fees in the account's currency.",
            "examples": [
                125.0
            ]
        },
        "event_datetime": {
            "type": "string",
            "title": "Event datetime",
            "description": "Event timestamp in the UTC format (RFC 3339).",
            "format": "date-time",
            "examples": [
                "2023-01-01T00:00:00.000Z"
            ]
        },
        "installment_amount": {
            "type": "number",
            "title": "Installment amount",
            "description": "Installment amount of the authorization. If the authorization does not have more than one installment, the value of this field is the same as `principal_amount`.",
            "examples": [
                50.0
            ]
        },
        "operation": {
            "type": "string",
            "description": "Operation type of the authorization.",
            "enum": [
                "CASH_IN",
                "CASH_OUT"
            ]
        },
        "original_authorization_id": {
            "type": [
                "integer",
                "null"
            ],
            "title": "Original authorization ID",
            "description": "Pismo ID that represents the original authorization. For events with the AUTHORIZATION category, this field will always have the same value as `authorization_id`.",
            "examples": [
                164217752,
                2214314710,
                2521269102
            ]
        },
        "original_authorization_datetime": {
            "type": "string",
            "format": "date-time",
            "title": "Original authorization datetime",
            "description": "Date and time of the original authorization in UTC-0 (RFC3339) format, which includes milliseconds (yyyy-MM-ddThh:mm:ss.SSSZ). For events with the AUTHORIZATION category, this field will always have the same value as `event_datetime`.",
            "examples": [
                "2023-01-01T00:00:00.000Z"
            ]
        },
        "processing_code": {
            "type": "string",
            "title": "Processing code",
            "description": "Processing code provided for the authorization.",
            "examples": [
                "007700",
                "009900",
                "007200"
            ]
        },
        "principal_amount": {
            "type": "number",
            "title": "Principal amount",
            "description": "Calculated amount of the authorization without taxes or fees in the account's currency.",
            "examples": [
                100.0
            ]
        },
        "response_code": {
            "type": "string",
            "title": "Response code",
            "description": "Response code assigned to the new authorization. Indicates successful authorization or reasons for authorization denial.",
            "examples": [
                "00",
                "55",
                "99"
            ]
        },
        "tracking_id": {
            "type": "string",
            "title": "Tracking ID",
            "description": "Tracking ID provided by the client for the new authorization.",
            "minLength": 1,
            "maxLength": 75,
            "examples": [
                "9cd6485a-5680-4df0-a1f1-507e21d3428c"
            ]
        },
        "validation_results": {
            "type": "array",
            "title": "Validation results",
            "description": "All executed validations with details for each result.",
            "items": {
                "$ref": "#/definitions/validation_result"
            }
        },
        "account_currency": {
            "type": "string",
            "title": "Account currency",
            "description": "ISO-4217 alphabetic code of the account's currency of the authorization.",
            "examples": [
                "USD",
                "BRL",
                "GBP"
            ]
        },
        "account_id": {
            "type": "integer",
            "title": "Account ID",
            "description": "Pismo ID for the account associated with the authorization.",
            "examples": [
                123,
                456,
                789
            ]
        },
        "beneficiary_id": {
            "type": "string",
            "title": "Beneficiary ID",
            "description": "ID for the beneficiary related to the account.",
            "examples": [
                "18bfa09c-2216-43f7-97c9-075051c38683",
                "3903367a-23d4-47aa-9d56-3cf9e9890b6c"
            ]
        },
        "caller": {
            "type": "string",
            "title": "Caller",
            "description": "Identification of the caller from which the request was originated.",
            "examples": [
                "ON-US",
                "OFF-US",
                "INSTANT-PAY"
            ]
        },
        "cancellation_reason": {
            "type": "string",
            "title": "Cancellation reason",
            "description": "Reason for the cancellation. Currently, the only supported value is AUTHORIZATION CONFIRMATION TIMEOUT.",
            "enum": [
                "AUTHORIZATION CONFIRMATION TIMEOUT"
            ]
        },
        "card_id": {
            "type": "integer",
            "title": "Card ID",
            "description": "Pismo ID for the card associated with the authorization.",
            "examples": [
                10222,
                8899
            ]
        },
        "customer_id": {
            "type": "integer",
            "title": "Customer ID",
            "description": "Pismo ID of the customer associated with the account.",
            "examples": [
                82123,
                98991
            ]
        },
        "denial_code": {
            "type": "string",
            "title": "Denial code",
            "description": "Code generated for denied authorizations, which indicates the reason the request was denied.",
            "examples": [
                "AU001",
                "AU002",
                "PA001",
                "PA002",
                "IAD",
                "ECE"
            ]
        },
        "description": {
            "type": "string",
            "title": "Authorization description",
            "description": "Description provided for the authorization.",
            "examples": [
                "Cash-in",
                "Cash-out"
            ]
        },
        "entry_mode": {
            "type": "string",
            "title": "Entry mode",
            "description": "Entry mode of the authorization.",
            "examples": [
                "01",
                "05",
                "10"
            ]
        },
        "installments_details": {
            "type": "array",
            "title": "Installments details",
            "description": "Detailed information for all the installments of the authorization.",
            "items": {
                "$ref": "#/definitions/installment_detail"
            }
        },
        "ledger_id": {
            "type": "string",
            "title": "Ledger ID",
            "description": "Pismo ID of the ledger indicating the account limit impact. This field may be empty since some authorizations don't have any financial impact. You can see the same information in the `ledger_updates` array. In the future, this field will be discontinued.",
            "examples": [
                "1585f434-de83-43fc-9840-ad2a61ae13e2"
            ]
        },
        "ledger_impact": {
            "type": "array",
            "title": "Ledger impact",
            "description": "Limits that were impacted by the ledger during the authorization. You can see the same information in the `ledger_updates` array. In the future, this field will be discontinued.",
            "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
            },
            "examples": [
                "[AvailableCreditLimit]",
                "[AvailableCreditLimit,AvailableSavingsAccountLimit]",
                "[OverdraftLimit]"
            ]
        },
        "ledger_update_datetime": {
            "type": "string",
            "format": "date-time",
            "title": "Ledger update datetime",
            "description": "Date and time of the exact moment of impact on ledger in UTC-0 (RFC3339) format, which includes milliseconds (yyyy-MM-ddThh:mm:ss.SSSZ). This field may be empty since some authorizations don't have any financial impact. You can see the same information in the `ledger_updates` array. In the future, this field will be discontinued.",
            "examples": [
                "2023-01-01T00:00:00.000Z"
            ]
        },
        "ledger_updates": {
            "type": [
                "array",
                "null"
            ],
            "title": "Ledger updates",
            "description": "Detailed information for all ledger updates, which indicate impact of this authorization on account limits.",
            "items": {
                "$ref": "#/definitions/ledger_update"
            }
        },
        "local_amount": {
            "type": "number",
            "title": "Local amount",
            "description": "Local amount of the authorization.",
            "examples": [
                50.0
            ]
        },
        "local_currency": {
            "type": "string",
            "title": "Local currency",
            "description": "ISO-4217 alphabetic code of the local currency of the authorization.",
            "examples": [
                "USD",
                "BRL",
                "GBP"
            ]
        },
        "marketplace_id": {
            "type": "integer",
            "title": "Marketplace ID",
            "description": "ID of the marketplace associated with the merchant.",
            "examples": [
                7819,
                9123,
                10231
            ]
        },
        "merchant_id": {
            "type": "integer",
            "title": "Merchant ID",
            "description": "ID of the merchant associated with the authorization.",
            "examples": [
                4023,
                6242,
                8231
            ]
        },
        "metadata": {
            "type": "object",
            "title": "Metadata",
            "description": "Any additional information relevant to the caller.\n<br> If you make a single-leg earmark payment (`debit`) or transfer from an earmark balance, `corporate_metadata` that includes `authorization_type` is generated. `authorization_type` identifies the payment type as either `corporate-earmark-payment` or `corporate-earmark-transfer`.\n<br> If you make a forced transfer by providing debit and credit details, while `force_post` is set to `true`, `corporate_metadata` or the `details` field in the [Transaction created](https://developers.pismo.io/events/docs/transaction-creation-1) event is generated, these fields include the following subfields:\n * `authorization_type`: Identifies the payment type as `corporate-force-transfer` in the debit authorization event.\n * `credit_tracking_id`: Represents the credit operation tracking ID.\n * `debit_tracking_id`: Indicates the debit operation tracking ID.\n<br> If you make an earmark payment transfer (`debit` or `credit`), additional fields are generated inside `corporate_metadata`:\n * `earmark_id`: Specifies the payment type as `corporate-earmark-transfer` in the consumer authorization event.\n * `credit_tracking_id`: Identifies the credit operation tracking ID.\n * `debit_tracking_id`: Indicates the debit operation tracking ID.\n<br> When creating, updating, or canceling an earmark, `corporate_metadata` is generated in the `metadata` field. `corporate_metadata` includes the following subfields:\n * `debit_external_account_id`: Identifies the debited account in the creation operation.\n * `earmark_id`: Indicates the ID of the created earmark.",
            "examples": [
                {
                    "customer-data": {
                        "any": "fields"
                    }
                }
            ],
            "additionalProperties": true
        },
        "number_of_installments": {
            "type": "integer",
            "title": "Number of installments",
            "description": "Number of installments in the authorization.",
            "examples": [
                1,
                6,
                12
            ]
        },
        "nsu": {
            "type": "string",
            "title": "NSU",
            "description": "Message initiator ID that uniquely identifies an authorization.",
            "examples": [
                "123456",
                "999000"
            ]
        },
        "original_authorization_confirmed": {
            "type": "boolean",
            "title": "Original authorization confirmed flag",
            "description": "Defines whether the original authorization has been confirmed already.",
            "examples": [
                true,
                false
            ]
        },
        "org_operation_id": {
            "type": "integer",
            "title": "Org operation ID",
            "description": "For Pismo internal processing only.",
            "examples": [
                756,
                913
            ]
        },
        "payment_datetime": {
            "type": "string",
            "format": "date-time",
            "title": "Payment datetime",
            "description": "Date and time of the authorized payment in UTC-0 (RFC3339) format, which includes milliseconds (yyyy-MM-ddThh:mm:ss.SSSZ).",
            "examples": [
                "2023-01-01T00:00:00.000Z"
            ]
        },
        "postings": {
            "$ref": "#/definitions/postings"
        },
        "posting_date": {
            "type": "string",
            "title": "Posting date",
            "description": "Date of the statement when the authorization will be posted. The format is yyyy-mm-dd (RFC 3339).",
            "format": "date",
            "examples": [
                "2023-01-01"
            ]
        },
        "pre_authorization": {
            "type": "boolean",
            "title": "Pre-authorization flag",
            "description": "Defines whether this authorization request is a pre-authorization or not.",
            "examples": [
                true,
                false
            ]
        },
        "program_id": {
            "type": "integer",
            "title": "Program ID",
            "description": "Pismo ID for the program associated with the account.",
            "examples": [
                8899,
                10222
            ]
        },
        "rates": {
            "$ref": "#/definitions/rates"
        },
        "raw_message": {
            "type": "object",
            "title": "Raw message",
            "description": "Metadata provided by applications that integrate with the platform authorization. This field is different from the 'metadata' field, which contains custom information provided by the customer.",
            "examples": [
                {
                    "application-data": {
                        "any": "fields"
                    }
                }
            ]
        },
        "statement_id": {
            "type": "integer",
            "title": "Statement ID",
            "description": "Pismo ID for the statement when the authorization will be posted.",
            "examples": [
                514312,
                10111
            ]
        },
        "tid": {
            "type": "string",
            "title": "Transaction ID",
            "description": "External transaction ID received with the authorization message.",
            "examples": [
                "ABC10119031908214800000"
            ]
        },
        "type": {
            "type": "string",
            "title": "Authorization type",
            "description": "Type of the authorization. Indicates if this is a normal authorization, a pre-authorization, a cancellation, or a confirmation.",
            "enum": [
                "NORMAL",
                "PRE_AUTHORIZATION",
                "CANCELLATION",
                "CONFIRMATION"
            ]
        }
    },
    "definitions": {
        "validation_result": {
            "type": [
                "object",
                "null"
            ],
            "title": "Validation result",
            "description": "Executed validation with details for its result.",
            "additionalProperties": false,
            "required": [
                "name",
                "status",
                "reason",
                "description"
            ],
            "properties": {
                "name": {
                    "description": "Validation name.",
                    "type": "string",
                    "examples": [
                        "PROCESSING_CODE",
                        "FLEX_CONTROLS",
                        "ANTI_FRAUD",
                        "AUTHORIZATION"
                    ]
                },
                "status": {
                    "description": "Validation status.",
                    "type": "string",
                    "enum": [
                        "APPROVED",
                        "REJECTED",
                        "SKIPPED"
                    ]
                },
                "reason": {
                    "description": "Validation reason.",
                    "type": "string",
                    "examples": [
                        "PROCESSING_CODE_NOT_FOUND",
                        "FLEX_CONTROLS_APPROVED",
                        "ANTI_FRAUD_APPROVED",
                        "AUTHORIZATION_ERROR"
                    ]
                },
                "description": {
                    "description": "Validation description.",
                    "type": "string",
                    "examples": [
                        "The processing code was not found.",
                        "The authorization passed flex control evaluation.",
                        "The authorization passed anti-fraud evaluation.",
                        "There was an internal error creating the authorization."
                    ]
                },
                "additional_data": {
                    "title": "Additional data",
                    "description": "Contains additional information that is relevant to identify how the validation was performed. Every type of validation has its own additional data.",
                    "type": [
                        "object",
                        "null"
                    ]
                }
            }
        },
        "postings": {
            "type": [
                "object",
                "null"
            ],
            "title": "Postings",
            "description": "Authorization taxes and fees.",
            "additionalProperties": true,
            "examples": [
                {
                    "fee_amount": 1.0,
                    "interest_amount": 5.5
                }
            ]
        },
        "rates": {
            "type": [
                "object",
                "null"
            ],
            "title": "Rates",
            "description": "Authorization rates used to calculate taxes and fees present on postings object.",
            "additionalProperties": true,
            "examples": [
                {
                    "conversion_rate": 5.4598,
                    "interest_rate": 10.0
                }
            ]
        },
        "installment_detail": {
            "type": [
                "object",
                "null"
            ],
            "title": "Installment detail",
            "description": "Detailed information for a given installment.",
            "required": [
                "number",
                "installment_amount",
                "principal_amount",
                "postings"
            ],
            "additionalProperties": false,
            "properties": {
                "number": {
                    "type": "integer",
                    "title": "Sequential number of installment",
                    "description": "Sequential number of the current installment.",
                    "examples": [
                        1,
                        2
                    ]
                },
                "installment_amount": {
                    "type": "number",
                    "title": "Installment amount",
                    "description": "Amount of the current installment.",
                    "examples": [
                        100.5,
                        25.99
                    ]
                },
                "principal_amount": {
                    "type": "number",
                    "title": "Principal amount",
                    "description": "Principal amount of the current installment.",
                    "examples": [
                        100.0,
                        25.0
                    ]
                },
                "postings": {
                    "$ref": "#/definitions/postings"
                }
            }
        },
        "ledger_update": {
            "type": "object",
            "title": "Ledger update",
            "description": "Detailed information for a ledger impact.",
            "additionalProperties": false,
            "properties": {
                "id": {
                    "type": "string",
                    "title": "Ledger ID",
                    "description": "Pismo ID of the ledger indicating the account limit impact. This field may be empty since some authorizations don't have any financial impact.",
                    "examples": [
                        "1585f434-de83-43fc-9840-ad2a61ae13e2"
                    ]
                },
                "impact": {
                    "type": "array",
                    "title": "Ledger impact",
                    "description": "Limits that were impacted by the ledger during the authorization.",
                    "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                    },
                    "examples": [
                        "[AvailableCreditLimit]",
                        "[AvailableCreditLimit,AvailableSavingsAccountLimit]",
                        "[OverdraftLimit]"
                    ]
                },
                "update_datetime": {
                    "type": "string",
                    "format": "date-time",
                    "title": "Ledger update datetime",
                    "description": "Date and time of the exact moment of impact on ledger in UTC-0 (RFC3339) format, which includes milliseconds (yyyy-MM-ddThh:mm:ss.SSSZ). This field may be empty since some authorizations don't have any financial impact.",
                    "examples": [
                        "2023-01-01T00:00:00.000Z"
                    ]
                }
            }
        }
    }
}