Skip to content
Scalekit Docs
Talk to an EngineerDashboard

Error handling

Catch Scalekit exceptions from AgentKit calls and handle not-found, auth, and server failures

AgentKit methods on scalekit.actions and scalekit.tools throw typed exceptions when the API returns an error. Catch the specific type first, then fall back to the base server exception.

import {
ScalekitNotFoundException,
ScalekitUnauthorizedException,
ScalekitForbiddenException,
ScalekitServerException,
} from '@scalekit-sdk/node'
try {
const account = await scalekit.actions.getConnectedAccount({
connectionName: 'gmail',
identifier: 'user@example.com',
})
} catch (err) {
if (err instanceof ScalekitNotFoundException) {
// No connected account yet — create one or send the user through OAuth
} else if (err instanceof ScalekitUnauthorizedException) {
// Invalid or expired client credentials / tokens
} else if (err instanceof ScalekitForbiddenException) {
// Caller is authenticated but not allowed for this resource
} else if (err instanceof ScalekitServerException) {
// Unexpected API or platform error — log status and code
console.error(err.message)
} else {
throw err
}
}
ExceptionWhen it is raisedTypical response
ScalekitNotFoundExceptionResource does not exist (connected account, tool, config)Create the resource or return a clear not-found to the user
ScalekitUnauthorizedExceptionMissing or invalid credentialsRefresh tokens or fix client ID/secret
ScalekitForbiddenExceptionAuthenticated but not permittedAdjust scopes, org, or role
ScalekitServerExceptionBase class for Scalekit HTTP/API failuresLog, retry when safe, surface a generic error

ScalekitServerException is the base type. Prefer checking subclasses first so not-found and auth failures get the right UX.