# Core API reference (/docs/core/reference/api)



## Functions [#functions]

| Function                                                                              | Description                                                                               |
| ------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| [apexAdd](/docs/core/reference/api/functions/apexAdd)                                 | Builds a typed Apex addition expression from compatible literal or bind operands.         |
| [apexBind](/docs/core/reference/api/functions/apexBind)                               | Creates a typed Apex bind expression from an identifier or dotted member path.            |
| [apexQueryField](/docs/core/reference/api/functions/apexQueryField)                   | References a selected field from an Apex query result for use in another bind expression. |
| [apexSubstring](/docs/core/reference/api/functions/apexSubstring)                     | Builds a typed Apex substring expression using validated zero-based indexes.              |
| [applyQueryResultAliases](/docs/core/reference/api/functions/applyQueryResultAliases) | Applies Kysoql-only field aliases to records returned by Salesforce.                      |
| [soqlCurrency](/docs/core/reference/api/functions/soqlCurrency)                       | Creates a validated SOQL currency literal from a three-letter ISO code and finite value.  |
| [soqlLikeLiteral](/docs/core/reference/api/functions/soqlLikeLiteral)                 | Treat every character in a LIKE value literally, including `%` and `_`.                   |
| [soqlMultiSelectAnd](/docs/core/reference/api/functions/soqlMultiSelectAnd)           | Creates a multi-select picklist operand that requires every listed value to match.        |
| [soqlRelativeDate](/docs/core/reference/api/functions/soqlRelativeDate)               | Creates a validated fixed or parameterized Salesforce relative-date literal.              |
| [soqlDate](/docs/core/reference/api/functions/soqlDate)                               | Creates a validated Salesforce SOQL date literal.                                         |
| [soqlDateTime](/docs/core/reference/api/functions/soqlDateTime)                       | Creates a validated Salesforce SOQL datetime literal.                                     |
| [soqlTime](/docs/core/reference/api/functions/soqlTime)                               | Creates a validated Salesforce SOQL time literal.                                         |

## Classes [#classes]

| Class                                                                         | Description                                                                            |
| ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| [Kysoql](/docs/core/reference/api/classes/Kysoql)                             | Configured query creator for building, compiling, and optionally executing typed SOQL. |
| [NoResultError](/docs/core/reference/api/classes/NoResultError)               | Error thrown by `executeTakeFirstOrThrow()` when a query returns no rows.              |
| [DefaultQueryCompiler](/docs/core/reference/api/classes/DefaultQueryCompiler) | Default compiler that validates a query AST and renders Salesforce SOQL.               |
| [QueryCreator](/docs/core/reference/api/classes/QueryCreator)                 | Entry point for creating typed queries from a Salesforce schema.                       |

## Interfaces [#interfaces]

