# Enum Types

Enum types define a set of predefined values that a field can take.

Source: https://www.twisp.com/docs/reference/graphql/types/enum

## AccountIndex
Indexes for querying Accounts. To optimize query performance and apply desired filters, choose the appropriate index.
#### Values

---
* ``ACCOUNT_ID``
* Index by `accountId` field. Must supply an `accountId: { eq: <id> }` filter to the `where` object.
---
* ``NAME``
* Eventually consistent index by `name` field. Use to apply query filters on the value of `name`.
---
* ``CODE``
* Eventually consistent index by `code` field. When an `eq` filter is supplied, a strongly consistent index is used. Use to apply query filters on the value of `code`.
---
* ``STATUS``
* Eventually consistent index by `status` field. Use to apply query filters on the value of `status`.
---
* ``EXTERNAL_ID``
* Index by `externalId` field. Must supply an `externalId: { eq: <id> }` filter to the `where` object.
---
* ``CUSTOM``
* Use a custom-defined index. Must supply a `custom` filter to the `where` object.
---
* ``SEARCH``
* Use eventually consisent search. Must supply a `search` filter to the `where` object.
---
* ``CODE_UNIQUE``
* Index by `code` field. Must supply an `codeUnique: { eq: <id> }` filter to the `where` object.

## AccountSetIndex
Indexes for querying AccountSets. To optimize query performance and apply desired filters, choose the appropriate index.
#### Values

---
* ``ACCOUNT_SET_ID``
* Index by `accountSetId` field. Must supply an `accountSetId: { eq: <id> }` filter to the `where` object.
---
* ``NAME``
* Eventually consistent index by `name` field. Use to apply query filters on the value of `name`.
---
* ``CODE``
* Eventually consistent index by `code` field. When an `eq` filter is supplied, a strongly consistent index is used. Use to apply query filters on the value of `code`.
---
* ``CUSTOM``
* Use a custom-defined index. Must supply a `custom` filter to the `where` object.
---
* ``SEARCH``
* Use eventually consisent search. Must supply a `search` filter to the `where` object.

## AccountSetMemberType
Account set members can be of type Account or AccountSet.
#### Values

---
* ``ACCOUNT``
*
---
* ``ACCOUNT_SET``
*

## AccountStatus
Account status determines whether the account is in active use or closed (locked). By default, all accounts are `ACTIVE`.

When account is `LOCKED`, it cannot be changed and any attempt to write a ledger entry to this account will raise an error.
#### Values

---
* ``ACTIVE``
* ACTIVE = Account is open for posting.
---
* ``LOCKED``
* LOCKED = Account is locked and will block posting.
---
* ``INACTIVE``
* INACTIVE = Account is open for posting but will be LOCKED soon.

## AchFileInfoIndex
#### Values

---
* ``PROCESSING_STATUS``
* Index by `processingStatus` field. Must supply both `processingStatus:{eq: <processingStatus>}` and `configId:{eq: <conrfigId>}` to the `where` object.

## AchFileProcessingStatus
#### Values

---
* ``UNKNOWN``
* File Processing state is unknown.
---
* ``NEW``
* Newly created file processing state.
---
* ``VALIDATING``
* File is being validated.
---
* ``PARTITIONING``
* File is being partitioned for processing.
---
* ``UPLOADED``
* File has been uploaded and will begin processing shortly.
---
* ``PROCESSING``
* File is being processed and create webhooks are being actively sent for this file.
---
* ``PROCESSED``
* All create webhooks have been sent for this file and entries are awaiting settlement.
---
* ``ERROR``
* The system encountered an unrecoverable error while processing the file. See `processingDetail` for more information.
---
* ``INVALID``
* The uploaded file failed validation. See `processingDetail` for more information.
---
* ``ABORTED``
* The processing of this file was aborted. See `processingDetail` for more information.
---
* ``COMPLETED``
* All entries from this file process have been either settled or queued for a return file.

## AchFileType
#### Values

---
* ``RDFI``
*
---
* ``RDFI_RETURN``
*
---
* ``RDFI_NOC``
*
---
* ``ODFI``
*
---
* ``ODFI_PULL_ONLY``
*
---
* ``ODFI_PUSH_ONLY``
*
---
* ``ODFI_RETURN``
*
---
* ``ODFI_PREPROCESS_RETURN``
*
---
* ``ODFI_PROCESSED``
*

## BalanceIndex
Indexes for querying Balances. To optimize query performance and apply desired filters, choose the appropriate index.
#### Values

