---
title: 最初のリクエスト
description: "新しいアクセストークンからレコードの 1 ページまで。権限を読み、オブジェクトを見つけ、一覧する。そして最初に出る 4 つの拒否を見分けます。"
---

リクエストは 3 つです。[クライアントの接続](/ja/guides/start/connect-a-client)で得たアクセストークンが必要で、以下のパスはすべて `/api/v1` を基準にしています。

## 1. 権限を読む

```http
GET /api/v1/capabilities
Authorization: Bearer <token>
```

```json
{
  "actions": ["objects.read", "records.read", "records.write"],
  "features": { "api": true, "cpq": true, "approvals": false },
  "revision": 7
}
```

**探りを入れるのではなく、ここから始めてください。** `actions` は存在する 21 個のうち、このトークンとこのメンバーが実際に許可されているものです。`features` は 8 つのモジュールの有効・無効の状態です。`revision` はモジュールポリシーのリビジョンなので、設定が変わったのかレコードが変わったのかを区別できます。

エンドポイント自身の説明が端的に述べています。拒否から権限を推測するのではなく、これをポーリングしてください。`403` は何かがおかしいことを伝えますが、`capabilities` は何を持っているかを伝えます。

## 2. オブジェクトを見つける

```http
GET /api/v1/objects
```

各エントリは `key`、`label`、`kind`、所有する `moduleKey`、`revision` を持ちます。

予期すべきことが 2 つあります。**一覧はあなたのアクセス権でフィルターされます** — オブジェクトを読めないメンバーにはそれが見えないため、これはワークスペースの完全なスキーマではありません。そして**標準オブジェクトは設置されるまで存在しません**。[`POST /bootstrap`](/ja/reference/crm/post-api-v1-bootstrap) が有効なモジュールの所有するものを作成します。まだ誰も設定していないワークスペースでは、この一覧は誤りではなく空です。

照合は `key` で行ってください（`account`、`lead`、`opportunity`）。ラベルは表示用の文字列なので日本語です。

## 3. そのレコードを一覧する

```http
GET /api/v1/objects/{objectId}/records?limit=10
```

```json
{
  "items": [{ "id": "…", "name": "…", "revision": 3, "values": {} }],
  "nextCursor": "…",
  "total": 42
}
```

`limit` は 1 から 100 で既定は 50 です。次のページには `nextCursor` を `after` として渡し、`null` になったら終了します。

**`total` は最初のページでのみ数えられます。** 以降のページは `total: null` を返します。表示したい場合は最初のページの値を保持してください。

最小限はこれで全部です。並び順、ビュー、フィルター、関連レコードはすべて任意で、[ビュー・並び順・ページネーション](/ja/guides/concepts/views-and-pagination)が拒否される 4 つのパラメータの組み合わせを含めて扱います。

## 最初に出る 4 つの拒否

| 拒否 | 意味 | どうするか |
| --- | --- | --- |
| `workspace_session_required` | Web アプリケーションのトランスポート `/api/v1/workspace/…` を呼びました。設計上ベアラートークンを拒否します | [リファレンス](/ja/reference)にあるパスを使ってください |
| `permission_required` | トークンのスコープかメンバーの役割がそのアクションを許可していません | `capabilities` を読んでください。欲しいアクションが `actions` にありません |
| `feature_disabled` | そのエンドポイントのモジュールがこのワークスペースで無効です | `capabilities` を読んでください。`features` でそのモジュールが `false` です |
| オブジェクト一覧が空 | 誰も `POST /bootstrap` を実行していません | 標準オブジェクトを設置するか、管理者に依頼してください |

前の 3 つは同じ間違いの 3 つの形です。`capabilities` を先に読む代わりに、何ができるかを API に尋ねているということです。

`401` は種類が違います。トークンが欠けている・不正・失効しているということで、リクエストを変えるのではなく新しいトークンを得るのが答えです。[エラー](/ja/guides/errors)が拒否の形と、再試行の価値があるものを扱います。
