Skip to main content

createClientFromRequest(request): Base44Client
Creates a Base44 client from an HTTP request. The client is created by automatically extracting authentication tokens from a request to a backend function. Base44 inserts the necessary headers when forwarding requests to backend functions. 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.
entities
EntitiesModule
required
Entities module for CRUD operations on your data models.
integrations
IntegrationsModule
required
Integrations module for calling pre-built integration endpoints.
auth
AuthModule
required
Auth module for user authentication and management.
functions
FunctionsModule
required
Functions module for invoking custom backend functions.
agents
AgentsModule
required
Agents module for managing AI agent conversations.
appLogs
AppLogsModule
required
App logs module for tracking app usage.
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 data and operations across all users.
entities
EntitiesModule
required
Entities module with elevated permissions.
integrations
IntegrationsModule
required
Integrations module with elevated permissions.
connectors
ConnectorsModule
required
Connectors module for OAuth token retrieval.
functions
FunctionsModule
required
Functions module with elevated permissions.
agents
AgentsModule
required
Agents module with elevated permissions.
appLogs
AppLogsModule
required
App logs 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 });
  }
});