Skip to main content
This page is part of an AI coding agent skill and is written for agents, not humans. For the human-readable Base44 docs, see the developer documentation.

Base44 SDK Quick Reference

Compact method signatures for all SDK modules. Verify against this before writing code.

Auth (base44.auth.*)


Entities (base44.entities.EntityName.*)

Sort: Use SortField<T>: -fieldName for descending (e.g., -created_date). Legacy list/filter max 5,000 per request. Query operators (filter/count/deleteMany/updateMany/aggregate’s query): $eq $ne $gt $gte $lt $lte $in $nin $exists (any field), $regex (string), $all $size (array), $not (negate), $and $or $nor (root-level combinators). A plain array value means “any of”.

Functions (base44.functions.*)

Backend: Use base44.asServiceRole.functions.invoke() for admin access.

Integrations (base44.integrations.Core.*)

Also available as base44.asServiceRole.integrations.* with elevated permissions. AI surface: single call, no tools → InvokeLLM; chat product for users → base44.agents; task-with-tools agent (code) → aiGateway; one default image → GenerateImage; simple text-to-video → GenerateVideo; multiple/configured/edited images or advanced video → aiGateway; text-to-speech → browser/Core/gateway selection; classify/score/route → aiGateway Jev (see below).

AI Gateway (base44.asServiceRole.aiGateway.*)

  • openai (default): chat completions for code agents (model automatic by default), images.generate / images.edit, async videos.create / videos.retrieve (specific model required), and audio.speech.create (completed audio bytes; see speech guide).
  • typesafe: experimental_evaluate (ai 7.0.105+) with typesafe.evaluationModel("jev") for classify/score/route decisions.
  • Set maxRetries: 0 on image, video, speech, and evaluation calls. See ai-gateway.md.

Custom Integrations (base44.integrations.custom.*)

operationId format: "method:/path" (e.g., "get:/contacts", "post:/users/{id}")

Payments (base44.payments.*)

Backend (base44.asServiceRole.payments.*) — only place checkouts can be created:
One provider per app: Stripe (redirect+embedded, refunds, cancel now/period-end, pause/resume) | PayPal (embedded only, refunds, cancel now only, pause/resume) | Base44 Payments/Wix (redirect only, no refunds/subscription actions). See payments.md.

Voice (base44.asServiceRole.voice.*)

Backend only, beta.
Browser creates a WebRTC SDP offer and posts it to a backend function; createSession() returns the SDP answer. Audio flows directly between browser and model — your backend never touches it. See voice.md.

Browser (base44.asServiceRole.browser.*)

Backend only.
Remote CDP browser session for Playwright/Puppeteer automation. Billed by the minute; always call end()/endSession(). See browser.md.

App (base44.app.*)

Throws (403) with data.extra_data.reason of auth_required or user_not_registered when the visitor can’t access the app. See app.md.

User Connectors (base44.connectors.*)

Frontend, per-app-user OAuth (keyed by connector ID, not integration type):
Retrieve the resulting per-user token from a backend function with asServiceRole.connectors.getCurrentAppUserConnection(connectorId).

Analytics (base44.analytics.*)


App Logs (base44.appLogs.*)


Users (base44.users.*)


Service Role Connectors (base44.asServiceRole.connectors.*)

Backend only, service role required.
Types: Run npx base44 connectors list-available to see all available integration types. See connectors.md.

SSO (base44.asServiceRole.sso.*)

Backend only, service role required.
getIdToken returns the current app user’s OIDC ID token as a raw string, and the service-role client must act on behalf of the same user.

Service Role Access

Backend functions only. Prefix any module with asServiceRole for admin access:

Backend Function Template


Client Initialization (External Apps)


TypeScript type registries

For typed entities, function names, and agent names (autocomplete and type checking), the Base44 CLI generates types and wires them into your project. Use the base44-cli skill for how to generate types.