---
* ``ACCOUNT_ID``
* Index by `accountId` field. Must supply an `accountId: { eq: <id> }` filter to the `where` object.
---
* ``CALCULATION``
* Index by `calculationId` and `dimension` fields in addition to account.
---
* ``CUSTOM``
* Use a custom-defined index. Must supply a `custom` filter to the `where` object.
---
* ``SEARCH``
* Use eventually consisent search. Must supply a `search` filter to the `where` object.

## BalanceLimitType
#### Values

---
* ``AVAILABLE``
* Limit based on available balance at a particular layer.

## BalanceType
All operations in Twisp are **strongly consistent** and
transactionally isolated. Both concurrent and non-concurrent enabled
accounts provide the same strong consistency guarantee on balances,
but concurrent enabled accounts can adjust their balance isolation
levels and latency characteristics according to different user needs.
#### Values

---
* ``FINAL``
* Return the latest calculated balance record for the account. This
  balance may be slightly stale but offers the lowest latency.
---
* ``PREPARED``
* Return the latest calculated balance record plus any committed, but
  not yet FINAL, entries. This balance is transactionally consistent
  for the current snapshot and guaranteed to eventually match a FINAL
  balance record.
---
* ``PROVISIONAL``
* Return the latest calculated balance record plus any committed, but
  not yet FINAL, entries along with all in-flight uncommitted
  entries. This balance is provisional since uncommitted entries are
  not guaranteed to commit.

## BulkQueryExecutionIndex
Indexes for querying bulk executions.
#### Values

---
* ``STATUS``
* Eventually consistent index by `status` field, sorted by `created` timestamp.

## BulkQueryExecutionStatus
#### Values

---
* ``CREATED``
* Execution is created but not yet started.
---
* ``IN_PROGRESS``
* Execution is in progress.
---
* ``SUMMARIZING``
* Execution is complete and results are being summarized.
---
* ``COMPLETE``
* Execution is complete and results are available to download.
---
* ``ERROR``
* There was an error that prevented execution.
---
* ``CANCELLED``
* Execution was cancelled by the user.

## CalculationBackfillStatus
#### Values

---
* ``COMPLETE``
* Calculation is completely backfilled or was created before backfill support.
---
* ``IN_PROGRESS``
* Backfill is in progress.
---
* ``ERROR``
* There was an error in the backfill.
---
* ``DETACHED``
* The calculation was detached.

## CalculationIndex
#### Values

---
* ``CALCULATION_ID``
* Index by `calculationId` field. Must supply `calculationId: { eq: <id> }` filter to the `where` object.
---
* ``CODE``
* Index by `code` field. Must supply `code: { eq: <id> }` filter to the `where` object.
---
* ``GLOBAL``
* Global calculations by `status` field. Must supply `status: { eq: <id> }` filter to the `where` object.
---
* ``LOCAL``
* Local calculations by `status` field. Must supply `status: { eq: <id> }` filter to the `where` object.

## CalculationScope
#### Values

---
* ``GLOBAL``
* The calculation is computed on all accounts and sets in the journal.
---
* ``LOCAL``
* The calculation is computed only on accounts and sets where it is attached.

## CalculationStatus
#### Values

---
* ``ACTIVE``
* Calculation is actively in use.
---
* ``LOCKED``
* Calculation has been deleted and no longer in use.

## CelType
#### Values

---
* ``JSON``
* A json object
---
* ``Timestamp``
* RFC-3339 formatted timestamp.
---
* ``Duration``
* Golang formatted duration string.
---
* ``Double``
* Signed 64 bit floating point.
---
* ``Decimal``
* 128-Bit fixed precision decimal.
---
* ``String``
* UTF-8 encoded string.
---
* ``Bool``
* Boolean
---
* ``Int``
* Signed 64-bit integer
---
* ``UInt``
* Unsigned 64-bit integer
---
* ``Bytes``
* Base64 encoded bytestring.
---
* ``UUID``
* UUID supporting v1-8

## CurrencyDisplay
Defines how to render the currency indicator.
#### Values

---
* ``SYMBOL``
* Show the symbol for the currency. @example('$1.23') @example('€1.23')
---
* ``CODE``
* Show the currency code. @example('USD') @example('EUR')
---
* ``NONE``
* Don't show the code or symbol for the currency.

## DebitOrCredit
Debit or credit? Sometimes these are abbreviated to DR and CR.
#### Values

---
* ``DEBIT``
*
---
* ``CREDIT``
*

