# REST API reference (/docs/rest/api)



## Functions [#functions]

| Function                                                                                | Description                                                                                       |
| --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| [createRestClient](/docs/rest/api/functions/createRestClient)                           | Creates an authenticated Salesforce REST client with optional token refresh retry.                |
| [createRestExecutor](/docs/rest/api/functions/createRestExecutor)                       | Creates a Kysoql query executor around a RestClient.                                              |
| [authenticateClientCredentials](/docs/rest/api/functions/authenticateClientCredentials) | One token exchange. Configure the OAuth application in Salesforce first.                          |
| [refreshAccessToken](/docs/rest/api/functions/refreshAccessToken)                       | One refresh exchange. Interactive authorisation and secure token storage stay in the application. |

## Classes [#classes]

| Class                                                                         | Description                                                                     |
| ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| [SalesforceOAuthError](/docs/rest/api/classes/SalesforceOAuthError)           | Thrown when a Salesforce OAuth token request fails.                             |
| [SalesforceQueryLimitError](/docs/rest/api/classes/SalesforceQueryLimitError) | Thrown when configured pagination limits are exceeded before a query completes. |
| [SalesforceResponseError](/docs/rest/api/classes/SalesforceResponseError)     | Thrown when Salesforce returns a response that cannot be validated.             |
| [SalesforceRestError](/docs/rest/api/classes/SalesforceRestError)             | Structured API errors. Details may contain org data; do not log them blindly.   |

## Interfaces [#interfaces]

| Interface                                                                        | Description                                                                       |
| -------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| [RestClient](/docs/rest/api/interfaces/RestClient)                               | Minimal authenticated Salesforce REST client used by the query executor.          |
| [RestClientOptions](/docs/rest/api/interfaces/RestClientOptions)                 | Connection, authentication, and transport options for the Salesforce REST client. |
| [RestGetOptions](/docs/rest/api/interfaces/RestGetOptions)                       | Options for one authenticated Salesforce REST GET request.                        |
| [SalesforceRestErrorDetail](/docs/rest/api/interfaces/SalesforceRestErrorDetail) | Structured error detail returned by Salesforce REST endpoints.                    |
| [RestExecutor](/docs/rest/api/interfaces/RestExecutor)                           | Query executor backed by the Salesforce REST API.                                 |
| [RestPaginationOptions](/docs/rest/api/interfaces/RestPaginationOptions)         | Safety limits applied while following Salesforce query pagination.                |
| [RestQueryOptions](/docs/rest/api/interfaces/RestQueryOptions)                   | Execution options for a Salesforce REST query.                                    |
| [RestQueryPage](/docs/rest/api/interfaces/RestQueryPage)                         | Validated page returned by a Salesforce REST query request.                       |
| [HttpOptions](/docs/rest/api/interfaces/HttpOptions)                             | REST request options plus an injectable fetch implementation.                     |
| [RestRequestOptions](/docs/rest/api/interfaces/RestRequestOptions)               | Abort and timeout options shared by Salesforce REST operations.                   |
| [ClientCredentialsOptions](/docs/rest/api/interfaces/ClientCredentialsOptions)   | Options for the Salesforce client-credentials grant in the REST package.          |
| [RefreshTokenOptions](/docs/rest/api/interfaces/RefreshTokenOptions)             | Options for the Salesforce refresh-token grant in the REST package.               |
| [SalesforceOAuthSession](/docs/rest/api/interfaces/SalesforceOAuthSession)       | Access-token and instance metadata returned by the REST package OAuth helpers.    |

## Type Aliases [#type-aliases]

| Type Alias                                                             | Description                                                                       |
| ---------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| [AccessTokenProvider](/docs/rest/api/type-aliases/AccessTokenProvider) | Provides a Salesforce access token and can be asked to force a refresh after 401. |

## Variables [#variables]

| Variable                                                              | Description                                                                 |
| --------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| [DEFAULT\_API\_VERSION](/docs/rest/api/variables/DEFAULT_API_VERSION) | Deliberately pinned, not auto-upgraded when Salesforce publishes a release. |
