> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Base44 SDK クイックリファレンス

> すべての SDK モジュールのコンパクトなメソッドシグネチャ。コードを書く前にこれと照合してください。

<Warning>
  このページは AI コーディングエージェントスキルの一部で、人間ではなくエージェント向けに書かれています。人間向けの Base44 ドキュメントは [デベロッパードキュメント](/developers) を参照してください。
</Warning>

# Base44 SDK クイックリファレンス

すべての SDK モジュールのコンパクトなメソッドシグネチャ。**コードを書く前にこれと照合してください。**

***

## Auth (`base44.auth.*`)

```
loginViaEmailPassword(email, password, turnstileToken?) → Promise<{access_token, user}>
loginWithProvider('google' | 'microsoft' | 'facebook', fromUrl?) → void
me() → Promise<User | null>
updateMe(data) → Promise<User>
isAuthenticated() → Promise<boolean>
logout(redirectUrl?) → void
redirectToLogin(nextUrl) → void              # ⚠️ Avoid - prefer custom login UI
register({email, password, turnstile_token?, referral_code?}) → Promise<any>
verifyOtp({email, otpCode}) → Promise<any>
resendOtp(email) → Promise<any>
inviteUser(userEmail, role) → Promise<any>
resetPasswordRequest(email) → Promise<any>
resetPassword({resetToken, newPassword}) → Promise<any>
changePassword({userId, currentPassword, newPassword}) → Promise<any>
setToken(token, saveToStorage?) → void
```

***

## Entities (`base44.entities.EntityName.*`)

```
create(data) → Promise<T>
bulkCreate(dataArray) → Promise<T[]>
list(sort?, limit?, skip?, fields?) → Promise<Pick<T, K>[]>
filter(query, sort?, limit?, skip?, fields?) → Promise<Pick<T, K>[]>
get(id) → Promise<T>
update(id, data) → Promise<T>
updateMany(query, mongoUpdateOp) → Promise<UpdateManyResult>   // e.g. { $set: { field: val } }
bulkUpdate(dataArray) → Promise<T[]>                           // each item must have id
delete(id) → Promise<DeleteResult>
deleteMany(query) → Promise<DeleteManyResult>
importEntities(file) → Promise<ImportResult<T>>                // frontend only
subscribe(callback) → () => void                               // returns unsubscribe fn
```

**Sort:** `SortField<T>` を使用: 降順は `-fieldName` (例: `-created_date`)。list/filter でリクエストあたり最大 5,000 件。

***

## Functions (`base44.functions.*`)

```
invoke(functionName, data?) → Promise<AxiosResponse>  // your JSON is on .data; throws on non-2xx (err.response.data)
fetch(path, init?) → Promise<Response>   // low-level, for streaming/custom methods
```

**バックエンド:** 管理者アクセスには `base44.asServiceRole.functions.invoke()` を使用します。

***

## Integrations (`base44.integrations.Core.*`)

```
InvokeLLM({prompt, add_context_from_internet?, response_json_schema?, file_urls?}) → Promise<string | object>
GenerateImage({prompt}) → Promise<{url}>
SendEmail({to, subject, body, from_name?}) → Promise<any>
UploadFile({file}) → Promise<{file_url}>
UploadPrivateFile({file}) → Promise<{file_uri}>
CreateFileSignedUrl({file_uri, expires_in?}) → Promise<{signed_url}>
ExtractDataFromUploadedFile({file_url, json_schema}) → Promise<object>
```

### カスタムインテグレーション (`base44.integrations.custom.*`)

```
call(slug, operationId, {payload?, pathParams?, queryParams?}?) → Promise<{success, status_code, data}>
```

**operationId 形式:** `"method:/path"` (例: `"get:/contacts"`, `"post:/users/{id}"`)

***

## Analytics (`base44.analytics.*`)

```
track({eventName, properties?}) → void
```

***

## App Logs (`base44.appLogs.*`)

```
logUserInApp(pageName) → Promise<void>
fetchLogs(params?) → Promise<any>
getStats(params?) → Promise<any>
```

***

## Users (`base44.users.*`)

```
inviteUser(userEmail, role) → Promise<any>    // role: 'user' | 'admin'
```

***

## サービスロールコネクタ (`base44.asServiceRole.connectors.*`)

**バックエンドのみ、サービスロール必須。** アプリスコープ (共有アカウント)。

```
getConnection(integrationType) → Promise<{accessToken, connectionConfig}>   // recommended
getAccessToken(integrationType) → Promise<string>                           // deprecated
```

**タイプ:** 利用可能なすべてのインテグレーションタイプを見るには `npx base44 connectors list-available` を実行してください。

***

## SSO (`base44.asServiceRole.sso.*`)

**バックエンドのみ、サービスロール必須。**

```
getAccessToken(userId) → Promise<{access_token}>
```

***

## サービスロールアクセス

**バックエンド関数のみ。** 任意のモジュールに `asServiceRole` を付けて管理者アクセス:

```javascript theme={null}
base44.asServiceRole.entities.Task.list()
base44.asServiceRole.functions.invoke('name', data)
base44.asServiceRole.connectors.getConnection('slack')
base44.asServiceRole.sso.getAccessToken(userId)
```

***

## バックエンド関数テンプレート

```javascript theme={null}
import { createClientFromRequest } from "@base44/sdk";

Deno.serve(async (req) => {
  const base44 = createClientFromRequest(req);
  const data = await req.json();
  
  // User context
  const user = await base44.auth.me();
  
  // Service role for admin operations
  const allRecords = await base44.asServiceRole.entities.Task.list();
  
  return Response.json({ success: true });
});
```

***

## クライアント初期化 (外部アプリ)

```javascript theme={null}
import { createClient } from "@base44/sdk";

const base44 = createClient({ appId: "your-app-id" });  // MUST use 'appId'
```

***

## TypeScript 型レジストリ

型付きエンティティ、関数名、エージェント名 (オートコンプリートと型チェック) のために、Base44 CLI は型を生成してプロジェクトに配線します。型の生成方法については、**base44-cli** スキルを使用してください。

<Note>このページは AI を使用して翻訳されました。最も正確で最新の情報については、[英語版](/) を参照してください。 </Note>