## EffectiveGranularity
#### Values

---
* ``YEAR``
* Year-level effective calculation (YYYY)
---
* ``MONTH``
* Month-level effective calculation (YYYY_MM)
---
* ``DAY``
* Day-level effective calculation (YYYY_MM_DD)

## EndpointIndex
#### Values

---
* ``ENDPOINT_ID``
* Index by `endpointId` field. Must supply an `endpointId: { eq: <id> }` filter to the `where` object.
---
* ``STATUS``
* Index by `status` field. Must supply an  `status: { eq: <status> }` filter to the `where` object.

## EndpointStatus
#### Values

---
* ``ENABLED``
*
---
* ``DISABLED``
*

## EndpointType
#### Values

---
* ``WEBHOOK``
*
---
* ``ACH_PROCESSOR``
*

## EntryIndex
Indexes for querying Entries. To optimize query performance and apply desired filters, choose the appropriate index.
#### Values

---
* ``ENTRY_ID``
* Index by `entryId` field. Must supply an `entryId: { eq: <id> }` filter to the `where` object.
---
* ``TRANSACTION_ID``
* Index by `transactionId` field. Must supply an `transactionId: { eq: <id> }` filter to the `where` object.
---
* ``CUSTOM``
* Use a custom-defined index. Must supply a `custom` filter to the `where` object.
---
* ``SEARCH``
* Use eventually consisent search. Must supply a `search` filter to the `where` object.

## ExcludeTableEnum
#### Values

---
* ``Account``
*
---
* ``AccountContext``
*
---
* ``AccountSet``
*
---
* ``AccountSetMember``
*
---
* ``AttachedCalculation``
*
---
* ``Balance``
*
---
* ``BulkExecution``
*
---
* ``Calculation``
*
---
* ``Endpoint``
*
---
* ``Entry``
*
---
* ``Journal``
*
---
* ``Transaction``
*
---
* ``TransactionException``
*
---
* ``TranCode``
*
---
* ``VelocityControl``
*
---
* ``VelocityControlAccount``
*
---
* ``VelocityLimit``
*
---
* ``WorkflowExecution``
*

## ExportCompression
#### Values

---
* ``NONE``
*
---
* ``GZIP``
*
---
* ``BZIP2``
*
---
* ``ZSTD``
*

## ExportEntity
#### Values

---
* ``Balance``
*
---
* ``Account``
*
---
* ``AccountSet``
*
---
* ``Transaction``
*
---
* ``Entry``
*
---
* ``AccountSetMember``
*
---
* ``WorkflowExecution``
*

## ExportFormat
#### Values

---
* ``PARQUET``
*
---
* ``JSON``
*
---
* ``CSV``
*

## ExportVersion
#### Values

---
* ``LATEST``
*
---
* ``HISTORICAL``
*

## FileRecordType
#### Values

---
* ``FILE``
*
---
* ``BATCH``
*
---
* ``IAT_BATCH``
*
---
* ``ENTRY_DETAIL``
*
---
* ``ADV_ENTRY_DETAIL``
*
---
* ``IAT_ENTRY_DETAIL``
*

## ISO8583ProcessorType
#### Values

---
* ``UNSPECIFIED``
*
---
* ``VISA_DIRECT``
*
---
* ``GALILEO``
*
---
* ``MARQETA``
*
---
* ``LITHIC``
*
---
* ``HIGHNOTE``
*
---
* ``Q2``
*
---
* ``FIRST_DATA``
*
---
* ``I2C``
*

## IndexDataType
#### Values

---
* ``INT``
*
---
* ``UINT``
*
---
* ``DOUBLE``
*
---
* ``BOOL``
*
---
* ``STRING``
*
---
* ``BYTES``
*
---
* ``DURATION``
*
---
* ``TIMESTAMP``
*
---
* ``UUID``
*
---
* ``DATE``
*
---
* ``MONEY``
*
---
* ``DECIMAL``
*

## IndexOnEnum
Record types which support custom indexes.
#### Values

---
* ``Account``
*
---
* ``AccountSet``
*
---
* ``Balance``
*
---
* ``Transaction``
*
---
* ``TranCode``
*
---
* ``Entry``
*
---
* ``KV``
*
---
* ``View``
* Target a user-defined view. Requires `viewName` on createIndex / deleteIndex.

## IndexStatusEnum
#### Values

---
* ``CREATING``
* Index is creating and backfilling.
---
* ``ACTIVE``
* Index is active

