# Auth Rule

## Auth Rule Token

### Required Fields
- **token**: Auth Rule Token (string, required)
- **state**: The state of the Auth Rule (enum, required)
  - `ACTIVE`
  - `INACTIVE`
- **program_level**: Whether the Auth Rule applies to all authorizations on the card program (boolean, required)
- **card_tokens**: Card tokens to which the Auth Rule applies (array of uuids, required)
- **excluded_card_tokens**: Card tokens to which the Auth Rule does not apply (array of uuids)
- **excluded_account_tokens**: Account tokens to which the Auth Rule does not apply (array of uuids)
- **excluded_business_account_tokens**: Business account tokens to which the Auth Rule does not apply (array of uuids)
- **account_tokens**: Account tokens to which the Auth Rule applies (array of uuids, required)
- **business_account_tokens**: Business Account tokens to which the Auth Rule applies (array of uuids, required)
- **type**: The type of Auth Rule, which determines the event stream during which it will be evaluated (string, enum, required)
  - `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, CARD_TRANSACTION_UPDATE, or ACH_PAYMENT_UPDATE event stream.
  - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION, ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, CARD_TRANSACTION_UPDATE, or ACH_PAYMENT_UPDATE event stream.
- **current_version**: Version details (null | object, required)
- **draft_version**: Draft version details (null | object, required)
- **name**: Auth Rule Name (string, required)
- **event_stream**: The event stream during which the rule will be evaluated (string, enum, required)
  - `AUTHORIZATION`
  - `THREE_DS_AUTHENTICATION`
  - `TOKENIZATION`
  - `ACH_CREDIT_RECEIPT`
  - `ACH_DEBIT_RECEIPT`
  - `CARD_TRANSACTION_UPDATE`
  - `ACH_PAYMENT_UPDATE`
- **lithic_managed**: Indicates whether this auth rule is managed by Lithic. If true, the rule cannot be modified or deleted by the user (boolean, required)

### Example Request

```bash
curl --request POST \
     --url https://sandbox.lithic.com/v2/auth_rules/auth_rule_token/promote \
     --header 'accept: application/json'
```

### Example Response

```json
{
  "token": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "state": "ACTIVE",
  "program_level": true,
  "card_tokens": [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  ],
  "excluded_card_tokens": [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  ],
  "excluded_account_tokens": [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  ],
  "excluded_business_account_tokens": [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  ],
  "account_tokens": [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  ],
  "business_account_tokens": [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  ],
  "type": "CONDITIONAL_BLOCK",
  "current_version": {
    "parameters": {
      "conditions": [
        {
          "attribute": "MCC",
          "operation": "IS_ONE_OF",
          "value": "string"
        }
      ]
    },
    "version": 0
  },
  "draft_version": {
    "parameters": {
      "conditions": [
        {
          "attribute": "MCC",
          "operation": "IS_ONE_OF",
          "value": "string"
        }
      ]
    },
    "version": 0,
    "state": "PENDING",
    "error": "string"
  },
  "name": "string",
  "event_stream": "AUTHORIZATION",
  "lithic_managed": true
}
```
