Skip to main content

createClientFromRequest(request): Base44Client
Creates a Base44 client from an HTTP request. This function is designed for use in Base44-hosted backend functions. For frontends and external backends, use createClient() instead. When used in a Base44-hosted backend function, createClientFromRequest() automatically extracts authentication tokens from the request headers that Base44 injects when forwarding requests. The returned client includes service role access using base44.asServiceRole, which provides admin-level permissions. To learn more about the Base44 client, see createClient().

Parameters

request
Request
required
The incoming HTTP request object containing Base44 authentication headers.

Returns

Base44Client The Base44 client instance. Provides access to all SDK modules for interacting with the app. A configured Base44 client instance with authentication from the incoming request.
agents
AgentsModule
required
Agents module for managing AI agent conversations.
analytics
AnalyticsModule
required
Analytics module for tracking custom events in your app.
appLogs
AppLogsModule
required
App logs module for tracking app usage.
auth
AuthModule
required
Auth module for user authentication and management.
entities
EntitiesModule
required
Entities module for CRUD operations on your data models.
functions
FunctionsModule
required
Functions module for invoking custom backend functions.
integrations
IntegrationsModule
required
Integrations module for calling pre-built integration endpoints.
cleanup
() => void
required
Cleanup function to disconnect WebSocket connections. Call when you’re done with the client.
asServiceRole
object
required
Provides access to supported modules with elevated permissions.Service role authentication provides elevated permissions for backend operations. Unlike user authentication, which is scoped to a specific user’s permissions, service role authentication has access to the data and operations available to the app’s admin.
agents
AgentsModule
required
Agents module with elevated permissions.
appLogs
AppLogsModule
required
App logs module with elevated permissions.
connectors
ConnectorsModule
required
Connectors module for OAuth token retrieval.
entities
EntitiesModule
required
Entities module with elevated permissions.
functions
FunctionsModule
required
Functions module with elevated permissions.
integrations
IntegrationsModule
required
Integrations module with elevated permissions.
cleanup
() => void
required
Cleanup function to disconnect WebSocket connections.

Examples

import { createClientFromRequest } from "npm:@base44/sdk";

Deno.serve(async (req) => {
  try {
    const base44 = createClientFromRequest(req);
    const user = await base44.auth.me();

    if (!user) {
      return Response.json({ error: "Unauthorized" }, { status: 401 });
    }

    // Access user's data
    const userOrders = await base44.entities.Orders.filter({ userId: user.id });
    return Response.json({ orders: userOrders });
  } catch (error) {
    return Response.json({ error: error.message }, { status: 500 });
  }
});