## JobType
#### Values

---
* ``SETTLE_WORKFLOW``
*

## JournalIndex
Indexes for querying Journals. To optimize query performance and apply desired filters, choose the appropriate index.
#### Values

---
* ``JOURNAL_ID``
* Index by `JOURNAL_ID` field. Must supply a `journalId: { eq: <id> }` filter to the `where` object.
---
* ``NAME``
* Index by `name` field. Use to apply query filters on the value of `name`.
---
* ``STATUS``
* Index by `status` field. Use to apply query filters on the value of `status`.
---
* ``CODE``
* Index by `code` field. Use to apply query filters on the value of `code`.

## KVIndex
#### Values

---
* ``Namespace``
* Query the built-in namespace index.
---
* ``Custom``
* Query a user-defined custom index created on `KV`.

## Layer
The ledger can apply a entries to one of three layers: SETTLED, PENDING, and ENCUMBRANCE.

The SETTLED layer is what is actually fully settled.

The PENDING layer is what's settled but also includes holds and pending charges. This can be used to verify the account will have enough funds after the holds and pending transactions have cleared.

The ENCUMBRANCE layer allows us to add future transactions that are scheduled and also goals or budgeting tools to set money aside in the account.
#### Values

---
* ``SETTLED``
*
---
* ``PENDING``
*
---
* ``ENCUMBRANCE``
*

## OpenToBuyType
#### Values

---
* ``AVAILABLE_ENCUMBRANCE``
* Available encumbrance balance in the normality of the account.
---
* ``AVAILABLE_PENDING``
* Available pending balance in the normality of the account.
---
* ``AVAILABLE_SETTLED``
* Available settled balance in the normality of the account.
---
* ``VELOCITY_BALANCE``
* A default windowed attached velocity control.

## OpensearchSchemaBinaryMappingType
#### Values

---
* ``BINARY``
*

## OpensearchSchemaBooleanMappingType
#### Values

---
* ``BOOLEAN``
*

## OpensearchSchemaDateMappingType
#### Values

---
* ``DATE``
*
---
* ``DATE_NANOS``
*

## OpensearchSchemaNumericMappingType
#### Values

---
* ``BYTE``
*
---
* ``DOUBLE``
*
---
* ``FLOAT``
*
---
* ``HALF_FLOAT``
*
---
* ``INTEGER``
*
---
* ``LONG``
*
---
* ``UNSIGNED_LONG``
*
---
* ``SHORT``
*

## OpensearchSchemaObjectMappingType
#### Values

---
* ``OBJECT``
*

## OpensearchSchemaStringMappingType
#### Values

---
* ``KEYWORD``
*
---
* ``TEXT``
*
---
* ``MATCH_ONLY_TEXT``
*
---
* ``TOKEN_COUNT``
*
---
* ``WILDCARD``
*

## ParamDataType
Data type of a parameter.
#### Values

---
* ``STRING``
*
---
* ``INTEGER``
*
---
* ``DECIMAL``
*
---
* ``BOOLEAN``
*
---
* ``UUID``
*
---
* ``DATE``
*
---
* ``TIMESTAMP``
*
---
* ``JSON``
*

## PolicyAction
#### Values

---
* ``SELECT``
*
---
* ``INSERT``
*
---
* ``UPDATE``
*
---
* ``DELETE``
*

## PolicyEffect
#### Values

---
* ``ALLOW``
*
---
* ``DENY``
*

## RestoreStatusEnum
#### Values

---
* ``EXPORTING``
*
---
* ``IMPORTING``
*
---
* ``COMPLETE``
*
---
* ``ERROR``
*

## RoundingMode
Defines the rounding behavior when formatting units.
#### Values

---
* ``HALF_DOWN``
* Rounds up if the next digit is > 5, otherwise rounds down.
---
* ``HALF_UP``
* Rounds up if the next digit is >= 5, otherwise rounds down.
---
* ``DOWN``
* Rounds towards 0, truncating extra digits.
---
* ``UP``
* Rounds away from 0.

## SQLField_Type
#### Values

---
* ``IS_NULL``
*
---
* ``BYTES``
*
---
* ``BOOL``
*
---
* ``DOUBLE``
*
---
* ``INT``
*
---
* ``STRING``
*

## SortOrder
`ASC` (ascending) or `DESC` (descending).
#### Values

---
* ``ASC``
*
---
* ``DESC``
*

## SqlStatementStatus
#### Values

