Lithic Auth Rules API

The Auth Rules API from Lithic — 10 operation(s) for auth rules.

OpenAPI Specification

lithic-auth-rules-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    email: support@lithic.com
  description: 'The Lithic Developer API is designed to provide a predictable programmatic interface for accessing your Lithic account through an API and transaction webhooks.

    Note that your API key is a secret and should be treated as such. Don''t share it with anyone, including us. We will never ask you for it.

    '
  termsOfService: https://lithic.com/legal/terms
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.txt
  title: Lithic Developer 3DS Auth Rules API
  version: 1.0.0
servers:
- description: Sandbox environment that provides key functionality mirroring production
  url: https://sandbox.lithic.com
security:
- ApiKeyAuth: []
tags:
- name: Auth Rules
paths:
  /v2/auth_rules:
    post:
      summary: Create a new rule
      description: Creates a new V2 Auth rule in draft mode
      tags:
      - Auth Rules
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-auth-rule-request'
      responses:
        '201':
          description: Auth Rule Created
          $ref: '#/components/responses/AuthRule'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '404':
          $ref: '#/components/responses/responses-NotFound'
    get:
      summary: List rules
      description: Lists V2 Auth rules
      tags:
      - Auth Rules
      parameters:
      - $ref: '#/components/parameters/EndingBefore'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/StartingAfter'
      - name: card_token
        in: query
        description: Only return Auth Rules that are bound to the provided card token.
        schema:
          type: string
          format: uuid
        required: false
      - name: account_token
        in: query
        description: Only return Auth Rules that are bound to the provided account token.
        schema:
          type: string
          format: uuid
        required: false
      - name: business_account_token
        in: query
        description: Only return Auth Rules that are bound to the provided business account token.
        schema:
          type: string
          format: uuid
        required: false
      - name: scope
        in: query
        description: Only return Auth Rules that are bound to the provided scope.
        schema:
          enum:
          - PROGRAM
          - ACCOUNT
          - BUSINESS_ACCOUNT
          - CARD
          - ANY
          type: string
      - name: event_stream
        in: query
        description: 'Deprecated: Use event_streams instead. Only return Auth rules that are executed during the provided event stream.'
        deprecated: true
        schema:
          $ref: '#/components/schemas/event-stream'
        required: false
      - name: event_streams
        in: query
        explode: false
        description: Only return Auth rules that are executed during any of the provided event streams. If event_streams and event_stream are specified, the values will be combined.
        style: form
        schema:
          type: array
          items:
            $ref: '#/components/schemas/event-stream'
        required: false
      responses:
        '200':
          description: Auth Rules
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/auth-rule'
                    type: array
                  has_more:
                    description: Indicates whether there are more Auth Rules to be retrieved by paging through the results.
                    type: boolean
                required:
                - data
                - has_more
                type: object
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '404':
          $ref: '#/components/responses/responses-NotFound'
  /v2/auth_rules/{auth_rule_token}:
    get:
      summary: Fetch a rule
      description: Fetches a V2 Auth rule by its token
      tags:
      - Auth Rules
      parameters:
      - $ref: '#/components/parameters/AuthRuleToken'
      responses:
        '200':
          $ref: '#/components/responses/AuthRule'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '404':
          $ref: '#/components/responses/responses-NotFound'
    patch:
      summary: Update a rule
      description: 'Updates a V2 Auth rule''s properties


        If `account_tokens`, `card_tokens`, `program_level`, `excluded_card_tokens`, `excluded_account_tokens`, or `excluded_business_account_tokens` is provided, this will replace existing associations with the provided list of entities.

        '
      tags:
      - Auth Rules
      parameters:
      - $ref: '#/components/parameters/AuthRuleToken'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/patch-auth-rule-request'
      responses:
        '200':
          description: Updated Auth Rule
          $ref: '#/components/responses/AuthRule'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '404':
          $ref: '#/components/responses/responses-NotFound'
    delete:
      summary: Delete a rule
      description: Deletes a V2 Auth rule
      tags:
      - Auth Rules
      parameters:
      - $ref: '#/components/parameters/AuthRuleToken'
      responses:
        '204':
          description: Auth Rule Deleted
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '404':
          $ref: '#/components/responses/responses-NotFound'
  /v2/auth_rules/{auth_rule_token}/draft:
    post:
      summary: Draft a new rule version
      description: 'Creates a new draft version of a rule that will be ran in shadow mode.


        This can also be utilized to reset the draft parameters, causing a draft version to no longer be ran in shadow mode.

        '
      tags:
      - Auth Rules
      parameters:
      - $ref: '#/components/parameters/AuthRuleToken'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                parameters:
                  anyOf:
                  - title: Null (delete draft)
                    type: 'null'
                    description: Resets the drafts parameters, causing a draft version to no longer be ran in shadow mode.
                  - $ref: '#/components/schemas/auth-rule-parameters'
      responses:
        '200':
          $ref: '#/components/responses/AuthRule'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '404':
          $ref: '#/components/responses/responses-NotFound'
  /v2/auth_rules/{auth_rule_token}/features:
    get:
      summary: Calculated Feature values
      description: 'Fetches the current calculated Feature values for the given Auth Rule


        This only calculates the features for the active version.

        - VelocityLimit Rules calculates the current Velocity Feature data. This requires a `card_token` or `account_token` matching what the rule is Scoped to.

        - ConditionalBlock Rules calculates the CARD_TRANSACTION_COUNT_* attributes on the rule. This requires a `card_token`

        '
      tags:
      - Auth Rules
      parameters:
      - $ref: '#/components/parameters/AuthRuleToken'
      - in: query
        name: account_token
        schema:
          type: string
          format: uuid
      - in: query
        name: card_token
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Calculated Feature values for the given Auth Rule
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/auth-rule-feature-state'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '404':
          $ref: '#/components/responses/responses-NotFound'
  /v2/auth_rules/{auth_rule_token}/promote:
    post:
      summary: Promote a rule version
      description: Promotes the draft version of an Auth rule to the currently active version such that it is enforced in the respective stream.
      tags:
      - Auth Rules
      parameters:
      - $ref: '#/components/parameters/AuthRuleToken'
      responses:
        '200':
          $ref: '#/components/responses/AuthRule'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '404':
          $ref: '#/components/responses/responses-NotFound'
  /v2/auth_rules/{auth_rule_token}/versions:
    get:
      summary: List rule versions
      description: Returns all versions of an auth rule, sorted by version number descending (newest first).
      tags:
      - Auth Rules
      parameters:
      - $ref: '#/components/parameters/AuthRuleToken'
      responses:
        '200':
          description: Auth Rule Versions
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/auth-rule-version'
                required:
                - data
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '404':
          $ref: '#/components/responses/responses-NotFound'
  /v2/auth_rules/{auth_rule_token}/report:
    get:
      summary: Retrieve a performance report
      description: 'Retrieves a performance report for an Auth rule containing daily statistics and evaluation outcomes.


        **Time Range Limitations:**

        - Reports are supported for the past 3 months only

        - Maximum interval length is 1 month

        - Report data is available only through the previous day in UTC (current day data is not available)


        The report provides daily statistics for both current and draft versions of the Auth rule, including approval, decline, and challenge counts along with sample events.

        '
      tags:
      - Auth Rules
      parameters:
      - $ref: '#/components/parameters/AuthRuleToken'
      - name: begin
        in: query
        required: true
        description: Start date for the report
        schema:
          type: string
          format: date
      - name: end
        in: query
        required: true
        description: End date for the report
        schema:
          type: string
          format: date
      responses:
        '200':
          description: Auth Rule Performance Report
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/performance-report-v2'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '404':
          $ref: '#/components/responses/responses-NotFound'
  /v2/auth_rules/{auth_rule_token}/backtests:
    get:
      summary: List backtests
      description: Lists backtests for an Auth Rule
      tags:
      - Auth Rules
      parameters:
      - $ref: '#/components/parameters/AuthRuleToken'
      - $ref: '#/components/parameters/EndingBefore'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/StartingAfter'
      responses:
        '200':
          description: Backtests
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/backtest-list-item'
                    type: array
                  has_more:
                    description: Indicates whether there are more backtests to be retrieved by paging through the results.
                    type: boolean
                required:
                - data
                - has_more
                type: object
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '404':
          $ref: '#/components/responses/responses-NotFound'
    post:
      summary: Request a backtest
      description: 'Initiates a request to asynchronously generate a backtest for an Auth rule. During backtesting, both the active version (if one exists) and the draft version of the Auth Rule are evaluated by replaying historical transaction data against the rule''s conditions. This process allows customers to simulate and understand the effects of proposed rule changes before deployment.

        The generated backtest report provides detailed results showing whether the draft version of the Auth Rule would have approved or declined historical transactions which were processed during the backtest period. These reports help evaluate how changes to rule configurations might affect overall transaction approval rates.


        The generated backtest report will be delivered asynchronously through a webhook with `event_type` = `auth_rules.backtest_report.created`. See the docs on setting up [webhook subscriptions](https://docs.lithic.com/docs/events-api).

        It is also possible to request backtest reports on-demand through the `/v2/auth_rules/{auth_rule_token}/backtests/{auth_rule_backtest_token}` endpoint.


        Lithic currently supports backtesting for `CONDITIONAL_BLOCK` / `CONDITIONAL_ACTION` rules. Backtesting for `VELOCITY_LIMIT` rules is generally not supported. In specific cases (i.e. where Lithic has pre-calculated the requested velocity metrics for historical transactions), a backtest may be feasible. However, such cases are uncommon and customers should not anticipate support for velocity backtests under most configurations.

        If a historical transaction does not feature the required inputs to evaluate the rule, then it will not be included in the final backtest report.

        '
      tags:
      - Auth Rules
      parameters:
      - $ref: '#/components/parameters/AuthRuleToken'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/backtest-request'
      responses:
        '200':
          description: Backtest request received
          content:
            application/json:
              schema:
                type: object
                properties:
                  backtest_token:
                    $ref: '#/components/schemas/backtest-token'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '404':
          $ref: '#/components/responses/responses-NotFound'
  /v2/auth_rules/{auth_rule_token}/backtests/{auth_rule_backtest_token}:
    get:
      summary: Retrieve backtest results
      description: 'Returns the backtest results of an Auth rule (if available).


        Backtesting is an asynchronous process that requires time to complete. If a customer retrieves the backtest results using this endpoint before the report is fully generated, the response will return null for `results.current_version` and `results.draft_version`. Customers are advised to wait for the backtest creation process to complete (as indicated by the webhook event auth_rules.backtest_report.created) before retrieving results from this endpoint.


        Backtesting is an asynchronous process, while the backtest is being processed, results will not be available which will cause `results.current_version` and `results.draft_version` objects to contain `null`.

        The entries in `results` will also always represent the configuration of the rule at the time requests are made to this endpoint. For example, the results for `current_version` in the served backtest report will be consistent with which version of the rule is currently activated in the respective event stream, regardless of which version of the rule was active in the event stream at the time a backtest is requested.

        '
      tags:
      - Auth Rules
      parameters:
      - $ref: '#/components/parameters/AuthRuleToken'
      - $ref: '#/components/parameters/AuthRuleBacktestToken'
      responses:
        '200':
          description: Backtest results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/backtest-results'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '404':
          $ref: '#/components/responses/responses-NotFound'
  /v2/auth_rules/results:
    get:
      summary: List rule evaluation results
      description: 'Lists Auth Rule evaluation results.


        **Limitations:**

        - Results are available for the past 3 months only

        - At least one filter (`event_token` or `auth_rule_token`) must be provided

        - When filtering by `event_token`, pagination is not supported

        '
      tags:
      - Auth Rules
      parameters:
      - $ref: '#/components/parameters/EndingBefore'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/StartingAfter'
      - name: event_token
        in: query
        description: Filter by event token
        schema:
          type: string
          format: uuid
        required: false
      - name: auth_rule_token
        in: query
        description: Filter by Auth Rule token
        schema:
          type: string
          format: uuid
        required: false
      - name: begin
        in: query
        description: Date string in RFC 3339 format. Only events evaluated after the specified time will be included. UTC time zone.
        schema:
          type: string
          format: date-time
        required: false
      - name: end
        in: query
        description: Date string in RFC 3339 format. Only events evaluated before the specified time will be included. UTC time zone.
        schema:
          type: string
          format: date-time
        required: false
      - name: has_actions
        in: query
        description: Filter by whether the rule evaluation produced any actions. When not provided, all results are returned.
        schema:
          type: boolean
        required: false
      responses:
        '200':
          description: Auth Rule Results
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/auth-rule-result'
                    type: array
                  has_more:
                    description: Indicates whether there are more results to be retrieved by paging through the results.
                    type: boolean
                required:
                - data
                - has_more
                type: object
              example:
                data:
                - token: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                  auth_rule_token: b2c3d4e5-f6a7-8901-bcde-f12345678901
                  event_token: c3d4e5f6-a7b8-9012-cdef-123456789012
                  transaction_token: d4e5f6a7-b8c9-0123-defa-234567890123
                  evaluation_time: '2026-01-15T09:30:00Z'
                  rule_version: 1
                  mode: ACTIVE
                  event_stream: AUTHORIZATION
                  actions:
                  - type: DECLINE
                    code: CARD_SPEND_LIMIT_EXCEEDED
                    explanation: Transaction declined due to velocity limit
                has_more: false
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '404':
          $ref: '#/components/responses/responses-NotFound'
components:
  schemas:
    auth-rule-name:
      title: Auth Rule Name
      description: Auth Rule Name
      anyOf:
      - type: 'null'
      - type: string
        maxLength: 1024
    conditional-3ds-action-parameters:
      title: Conditional Action (3DS) Parameters
      type: object
      properties:
        action:
          description: The action to take if the conditions are met.
          $ref: '#/components/schemas/authentication-3ds-action'
        conditions:
          type: array
          items:
            type: object
            properties:
              attribute:
                type: string
                description: 'The attribute to target.


                  The following attributes may be targeted:

                  * `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify a business by the types of goods or services it provides.

                  * `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for Netherlands Antilles.

                  * `CURRENCY`: 3-character alphabetic ISO 4217 code for the merchant currency of the transaction.

                  * `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor (merchant).

                  * `DESCRIPTOR`: Short description of card acceptor.

                  * `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer fee field in the settlement/cardholder billing currency. This is the amount the issuer should authorize against unless the issuer is paying the acquirer fee on behalf of the cardholder.

                  * `RISK_SCORE`: Mastercard only: Assessment by the network of the authentication risk level, with a higher value indicating a higher amount of risk.

                  * `MESSAGE_CATEGORY`: The category of the authentication being processed.

                  * `ADDRESS_MATCH`: Lithic''s evaluation result comparing transaction''s address data with the cardholder KYC data if it exists. Valid values are `MATCH`, `MATCH_ADDRESS_ONLY`, `MATCH_ZIP_ONLY`,`MISMATCH`,`NOT_PRESENT`.'
                enum:
                - MCC
                - COUNTRY
                - CURRENCY
                - MERCHANT_ID
                - DESCRIPTOR
                - TRANSACTION_AMOUNT
                - RISK_SCORE
                - MESSAGE_CATEGORY
                - ADDRESS_MATCH
              operation:
                $ref: '#/components/schemas/conditional-operation'
              value:
                $ref: '#/components/schemas/conditional-value'
            required:
            - attribute
            - operation
            - value
      required:
      - action
      - conditions
    card-transaction-update-action:
      title: Card Transaction Update Action
      oneOf:
      - title: Tag Action
        type: object
        properties:
          type:
            type: string
            enum:
            - TAG
            description: Tag the transaction with key-value metadata
          key:
            type: string
            description: The key of the tag to apply to the transaction
          value:
            type: string
            description: The value of the tag to apply to the transaction
        required:
        - type
        - key
        - value
      - title: Create Case Action
        type: object
        properties:
          type:
            type: string
            enum:
            - CREATE_CASE
            description: Create a case for the transaction
          scope:
            type: string
            enum:
            - CARD
            - ACCOUNT
            description: The scope of the case to create
          queue_token:
            type: string
            format: uuid
            description: The token of the queue to create the case in
        required:
        - type
        - scope
        - queue_token
    conditional-ach-action-parameters:
      title: Conditional Action (ACH) Parameters
      type: object
      properties:
        action:
          description: The action to take if the conditions are met.
          $ref: '#/components/schemas/ach-action'
        conditions:
          type: array
          items:
            type: object
            properties:
              attribute:
                type: string
                description: 'The attribute to target.


                  The following attributes may be targeted:

                  * `COMPANY_NAME`: The name of the company initiating the ACH transaction.

                  * `COMPANY_ID`: The company ID (also known as Standard Entry Class (SEC) Company ID) of the entity initiating the ACH transaction.

                  * `TIMESTAMP`: The timestamp of the ACH transaction in ISO 8601 format.

                  * `TRANSACTION_AMOUNT`: The amount of the ACH transaction in minor units (cents).

                  * `SEC_CODE`: Standard Entry Class code indicating the type of ACH transaction. Valid values include PPD (Prearranged Payment and Deposit Entry), CCD (Corporate Credit or Debit Entry), WEB (Internet-Initiated/Mobile Entry), TEL (Telephone-Initiated Entry), and others.

                  * `MEMO`: Optional memo or description field included with the ACH transaction.'
                enum:
                - COMPANY_NAME
                - COMPANY_ID
                - TIMESTAMP
                - TRANSACTION_AMOUNT
                - SEC_CODE
                - MEMO
              operation:
                $ref: '#/components/schemas/conditional-operation'
              value:
                $ref: '#/components/schemas/conditional-value'
            required:
            - attribute
            - operation
            - value
      required:
      - action
      - conditions
    current-version:
      title: Auth Rule Current Version
      anyOf:
      - type: 'null'
        description: No current version.
      - type: object
        properties:
          parameters:
            $ref: '#/components/schemas/auth-rule-parameters'
          version:
            $ref: '#/components/schemas/auth-rule-version-id'
        required:
        - parameters
        - version
    auth-rule-version:
      title: Auth Rule Version
      type: object
      properties:
        version:
          $ref: '#/components/schemas/auth-rule-version-id'
        state:
          $ref: '#/components/schemas/auth-rule-version-state'
        parameters:
          $ref: '#/components/schemas/auth-rule-parameters'
        created:
          description: Timestamp of when this version was created.
          type: string
          format: date-time
      required:
      - version
      - state
      - parameters
      - created
    excluded-account-tokens:
      title: Auth Rule Excluded Account Tokens
      description: Account tokens to which the Auth Rule does not apply.
      type: array
      items:
        type: string
        format: uuid
    auth-rule-state:
      title: Auth Rule State
      type: string
      description: The state of the Auth Rule
      enum:
      - ACTIVE
      - INACTIVE
    auth-rule-version-state:
      title: Auth Rule Version State
      description: The current state of this version.
      type: string
      enum:
      - ACTIVE
      - SHADOW
      - INACTIVE
    auth-rule-type:
      title: Auth Rule Types
      type: string
      enum:
      - CONDITIONAL_BLOCK
      - VELOCITY_LIMIT
      - MERCHANT_LOCK
      - CONDITIONAL_ACTION
      - TYPESCRIPT_CODE
      description: 'The type of Auth Rule. For certain rule types, this determines the event stream during which it will be evaluated. For rules that can be applied to one of several event streams, the effective one is defined by the separate `event_stream` field.


        - `CONDITIONAL_BLOCK`: Deprecated. Use `CONDITIONAL_ACTION` instead. AUTHORIZATION event stream.

        - `VELOCITY_LIMIT`: AUTHORIZATION event stream.

        - `MERCHANT_LOCK`: AUTHORIZATION event stream.

        - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event stream.

        - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.'
    backtest-simulation-parameters:
      title: Backtest Simulation Parameters
      type: object
      properties:
        start:
          type: string
          format: date-time
          description: The start time of the simulation
        end:
          type: string
          format: date-time
          description: The end time of the simulation
      required:
      - start
      - end
    authorization-action:
      title: Authorization Action
      type: string
      enum:
      - DECLINE
      - CHALLENGE
    report-stats-v2:
      title: Auth Rule Version Report Statistics
      type: object
      properties:
        version:
          description: The rule version number.
          type: integer
        state:
          description: The evaluation mode of this version during the reported period.
          $ref: '#/components/schemas/auth-rule-version-state'
        action_counts:
          type: object
          description: A mapping of action types to the number of times that action was returned by this version during the relevant period. Actions are the possible outcomes of a rule evaluation, such as DECLINE, CHALLENGE, REQUIRE_TFA, etc. In case rule didn't trigger any action, it's counted under NO_ACTION key.
          additionalProperties:
            type: integer
        examples:
          type: array
          description: Example events and their outcomes for this version.
          items:
            type: object
            properties:
              event_token:
                type: string
                format: uuid
                description: The event token.
              transaction_token:
                type:
                - string
                - 'null'
                format: uuid
                description: The token of the transaction associated with the event
              timestamp:
                type: string
                format: date-time
                description: The timestamp of the event.
              actions:
                type: array
                description: The actions taken by this version for this event.
                items:
                  oneOf:
                  - $ref: '#/components/schemas/result-authorization-action'
                  - $ref: '#/components/schemas/result-authentication-3ds-action'
                  - $ref: '#/components/schemas/tokenization-action'
                  - $ref: '#/components/schemas/ach-action'
            required:
            - event_token
            - timestamp
            - actions
      required:
      - version
      - state
      - action_counts
      - examples
    conditional-block-parameters:
      title: Conditional Block Parameters
      deprecated: true
      description: 'Deprecated: Use CONDITIONAL_ACTION instead.'
      type: object
      properties:
        conditions:
          type: array
          items:
            type: object
            properties:
              attribute:
                type: string
                description: 'The attribute to target.


                  The following attributes may be targeted:

                  * `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify a business by the types of goods or services it provides.

                  * `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for Netherlands Antilles.

                  * `CURRENCY`: 3-character alphabetic ISO 4217 code for the merchant currency of the transaction.

                  * `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor (merchant).

                  * `DESCRIPTOR`: Short description of card acceptor.

                  * `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the issuer applies to the transaction. Valid values are `NONE`, `3DS_AUTHENTICATED`, or `TOKEN_AUTHENTICATED`.

                  * `PAN_ENTRY_MODE`: The method by which the cardholder''s primary account number (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, `CONTACTLESS`, `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, `KEY_ENTERED`, `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, `UNSPECIFIED`, `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`.

                  * `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer fee field in the settlement/cardholder billing currency. This is the amount the issuer should authorize against unless the issuer is pa

# --- truncated at 32 KB (97 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lithic/refs/heads/main/openapi/lithic-auth-rules-api-openapi.yml