# Codegen API reference (/docs/codegen/api)



## Functions [#functions]

| Function                                                                         | Description                                                                            |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| [loadSchema](/docs/codegen/api/functions/loadSchema)                             | Loads and validates Salesforce object metadata, then applies configured field filters. |
| [generateSchema](/docs/codegen/api/functions/generateSchema)                     | Loads Salesforce metadata and writes the rendered TypeScript schema to disk.           |
| [defineConfig](/docs/codegen/api/functions/defineConfig)                         | Provide completion without reading files or contacting Salesforce.                     |
| [renderSchema](/docs/codegen/api/functions/renderSchema)                         | Renders Salesforce object metadata as a TypeScript Kysoql schema module.               |
| [createRestDescribeClient](/docs/codegen/api/functions/createRestDescribeClient) | Native metadata transport. No JSforce import or dependency is needed.                  |

## Interfaces [#interfaces]

| Interface                                                                                                     | Description                                                                          |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| [GenerateSchemaOptions](/docs/codegen/api/interfaces/GenerateSchemaOptions)                                   | Options for generating a TypeScript Kysoql schema from Salesforce Describe metadata. |
| [KysoqlConfig](/docs/codegen/api/interfaces/KysoqlConfig)                                                     | Schema-generation settings. Authentication is resolved explicitly.                   |
| [SalesforceChildRelationshipDescription](/docs/codegen/api/interfaces/SalesforceChildRelationshipDescription) | Child-relationship metadata required to render relationship subqueries.              |
| [SalesforceDataCategoryGroupDescription](/docs/codegen/api/interfaces/SalesforceDataCategoryGroupDescription) | Flattened data-category group stored in generated schema metadata.                   |
| [SalesforceDataCategoryGroupResponse](/docs/codegen/api/interfaces/SalesforceDataCategoryGroupResponse)       | Data-category group returned by the Salesforce metadata APIs.                        |
| [SalesforceDataCategoryGroupsResponse](/docs/codegen/api/interfaces/SalesforceDataCategoryGroupsResponse)     | Container returned when describing Salesforce data-category groups.                  |
| [SalesforceDataCategorySummaryResponse](/docs/codegen/api/interfaces/SalesforceDataCategorySummaryResponse)   | Recursive data-category entry returned by the Salesforce metadata APIs.              |
| [SalesforceDescribeClient](/docs/codegen/api/interfaces/SalesforceDescribeClient)                             | Describe client contract used by schema loading and generation.                      |
| [SalesforceFieldDescription](/docs/codegen/api/interfaces/SalesforceFieldDescription)                         | Field metadata required to render a generated Kysoql schema.                         |
| [SalesforceGlobalDescription](/docs/codegen/api/interfaces/SalesforceGlobalDescription)                       | Subset of the Salesforce global describe response consumed by code generation.       |
| [SalesforceGlobalObjectDescription](/docs/codegen/api/interfaces/SalesforceGlobalObjectDescription)           | Minimal global-describe metadata used to identify queryable Salesforce objects.      |
| [SalesforceObjectDescription](/docs/codegen/api/interfaces/SalesforceObjectDescription)                       | Salesforce object metadata consumed by the schema renderer.                          |
| [SalesforcePicklistValue](/docs/codegen/api/interfaces/SalesforcePicklistValue)                               | Picklist value metadata consumed by schema generation.                               |
| [SalesforceSupportedScopeDescription](/docs/codegen/api/interfaces/SalesforceSupportedScopeDescription)       | Supported Salesforce USING SCOPE metadata for an object.                             |

## Type Aliases [#type-aliases]

| Type Alias                                                                      | Description                                                         |
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| [ObjectFieldFilter](/docs/codegen/api/type-aliases/ObjectFieldFilter)           | Exact field API names; include and exclude are mutually exclusive.  |
| [ObjectFieldFilters](/docs/codegen/api/type-aliases/ObjectFieldFilters)         | Rules do not add objects to the generation set.                     |
| [SalesforceAuthProvider](/docs/codegen/api/type-aliases/SalesforceAuthProvider) | Resolve a fresh Salesforce OAuth session for CLI schema generation. |