---
* ``ABORTED``
*
---
* ``ALL``
*
---
* ``FAILED``
*
---
* ``FINISHED``
*
---
* ``PICKED``
*
---
* ``STARTED``
*
---
* ``SUBMITTED``
*

## Status
Record status. All records are `ACTIVE` by default.

To avoid rewriting accounting history, most records are not deleted but simply marked `LOCKED`, indicating that they should not be used.
#### Values

---
* ``ACTIVE``
*
---
* ``LOCKED``
*
---
* ``INACTIVE``
*

## TranCodeIndex
Indexes for querying TranCodes. To optimize query performance and apply desired filters, choose the appropriate index.
#### Values

---
* ``TRAN_CODE_ID``
* Index by `tranCodeId` field. Must supply a `tranCodeId: { eq: <id> }` filter to the `where` object.
---
* ``CODE``
* Index by `code` field. Use to apply query filters on the value of `code`.
---
* ``STATUS``
* Index by `status` field. Use to apply query filters on the value of `status`.
---
* ``CUSTOM``
* Use a custom-defined index. Must supply a `custom` filter to the `where` object.
---
* ``SEARCH``
* Use eventually consisent search. Must supply a `search` filter to the `where` object.

## TransactionIndex
Indexes for querying Transactions. To optimize query performance and apply desired filters, choose the appropriate index.
#### Values

---
* ``TRANSACTION_ID``
* Index by `TRANSACTION_ID` field. Must supply a `transactionId: { eq: <id> }` filter to the `where` object.
---
* ``CORRELATION_ID``
* Index by `CORRELATION_ID` field. Must supply a `correlationId: { eq: <id> }` filter to the `where` object.
---
* ``EXTERNAL_ID``
* Index by `EXTERNAL_ID` field. Must supply an `externalId: { eq: <id> }` filter to the `where` object.
---
* ``CUSTOM``
* Use a custom-defined index. Must supply a `custom` filter to the `where` object.
---
* ``SEARCH``
* Use eventually consisent search. Must supply a `search` filter to the `where` object.
---
* ``TRANSACTION_IDS``
* Retrieve a list of transactions by id. Must supply an `ids` filter to the `where` object.
---
* ``GROUP``
* Retrieve a list of transactions by group. Must supply a `group` filter to the `where` object.

## TxIsolation
Transaction isolation level.

Different isolation levels provide different guarantees about data visibility and consistency.
#### Values

---
* ``READ_COMMITTED``
* Read committed isolation - allows reading only committed data
---
* ``SNAPSHOT``
* Snapshot isolation - provides a consistent snapshot view of the database
---
* ``REPEATABLE_READ``
* Repeatable read isolation - prevents non-repeatable reads
---
* ``SERIALIZABLE``
* Serializable isolation - strictest isolation level

## UploadType
#### Values

---
* ``BULK_GRAPHQL_VARIABLES``
*
---
* ``ACH``
*

## VelocityControlIndex
#### Values

---
* ``VELOCITY_CONTROL_ID``
* Index by `velocityControlId` field. Must supply an `velocityControlId: { eq: <id> }` filter to the `where` object.
---
* ``NAME``
* Index by `name` field. Use to apply query filters on the value of `name`.
---
* ``ACCOUNT_ID``
* Index by `accountId` attached to velocity control. Must supply an `accountId: { eq: <id> }` filter to the `where` object.
---
* ``VELOCITY_LIMIT_ID``
*

## VelocityEnforcementAction
#### Values

---
* ``WARN``
* Returns a selectable exception on postTransaction.exceptions, but allows transaction to be posted.
---
* ``VOID``
* Returns a selectable exception on postTransaction.exceptions, and voids offending transaction.
---
* ``REJECT``
* Returns an exception as an error, aborting entire request.

## VelocityLimitIndex
#### Values

---
* ``VELOCITY_LIMIT_ID``
* Index by `velocityLimitId` field. Must supply an `velocityLimitId: { eq: <id> }` filter to the `where` object.
---
* ``NAME``
* Index by `name` field. Use to apply query filters on the value of `name`.

## ViewEntity
Enum of source tables that can trigger view updates.
#### Values

---
* ``Account``
*
---
* ``AccountSet``
*
---
* ``Balance``
*
---
* ``Entry``
*
---
* ``Transaction``
*
---
* ``TranCode``
*

## ViewTriggerEnum
#### Values

---
* ``OnSelect``
*
---
* ``OnInsert``
*
---
* ``OnUpdate``
*
---
* ``OnDelete``
*