| Interface                                                                                                    | Description                                                                                                                                  |
| ------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- |
| [ApexBindExpression](/docs/core/reference/api/interfaces/ApexBindExpression)                                 | Typed Apex expression that can be embedded as a bind in generated dynamic SOQL.                                                              |
| [ApexDatabaseQueryOptions](/docs/core/reference/api/interfaces/ApexDatabaseQueryOptions)                     | Compile-time marker for Salesforce `Database.QueryOptions`.                                                                                  |
| [AggregateFormatFunctionBuilder](/docs/core/reference/api/interfaces/AggregateFormatFunctionBuilder)         | Builder for FORMAT() applied to an aggregate expression.                                                                                     |
| [AggregateFunctionBuilder](/docs/core/reference/api/interfaces/AggregateFunctionBuilder)                     | Builder for a typed Salesforce aggregate function expression.                                                                                |
| [AggregateFunctionExpression](/docs/core/reference/api/interfaces/AggregateFunctionExpression)               | Typed aggregate-function expression that can be selected or compared.                                                                        |
| [AggregateFunctionModule](/docs/core/reference/api/interfaces/AggregateFunctionModule)                       | Aggregate and date-function helpers exposed to expression callbacks.                                                                         |
| [AliasedAggregateFunctionBuilder](/docs/core/reference/api/interfaces/AliasedAggregateFunctionBuilder)       | Aliased aggregate expression produced for SELECT output.                                                                                     |
| [AliasedDateFunctionBuilder](/docs/core/reference/api/interfaces/AliasedDateFunctionBuilder)                 | Aliased date-function expression produced for SELECT output.                                                                                 |
| [AliasedSelectFunctionBuilder](/docs/core/reference/api/interfaces/AliasedSelectFunctionBuilder)             | Aliased scalar SELECT-function expression.                                                                                                   |
| [ConvertCurrencyFunctionBuilder](/docs/core/reference/api/interfaces/ConvertCurrencyFunctionBuilder)         | Builder for Salesforce convertCurrency() expressions.                                                                                        |
| [ConvertTimezoneFunctionBuilder](/docs/core/reference/api/interfaces/ConvertTimezoneFunctionBuilder)         | Builder for an unaliased Salesforce convertTimezone() expression.                                                                            |
| [CountAllFunctionBuilder](/docs/core/reference/api/interfaces/CountAllFunctionBuilder)                       | Builder for Salesforce COUNT() without a field argument.                                                                                     |
| [DateFunctionBuilder](/docs/core/reference/api/interfaces/DateFunctionBuilder)                               | Builder for Salesforce date functions such as CALENDAR\_YEAR() and DAY\_ONLY().                                                              |
| [DateFunctionExpression](/docs/core/reference/api/interfaces/DateFunctionExpression)                         | Typed Salesforce date-function expression that can be selected or grouped.                                                                   |
| [FormatFunctionBuilder](/docs/core/reference/api/interfaces/FormatFunctionBuilder)                           | Builder for Salesforce FORMAT() expressions.                                                                                                 |
| [GroupingFunctionBuilder](/docs/core/reference/api/interfaces/GroupingFunctionBuilder)                       | Builder for Salesforce GROUPING() in aggregate queries.                                                                                      |
| [SelectExpressionBuilder](/docs/core/reference/api/interfaces/SelectExpressionBuilder)                       | Expression helper passed to typed SELECT and grouping callbacks.                                                                             |
| [SelectFunctionModule](/docs/core/reference/api/interfaces/SelectFunctionModule)                             | Scalar, aggregate, date, and geolocation helpers exposed to SELECT callbacks.                                                                |
| [ToLabelFunctionBuilder](/docs/core/reference/api/interfaces/ToLabelFunctionBuilder)                         | Builder for Salesforce toLabel() expressions.                                                                                                |
| [ExpressionBuilder](/docs/core/reference/api/interfaces/ExpressionBuilder)                                   | Expression helper passed to typed WHERE callbacks.                                                                                           |
| [ExpressionWrapper](/docs/core/reference/api/interfaces/ExpressionWrapper)                                   | Typed wrapper around a filter operation node.                                                                                                |
| [ToLabelFilterFunctionExpression](/docs/core/reference/api/interfaces/ToLabelFilterFunctionExpression)       | Typed toLabel() expression used in WHERE comparisons.                                                                                        |
| [BetaExpressionModule](/docs/core/reference/api/interfaces/BetaExpressionModule)                             | Beta expression helpers for Salesforce formula-field filter functions.                                                                       |
| [FormulaFilterFunctionExpression](/docs/core/reference/api/interfaces/FormulaFilterFunctionExpression)       | Typed formula-function expression used in WHERE comparisons.                                                                                 |
| [AliasedDistanceFunctionBuilder](/docs/core/reference/api/interfaces/AliasedDistanceFunctionBuilder)         | Aliased DISTANCE() expression produced for SELECT output.                                                                                    |
| [DistanceFunctionBuilder](/docs/core/reference/api/interfaces/DistanceFunctionBuilder)                       | Builder for Salesforce DISTANCE() expressions.                                                                                               |
| [DistanceFunctionExpression](/docs/core/reference/api/interfaces/DistanceFunctionExpression)                 | Typed Salesforce DISTANCE() expression.                                                                                                      |
| [GeolocationExpressionBuilder](/docs/core/reference/api/interfaces/GeolocationExpressionBuilder)             | Expression helper for geolocation-aware SELECT and ORDER BY callbacks.                                                                       |
| [GeolocationFilterExpressionBuilder](/docs/core/reference/api/interfaces/GeolocationFilterExpressionBuilder) | Expression helper for geolocation-aware WHERE callbacks.                                                                                     |
| [GeolocationFilterFunctionModule](/docs/core/reference/api/interfaces/GeolocationFilterFunctionModule)       | Geolocation expression helpers exposed to WHERE callbacks.                                                                                   |
| [GeolocationFunctionBuilder](/docs/core/reference/api/interfaces/GeolocationFunctionBuilder)                 | Builder for Salesforce GEOLOCATION() expressions.                                                                                            |
| [GeolocationFunctionModule](/docs/core/reference/api/interfaces/GeolocationFunctionModule)                   | Geolocation expression helpers exposed to SELECT and ORDER BY callbacks.                                                                     |
| [HavingExpressionBuilder](/docs/core/reference/api/interfaces/HavingExpressionBuilder)                       | Expression helper passed to typed HAVING callbacks.                                                                                          |
| [HavingExpressionWrapper](/docs/core/reference/api/interfaces/HavingExpressionWrapper)                       | Typed wrapper around an aggregate HAVING expression node.                                                                                    |
| [AggregateFunctionNode](/docs/core/reference/api/interfaces/AggregateFunctionNode)                           | Immutable query AST node for a Salesforce aggregate function.                                                                                |
| [AliasNode](/docs/core/reference/api/interfaces/AliasNode)                                                   | Immutable query AST node for a SELECT alias.                                                                                                 |
| [AllRowsNode](/docs/core/reference/api/interfaces/AllRowsNode)                                               | Immutable query AST node for the ALL ROWS modifier.                                                                                          |
| [AndNode](/docs/core/reference/api/interfaces/AndNode)                                                       | Immutable query AST node for logical AND.                                                                                                    |
| [ApexAccessModeNode](/docs/core/reference/api/interfaces/ApexAccessModeNode)                                 | Immutable query AST node for an Apex query access mode.                                                                                      |
| [ApexBindNode](/docs/core/reference/api/interfaces/ApexBindNode)                                             | Immutable query AST node for an Apex bind reference.                                                                                         |
| [ApexAdditionNode](/docs/core/reference/api/interfaces/ApexAdditionNode)                                     | Immutable query AST node for an Apex addition expression.                                                                                    |
| [ApexQueryResultNode](/docs/core/reference/api/interfaces/ApexQueryResultNode)                               | Immutable query AST node for a field read from an Apex query result.                                                                         |
| [ApexSubstringNode](/docs/core/reference/api/interfaces/ApexSubstringNode)                                   | Immutable query AST node for an Apex substring expression.                                                                                   |
| [ApexLiteralNode](/docs/core/reference/api/interfaces/ApexLiteralNode)                                       | Immutable query AST node for an Apex literal value.                                                                                          |
| [BinaryOperationNode](/docs/core/reference/api/interfaces/BinaryOperationNode)                               | Immutable query AST node for a binary filter comparison.                                                                                     |
| [ConvertCurrencyFunctionNode](/docs/core/reference/api/interfaces/ConvertCurrencyFunctionNode)               | Immutable query AST node for a convertCurrency() expression.                                                                                 |
| [ConvertTimezoneFunctionNode](/docs/core/reference/api/interfaces/ConvertTimezoneFunctionNode)               | Immutable query AST node for a convertTimezone() expression.                                                                                 |
| [DateFunctionNode](/docs/core/reference/api/interfaces/DateFunctionNode)                                     | Immutable query AST node for a Salesforce date or fiscal date function.                                                                      |
| [DistanceFunctionNode](/docs/core/reference/api/interfaces/DistanceFunctionNode)                             | Immutable query AST node for a DISTANCE() expression.                                                                                        |
| [FieldsFunctionNode](/docs/core/reference/api/interfaces/FieldsFunctionNode)                                 | Immutable query AST node for a FIELDS() selection.                                                                                           |
| [ForUpdateNode](/docs/core/reference/api/interfaces/ForUpdateNode)                                           | Immutable query AST node for the FOR UPDATE clause.                                                                                          |
| [ForViewReferenceNode](/docs/core/reference/api/interfaces/ForViewReferenceNode)                             | Immutable query AST node for a FOR VIEW or FOR REFERENCE clause.                                                                             |
| [FormatFunctionNode](/docs/core/reference/api/interfaces/FormatFunctionNode)                                 | Immutable query AST node for a FORMAT() expression.                                                                                          |
| [FormulaFunctionNode](/docs/core/reference/api/interfaces/FormulaFunctionNode)                               | Immutable query AST node for a Salesforce formula filter function.                                                                           |
| [GeolocationFunctionNode](/docs/core/reference/api/interfaces/GeolocationFunctionNode)                       | Immutable query AST node for a GEOLOCATION() expression.                                                                                     |
| [GroupByNode](/docs/core/reference/api/interfaces/GroupByNode)                                               | Immutable query AST node for a GROUP BY clause.                                                                                              |
| [HavingNode](/docs/core/reference/api/interfaces/HavingNode)                                                 | Immutable query AST node for a HAVING clause.                                                                                                |
| [KnowledgeUpdateNode](/docs/core/reference/api/interfaces/KnowledgeUpdateNode)                               | Immutable query AST node for a Salesforce Knowledge UPDATE clause.                                                                           |
| [LimitNode](/docs/core/reference/api/interfaces/LimitNode)                                                   | Immutable query AST node for a LIMIT clause.                                                                                                 |
| [NotNode](/docs/core/reference/api/interfaces/NotNode)                                                       | Immutable query AST node for logical NOT.                                                                                                    |
| [OffsetNode](/docs/core/reference/api/interfaces/OffsetNode)                                                 | Immutable query AST node for an OFFSET clause.                                                                                               |
| [OperationNode](/docs/core/reference/api/interfaces/OperationNode)                                           | Union of immutable query AST node shapes understood by the Kysoql compiler.                                                                  |
| [OperatorNode](/docs/core/reference/api/interfaces/OperatorNode)                                             | Immutable query AST node for a comparison operator.                                                                                          |
| [OrNode](/docs/core/reference/api/interfaces/OrNode)                                                         | Immutable query AST node for logical OR.                                                                                                     |
| [OrderByItemNode](/docs/core/reference/api/interfaces/OrderByItemNode)                                       | Immutable query AST node for one ORDER BY item.                                                                                              |
| [OrderByNode](/docs/core/reference/api/interfaces/OrderByNode)                                               | Immutable query AST node for an ORDER BY clause.                                                                                             |
| [RawNode](/docs/core/reference/api/interfaces/RawNode)                                                       | Immutable query AST node for a trusted raw SOQL fragment.                                                                                    |
| [RecordVisibilityContextNode](/docs/core/reference/api/interfaces/RecordVisibilityContextNode)               | Immutable query AST node for a record-visibility context clause.                                                                             |
| [ReferenceNode](/docs/core/reference/api/interfaces/ReferenceNode)                                           | Immutable query AST node for a field or relationship reference.                                                                              |
| [RelationshipSubqueryNode](/docs/core/reference/api/interfaces/RelationshipSubqueryNode)                     | Immutable query AST node for a child relationship subquery.                                                                                  |
| [SelectQueryNode](/docs/core/reference/api/interfaces/SelectQueryNode)                                       | Immutable query AST node for a complete SELECT query.                                                                                        |
| [SelectionNode](/docs/core/reference/api/interfaces/SelectionNode)                                           | Immutable query AST node for one SELECT projection.                                                                                          |
| [SemiJoinSubqueryNode](/docs/core/reference/api/interfaces/SemiJoinSubqueryNode)                             | Immutable query AST node for a semi-join or anti-join subquery.                                                                              |
| [SetOptionsNode](/docs/core/reference/api/interfaces/SetOptionsNode)                                         | Immutable query AST node for a SET OPTIONS clause.                                                                                           |
| [SObjectNode](/docs/core/reference/api/interfaces/SObjectNode)                                               | Immutable query AST node for a Salesforce object reference.                                                                                  |
| [ToLabelFunctionNode](/docs/core/reference/api/interfaces/ToLabelFunctionNode)                               | Immutable query AST node for a toLabel() expression.                                                                                         |
| [TypeOfNode](/docs/core/reference/api/interfaces/TypeOfNode)                                                 | Immutable query AST node for a TYPEOF selection.                                                                                             |
| [TypeOfWhenNode](/docs/core/reference/api/interfaces/TypeOfWhenNode)                                         | Immutable query AST node for one TYPEOF WHEN branch.                                                                                         |
| [UserProfileFeedWithNode](/docs/core/reference/api/interfaces/UserProfileFeedWithNode)                       | Immutable query AST node for a UserProfileFeed WITH clause.                                                                                  |
| [UsingScopeNode](/docs/core/reference/api/interfaces/UsingScopeNode)                                         | Immutable query AST node for a USING SCOPE clause.                                                                                           |
| [ValueListNode](/docs/core/reference/api/interfaces/ValueListNode)                                           | Immutable query AST node for a list of bound SOQL values.                                                                                    |
| [ValueNode](/docs/core/reference/api/interfaces/ValueNode)                                                   | Immutable query AST node for a bound SOQL value.                                                                                             |
| [WhereNode](/docs/core/reference/api/interfaces/WhereNode)                                                   | Immutable query AST node for a WHERE clause.                                                                                                 |
| [DataCategorySelectionNode](/docs/core/reference/api/interfaces/DataCategorySelectionNode)                   | Immutable query AST node for one WITH DATA CATEGORY selection.                                                                               |
| [WithDataCategoryNode](/docs/core/reference/api/interfaces/WithDataCategoryNode)                             | Immutable query AST node for a WITH DATA CATEGORY clause.                                                                                    |
| [Data360DloSetOptions](/docs/core/reference/api/interfaces/Data360DloSetOptions)                             | SET OPTIONS supported by Salesforce Data 360 data lake objects.                                                                              |
| [Data360DmoSetOptions](/docs/core/reference/api/interfaces/Data360DmoSetOptions)                             | SET OPTIONS supported by Salesforce Data 360 data model objects.                                                                             |
| [KysoqlPlugin](/docs/core/reference/api/interfaces/KysoqlPlugin)                                             | Hook contract for transforming Kysoql query trees and execution results.                                                                     |
| [PluginTransformQueryArgs](/docs/core/reference/api/interfaces/PluginTransformQueryArgs)                     | Arguments passed to a plugin before a query is compiled.                                                                                     |
| [PluginTransformResultArgs](/docs/core/reference/api/interfaces/PluginTransformResultArgs)                   | Arguments passed to a plugin after a query has executed.                                                                                     |
| [AggregateSelectQueryBuilder](/docs/core/reference/api/interfaces/AggregateSelectQueryBuilder)               | Type-safe builder for grouped and aggregate Salesforce SELECT queries.                                                                       |
| [ApexAggregateSelectQueryBuilder](/docs/core/reference/api/interfaces/ApexAggregateSelectQueryBuilder)       | Apex rendering wrapper for an aggregate SELECT query.                                                                                        |
| [ApexCountQueryBuilder](/docs/core/reference/api/interfaces/ApexCountQueryBuilder)                           | Apex rendering wrapper for a COUNT() query.                                                                                                  |
| [ApexSelectQueryBuilder](/docs/core/reference/api/interfaces/ApexSelectQueryBuilder)                         | Apex rendering wrapper for a typed SELECT query.                                                                                             |
| [CountQueryBuilder](/docs/core/reference/api/interfaces/CountQueryBuilder)                                   | Type-safe builder for Salesforce COUNT() queries.                                                                                            |
| [ExecuteTakeFirstOrThrowOptions](/docs/core/reference/api/interfaces/ExecuteTakeFirstOrThrowOptions)         | Options for customising the error thrown when a query returns no rows.                                                                       |
| [RelationshipSubqueryBuilder](/docs/core/reference/api/interfaces/RelationshipSubqueryBuilder)               | Type-safe builder for a Salesforce child relationship subquery.                                                                              |
| [RelationshipSubqueryPilotModule](/docs/core/reference/api/interfaces/RelationshipSubqueryPilotModule)       | Pilot-only features available while building a relationship subquery.                                                                        |
| [SelectQueryBuilder](/docs/core/reference/api/interfaces/SelectQueryBuilder)                                 | Type-safe fluent builder for Salesforce SELECT queries.                                                                                      |
| [SelectQueryBuilderProps](/docs/core/reference/api/interfaces/SelectQueryBuilderProps)                       | Internal construction state exposed for advanced query-builder integrations.                                                                 |
| [SelectedSemiJoinSubqueryBuilder](/docs/core/reference/api/interfaces/SelectedSemiJoinSubqueryBuilder)       | Completed semi-join subquery with its selected reference field.                                                                              |
| [SemiJoinQueryCreator](/docs/core/reference/api/interfaces/SemiJoinQueryCreator)                             | Query-creator contract exposed inside semi-join callbacks.                                                                                   |
| [SemiJoinSubqueryBuilder](/docs/core/reference/api/interfaces/SemiJoinSubqueryBuilder)                       | Builder for the filtering portion of a semi-join subquery.                                                                                   |
| [SemiJoinSubqueryExpression](/docs/core/reference/api/interfaces/SemiJoinSubqueryExpression)                 | Typed semi-join or anti-join subquery expression for IN and NOT IN filters.                                                                  |
| [TypeOfBuilder](/docs/core/reference/api/interfaces/TypeOfBuilder)                                           | Builder for Salesforce TYPEOF polymorphic relationship selections.                                                                           |
| [TypeOfElseBuilder](/docs/core/reference/api/interfaces/TypeOfElseBuilder)                                   | Completed TYPEOF builder after adding an ELSE branch.                                                                                        |
| [TypeOfWhenBuilder](/docs/core/reference/api/interfaces/TypeOfWhenBuilder)                                   | TYPEOF builder after adding a WHEN branch.                                                                                                   |
| [CompiledQuery](/docs/core/reference/api/interfaces/CompiledQuery)                                           | Compiled SOQL text paired with the immutable query AST that produced it.                                                                     |
| [QueryCompileContext](/docs/core/reference/api/interfaces/QueryCompileContext)                               | Additional schema metadata and mode supplied while compiling a query.                                                                        |
| [QueryCompiler](/docs/core/reference/api/interfaces/QueryCompiler)                                           | Compiler contract for turning a SelectQueryNode into executable SOQL.                                                                        |
| [QueryCreatorConfig](/docs/core/reference/api/interfaces/QueryCreatorConfig)                                 | Compiler, executor, and plugin configuration for QueryCreator.                                                                               |
| [AbortableQueryOptions](/docs/core/reference/api/interfaces/AbortableQueryOptions)                           | Options shared by executable query builders and query executors.                                                                             |
| [QueryAbortSignal](/docs/core/reference/api/interfaces/QueryAbortSignal)                                     | Minimal structural contract used for query cancellation.                                                                                     |
| [QueryExecutor](/docs/core/reference/api/interfaces/QueryExecutor)                                           | Execution adapter contract used by query builders and QueryCreator.                                                                          |
| [QueryId](/docs/core/reference/api/interfaces/QueryId)                                                       | Identifies a single query transformation/execution lifecycle.                                                                                |
| [SalesforceChildRelationship](/docs/core/reference/api/interfaces/SalesforceChildRelationship)               | Metadata for a Salesforce child relationship reference.                                                                                      |
| [SalesforceFieldMetadata](/docs/core/reference/api/interfaces/SalesforceFieldMetadata)                       | Metadata that describes Salesforce field capabilities in a Kysoql schema.                                                                    |
| [SalesforceGeolocation](/docs/core/reference/api/interfaces/SalesforceGeolocation)                           | Latitude and longitude value used by Salesforce geolocation fields.                                                                          |
| [SalesforceObject](/docs/core/reference/api/interfaces/SalesforceObject)                                     | Type-level description of one Salesforce object and its query capabilities.                                                                  |
| [SalesforceParentRelationship](/docs/core/reference/api/interfaces/SalesforceParentRelationship)             | Metadata for a Salesforce parent relationship reference.                                                                                     |
| [SalesforceQueryResult](/docs/core/reference/api/interfaces/SalesforceQueryResult)                           | Paginated Salesforce query response shape.                                                                                                   |
| [SalesforceRecordAttributes](/docs/core/reference/api/interfaces/SalesforceRecordAttributes)                 | Standard Salesforce record attributes returned by REST query responses.                                                                      |
| [SalesforceSchemaMetadata](/docs/core/reference/api/interfaces/SalesforceSchemaMetadata)                     | Optional runtime metadata emitted alongside generated Salesforce schemas.                                                                    |
| [SoqlRawBuilder](/docs/core/reference/api/interfaces/SoqlRawBuilder)                                         | A trusted SOQL fragment that is emitted verbatim by the compiler.                                                                            |
| [SoqlCurrencyLiteral](/docs/core/reference/api/interfaces/SoqlCurrencyLiteral)                               | Validated ISO currency literal used in Salesforce SOQL comparisons.                                                                          |
| [SoqlLikeLiteral](/docs/core/reference/api/interfaces/SoqlLikeLiteral)                                       | LIKE operand wrapper that treats percent and underscore characters literally.                                                                |
| [SoqlMultiSelectAnd](/docs/core/reference/api/interfaces/SoqlMultiSelectAnd)                                 | Represents Salesforce's semicolon-delimited multi-select picklist operand, where every listed value must be selected on the matching record. |
| [SoqlRelativeDateLiteral](/docs/core/reference/api/interfaces/SoqlRelativeDateLiteral)                       | Branded Salesforce relative-date literal accepted by date and datetime filters.                                                              |
| [SoqlDateLiteral](/docs/core/reference/api/interfaces/SoqlDateLiteral)                                       | Validated Salesforce SOQL date literal.                                                                                                      |
| [SoqlDateTimeLiteral](/docs/core/reference/api/interfaces/SoqlDateTimeLiteral)                               | Validated Salesforce SOQL datetime literal with an explicit UTC offset.                                                                      |
| [SoqlTimeLiteral](/docs/core/reference/api/interfaces/SoqlTimeLiteral)                                       | Validated Salesforce SOQL time literal in UTC.                                                                                               |
| [KysoqlTypeError](/docs/core/reference/api/interfaces/KysoqlTypeError)                                       | Compile-time error marker used by fluent helpers that intentionally return an unusable type when a type assertion cannot be proven.          |

## Type Aliases [#type-aliases]

| Type Alias                                                                                                         | Description                                                                        |
| ------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------- |
| [ApexAdditionOperand](/docs/core/reference/api/type-aliases/ApexAdditionOperand)                                   | Literal or typed Apex bind expression accepted by apexAdd().                       |
| [ApexAdditionValue](/docs/core/reference/api/type-aliases/ApexAdditionValue)                                       | Primitive value types supported by Apex addition expressions.                      |
| [AggregatableFieldReference](/docs/core/reference/api/type-aliases/AggregatableFieldReference)                     | Restricts a field reference to Salesforce fields that support aggregation.         |
| [ConvertTimezoneIdentity](/docs/core/reference/api/type-aliases/ConvertTimezoneIdentity)                           | Type-level identity used to track a convertTimezone() expression.                  |
| [CurrencyFieldReference](/docs/core/reference/api/type-aliases/CurrencyFieldReference)                             | Restricts a field reference to currency values supported by convertCurrency().     |
| [DateFunctionIdentity](/docs/core/reference/api/type-aliases/DateFunctionIdentity)                                 | Type-level identity used to track a date-function expression through a query.      |
| [DateGroupableFieldReference](/docs/core/reference/api/type-aliases/DateGroupableFieldReference)                   | Restricts a field reference to date or datetime fields that can be grouped.        |
| [FormattableFieldReference](/docs/core/reference/api/type-aliases/FormattableFieldReference)                       | Restricts a field reference to values supported by FORMAT().                       |
| [NumericAggregatableFieldReference](/docs/core/reference/api/type-aliases/NumericAggregatableFieldReference)       | Restricts a field reference to numeric Salesforce fields that support aggregation. |
| [TranslatableFieldReference](/docs/core/reference/api/type-aliases/TranslatableFieldReference)                     | Restricts a field reference to values supported by toLabel().                      |
| [FilterableToLabelFieldReference](/docs/core/reference/api/type-aliases/FilterableToLabelFieldReference)           | Restricts a field reference to filterable values supported by toLabel().           |
| [ToLabelFilterComparisonOperator](/docs/core/reference/api/type-aliases/ToLabelFilterComparisonOperator)           | Comparison operators supported when filtering a toLabel() expression.              |
| [WhereExpressionFactory](/docs/core/reference/api/type-aliases/WhereExpressionFactory)                             | Callback that builds a typed WHERE expression from an ExpressionBuilder.           |
| [FilterableFormulaFieldReference](/docs/core/reference/api/type-aliases/FilterableFormulaFieldReference)           | Restricts a field reference to fields accepted by formula filter functions.        |
| [FormulaFilterComparisonOperator](/docs/core/reference/api/type-aliases/FormulaFilterComparisonOperator)           | Comparison operators supported by formula filter functions.                        |
| [FilterableLocationFieldReference](/docs/core/reference/api/type-aliases/FilterableLocationFieldReference)         | Restricts a field reference to filterable Salesforce geolocation fields.           |
| [LocationFieldReference](/docs/core/reference/api/type-aliases/LocationFieldReference)                             | Restricts a field reference to Salesforce geolocation fields.                      |
| [GroupedHavingFieldName](/docs/core/reference/api/type-aliases/GroupedHavingFieldName)                             | Field names that can be referenced directly in an aggregate HAVING clause.         |
| [HavingExpressionFactory](/docs/core/reference/api/type-aliases/HavingExpressionFactory)                           | Callback that builds a typed HAVING expression.                                    |
| [AggregateFunction](/docs/core/reference/api/type-aliases/AggregateFunction)                                       | Salesforce aggregate function names represented in the query AST.                  |
| [AggregateFunctionNode](/docs/core/reference/api/type-aliases/AggregateFunctionNode)                               | -                                                                                  |
| [AliasNode](/docs/core/reference/api/type-aliases/AliasNode)                                                       | -                                                                                  |
| [AllRowsNode](/docs/core/reference/api/type-aliases/AllRowsNode)                                                   | -                                                                                  |
| [AndNode](/docs/core/reference/api/type-aliases/AndNode)                                                           | -                                                                                  |
| [ApexAccessMode](/docs/core/reference/api/type-aliases/ApexAccessMode)                                             | Apex query access modes supported by Salesforce Database query methods.            |
| [ApexAccessModeNode](/docs/core/reference/api/type-aliases/ApexAccessModeNode)                                     | -                                                                                  |
| [ApexBindNode](/docs/core/reference/api/type-aliases/ApexBindNode)                                                 | -                                                                                  |
| [ApexAdditionNode](/docs/core/reference/api/type-aliases/ApexAdditionNode)                                         | -                                                                                  |
| [ApexBindExpressionNode](/docs/core/reference/api/type-aliases/ApexBindExpressionNode)                             | Immutable query AST node for a supported Apex bind expression.                     |
| [ApexExpressionOperandNode](/docs/core/reference/api/type-aliases/ApexExpressionOperandNode)                       | Immutable query AST node for an Apex expression operand.                           |
| [ApexQueryResultNode](/docs/core/reference/api/type-aliases/ApexQueryResultNode)                                   | -                                                                                  |
| [ApexSubstringNode](/docs/core/reference/api/type-aliases/ApexSubstringNode)                                       | -                                                                                  |
| [ApexLiteralNode](/docs/core/reference/api/type-aliases/ApexLiteralNode)                                           | -                                                                                  |
| [ApexLiteralValue](/docs/core/reference/api/type-aliases/ApexLiteralValue)                                         | Primitive literal values supported inside Apex bind expressions.                   |
| [BinaryOperationNode](/docs/core/reference/api/type-aliases/BinaryOperationNode)                                   | -                                                                                  |
| [ConvertCurrencyFunctionNode](/docs/core/reference/api/type-aliases/ConvertCurrencyFunctionNode)                   | -                                                                                  |
| [ConvertTimezoneFunctionNode](/docs/core/reference/api/type-aliases/ConvertTimezoneFunctionNode)                   | -                                                                                  |
| [DateFunction](/docs/core/reference/api/type-aliases/DateFunction)                                                 | Salesforce date and fiscal date function names supported by Kysoql.                |
| [DateFunctionArgumentNode](/docs/core/reference/api/type-aliases/DateFunctionArgumentNode)                         | Immutable query AST node for a Salesforce date-function argument.                  |
| [DateFunctionNode](/docs/core/reference/api/type-aliases/DateFunctionNode)                                         | -                                                                                  |
| [DistanceDestinationNode](/docs/core/reference/api/type-aliases/DistanceDestinationNode)                           | Immutable query AST node for the destination of a DISTANCE() expression.           |
| [DistanceFunctionNode](/docs/core/reference/api/type-aliases/DistanceFunctionNode)                                 | -                                                                                  |
| [DistanceUnit](/docs/core/reference/api/type-aliases/DistanceUnit)                                                 | Units accepted by Salesforce DISTANCE() expressions.                               |
| [FieldsFunctionNode](/docs/core/reference/api/type-aliases/FieldsFunctionNode)                                     | -                                                                                  |
| [FieldsSelector](/docs/core/reference/api/type-aliases/FieldsSelector)                                             | Selectors accepted by Salesforce FIELDS().                                         |
| [ForUpdateNode](/docs/core/reference/api/type-aliases/ForUpdateNode)                                               | -                                                                                  |
| [ForViewReferenceMode](/docs/core/reference/api/type-aliases/ForViewReferenceMode)                                 | Salesforce FOR VIEW and FOR REFERENCE query modes.                                 |
| [ForViewReferenceNode](/docs/core/reference/api/type-aliases/ForViewReferenceNode)                                 | -                                                                                  |
| [FormatFunctionNode](/docs/core/reference/api/type-aliases/FormatFunctionNode)                                     | -                                                                                  |
| [FormulaArithmeticOperator](/docs/core/reference/api/type-aliases/FormulaArithmeticOperator)                       | Arithmetic operators supported by Salesforce formula filter functions.             |
| [FormulaFunctionNode](/docs/core/reference/api/type-aliases/FormulaFunctionNode)                                   | -                                                                                  |
| [GeolocationFunctionNode](/docs/core/reference/api/type-aliases/GeolocationFunctionNode)                           | -                                                                                  |
| [AdvancedGroupByMode](/docs/core/reference/api/type-aliases/AdvancedGroupByMode)                                   | Advanced Salesforce GROUP BY modes supported by Kysoql.                            |
| [GroupByNode](/docs/core/reference/api/type-aliases/GroupByNode)                                                   | -                                                                                  |
| [HavingNode](/docs/core/reference/api/type-aliases/HavingNode)                                                     | -                                                                                  |
| [KnowledgeUpdateMode](/docs/core/reference/api/type-aliases/KnowledgeUpdateMode)                                   | Salesforce Knowledge UPDATE TRACKING and UPDATE VIEWSTAT modes.                    |
| [KnowledgeUpdateNode](/docs/core/reference/api/type-aliases/KnowledgeUpdateNode)                                   | -                                                                                  |
| [LimitNode](/docs/core/reference/api/type-aliases/LimitNode)                                                       | -                                                                                  |
| [NotNode](/docs/core/reference/api/type-aliases/NotNode)                                                           | -                                                                                  |
| [OffsetNode](/docs/core/reference/api/type-aliases/OffsetNode)                                                     | -                                                                                  |
| [ComparisonOperator](/docs/core/reference/api/type-aliases/ComparisonOperator)                                     | Union of comparison operators supported by Kysoql filters.                         |
| [EqualityComparisonOperator](/docs/core/reference/api/type-aliases/EqualityComparisonOperator)                     | SOQL equality comparison operators.                                                |
| [LikeComparisonOperator](/docs/core/reference/api/type-aliases/LikeComparisonOperator)                             | SOQL LIKE comparison operator.                                                     |
| [MultiSelectComparisonOperator](/docs/core/reference/api/type-aliases/MultiSelectComparisonOperator)               | SOQL INCLUDES and EXCLUDES operators for multi-select picklists.                   |
| [OperatorNode](/docs/core/reference/api/type-aliases/OperatorNode)                                                 | -                                                                                  |
| [OrderedComparisonOperator](/docs/core/reference/api/type-aliases/OrderedComparisonOperator)                       | SOQL ordered comparison operators.                                                 |
| [SetComparisonOperator](/docs/core/reference/api/type-aliases/SetComparisonOperator)                               | SOQL IN and NOT IN comparison operators.                                           |
| [OrNode](/docs/core/reference/api/type-aliases/OrNode)                                                             | -                                                                                  |
| [OrderByDirection](/docs/core/reference/api/type-aliases/OrderByDirection)                                         | Sort directions accepted by SOQL ORDER BY.                                         |
| [OrderByItemNode](/docs/core/reference/api/type-aliases/OrderByItemNode)                                           | -                                                                                  |
| [OrderByNulls](/docs/core/reference/api/type-aliases/OrderByNulls)                                                 | NULLS FIRST and NULLS LAST modifiers accepted by SOQL ORDER BY.                    |
| [OrderByNode](/docs/core/reference/api/type-aliases/OrderByNode)                                                   | -                                                                                  |
| [RawNode](/docs/core/reference/api/type-aliases/RawNode)                                                           | -                                                                                  |
| [RecordVisibilityContextNode](/docs/core/reference/api/type-aliases/RecordVisibilityContextNode)                   | -                                                                                  |
| [ReferenceNode](/docs/core/reference/api/type-aliases/ReferenceNode)                                               | -                                                                                  |
| [RelationshipSubqueryNode](/docs/core/reference/api/type-aliases/RelationshipSubqueryNode)                         | -                                                                                  |
| [SelectQueryNode](/docs/core/reference/api/type-aliases/SelectQueryNode)                                           | -                                                                                  |
| [SelectionNode](/docs/core/reference/api/type-aliases/SelectionNode)                                               | -                                                                                  |
| [SemiJoinSubqueryNode](/docs/core/reference/api/type-aliases/SemiJoinSubqueryNode)                                 | -                                                                                  |
| [SetOptionsNode](/docs/core/reference/api/type-aliases/SetOptionsNode)                                             | -                                                                                  |
| [SObjectNode](/docs/core/reference/api/type-aliases/SObjectNode)                                                   | -                                                                                  |
| [ToLabelFunctionNode](/docs/core/reference/api/type-aliases/ToLabelFunctionNode)                                   | -                                                                                  |
| [TypeOfNode](/docs/core/reference/api/type-aliases/TypeOfNode)                                                     | -                                                                                  |
| [UserProfileFeedWithNode](/docs/core/reference/api/type-aliases/UserProfileFeedWithNode)                           | -                                                                                  |
| [UsingScopeNode](/docs/core/reference/api/type-aliases/UsingScopeNode)                                             | -                                                                                  |
| [ValueListNode](/docs/core/reference/api/type-aliases/ValueListNode)                                               | -                                                                                  |
| [ValueNode](/docs/core/reference/api/type-aliases/ValueNode)                                                       | -                                                                                  |
| [WhereNode](/docs/core/reference/api/type-aliases/WhereNode)                                                       | -                                                                                  |
| [DataCategorySelectionNode](/docs/core/reference/api/type-aliases/DataCategorySelectionNode)                       | -                                                                                  |
| [DataCategorySelector](/docs/core/reference/api/type-aliases/DataCategorySelector)                                 | Selectors accepted by Salesforce WITH DATA CATEGORY.                               |
| [WithDataCategoryNode](/docs/core/reference/api/type-aliases/WithDataCategoryNode)                                 | -                                                                                  |
| [ApexOperandValueExpression](/docs/core/reference/api/type-aliases/ApexOperandValueExpression)                     | Value accepted where a dynamic Apex expression or literal may be used.             |
| [DataCategoryInput](/docs/core/reference/api/type-aliases/DataCategoryInput)                                       | Input accepted when adding a Salesforce WITH DATA CATEGORY filter.                 |
| [DistanceComparisonOperator](/docs/core/reference/api/type-aliases/DistanceComparisonOperator)                     | Comparison operators accepted for Salesforce DISTANCE() predicates.                |
| [RecordVisibilityContextOptions](/docs/core/reference/api/type-aliases/RecordVisibilityContextOptions)             | Options for Salesforce record-visibility context clauses.                          |
| [Data360AggregateSetOptionsFor](/docs/core/reference/api/type-aliases/Data360AggregateSetOptionsFor)               | Aggregate-query SET OPTIONS shape selected from a Salesforce object capability.    |
| [Data360SetOptionsFor](/docs/core/reference/api/type-aliases/Data360SetOptionsFor)                                 | SET OPTIONS shape selected from a Salesforce object capability.                    |
| [ApexQueryContext](/docs/core/reference/api/type-aliases/ApexQueryContext)                                         | Controls how a query is rendered for static or dynamic Apex.                       |
| [NoResultErrorConstructor](/docs/core/reference/api/type-aliases/NoResultErrorConstructor)                         | Error constructor accepted by executeTakeFirstOrThrow() when no row is returned.   |
| [SelectQueryMode](/docs/core/reference/api/type-aliases/SelectQueryMode)                                           | Tracks mutually exclusive SELECT-function and TYPEOF query modes at compile time.  |
| [SemiJoinSubqueryFactory](/docs/core/reference/api/type-aliases/SemiJoinSubqueryFactory)                           | Callback that builds a typed semi-join or anti-join subquery.                      |
| [TypeOfElseFieldList](/docs/core/reference/api/type-aliases/TypeOfElseFieldList)                                   | Field list accepted by a TYPEOF ELSE branch.                                       |
| [TypeOfFieldList](/docs/core/reference/api/type-aliases/TypeOfFieldList)                                           | Field list accepted by a TYPEOF WHEN branch.                                       |
| [SalesforceField](/docs/core/reference/api/type-aliases/SalesforceField)                                           | Describes one Salesforce field.                                                    |
| [SalesforceFieldCustom](/docs/core/reference/api/type-aliases/SalesforceFieldCustom)                               | Extracts whether a Salesforce field is custom.                                     |
| [SalesforceFieldFilterValue](/docs/core/reference/api/type-aliases/SalesforceFieldFilterValue)                     | Extracts the value type accepted when filtering a Salesforce field.                |
| [SalesforceFieldValue](/docs/core/reference/api/type-aliases/SalesforceFieldValue)                                 | Extracts the selected runtime value type for a Salesforce field.                   |
| [SalesforceObjectDataCategory](/docs/core/reference/api/type-aliases/SalesforceObjectDataCategory)                 | Extracts valid data-category values for a Salesforce object and group.             |
| [SalesforceObjectDataCategoryGroup](/docs/core/reference/api/type-aliases/SalesforceObjectDataCategoryGroup)       | Extracts the valid data-category group names for a Salesforce object type.         |
| [SalesforceObjectFieldsComplete](/docs/core/reference/api/type-aliases/SalesforceObjectFieldsComplete)             | Legacy structural schemas without this metadata retain their old behaviour.        |
| [SalesforceObjectMruEnabled](/docs/core/reference/api/type-aliases/SalesforceObjectMruEnabled)                     | Extracts whether a Salesforce object supports MRU-dependent query features.        |
| [SalesforceObjectSetOptionsCapability](/docs/core/reference/api/type-aliases/SalesforceObjectSetOptionsCapability) | Extracts the SET OPTIONS capability for a Salesforce object.                       |
| [SalesforceObjectSupportedScope](/docs/core/reference/api/type-aliases/SalesforceObjectSupportedScope)             | Extracts the USING SCOPE values supported by a Salesforce object.                  |
| [SalesforceRow](/docs/core/reference/api/type-aliases/SalesforceRow)                                               | Maps a Salesforce object schema to its full row value shape.                       |
| [SalesforceSchema](/docs/core/reference/api/type-aliases/SalesforceSchema)                                         | Base shape for a Kysoql Salesforce schema.                                         |
| [SalesforceSetOptionsCapability](/docs/core/reference/api/type-aliases/SalesforceSetOptionsCapability)             | SET OPTIONS capability recorded for a generated Salesforce object schema.          |
| [SoqlRelativeDateFamily](/docs/core/reference/api/type-aliases/SoqlRelativeDateFamily)                             | Parameterized Salesforce relative-date literal families such as LAST\_N\_DAYS.     |
| [SoqlRelativeDateValue](/docs/core/reference/api/type-aliases/SoqlRelativeDateValue)                               | Validated fixed or parameterized Salesforce relative-date literal value.           |
| [SoqlTemporalLiteral](/docs/core/reference/api/type-aliases/SoqlTemporalLiteral)                                   | Union of validated SOQL date, datetime, and time literals.                         |
| [NarrowPartial](/docs/core/reference/api/type-aliases/NarrowPartial)                                               | Narrows selected output properties without changing the generated SOQL.            |
| [NotNull](/docs/core/reference/api/type-aliases/NotNull)                                                           | Marker used by `$narrowType()` to remove null from a selected field.               |

## Variables [#variables]

| Variable                                        | Description                                                                    |
| ----------------------------------------------- | ------------------------------------------------------------------------------ |
| [soql](/docs/core/reference/api/variables/soql) | SOQL literal helpers, including the explicit unsafe raw-fragment escape hatch. |
