> For the complete documentation index, see [llms.txt](https://support.iafcertsearch.org/api-developer-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.iafcertsearch.org/api-developer-guide/api-ja/api-integration/requests.md).

# リクエスト

### リクエストの作成

#### ホスト

Web API v1 のリクエストのホストは常に `https://api.iafcertsearch.org/api/client/v1` です。

{% hint style="info" %}
すべてのリクエストは HTTPS 経由で行う必要があります。API は HTTP をサポートしていません。
{% endhint %}

#### 認証ヘッダー

[Authentication](https://github.com/QualityTrade/iaf-docs-api-developer-guide-ja/blob/main/api-integration/broken-reference/README.md) で説明されているように、認証ヘッダーを提供する必要があります。

#### HTTP メソッド

* `GET` リソースまたは複数のリソースを取得します。
* `POST` 新しいリソースを作成します。
* `PUT` 既存のリソースを更新します。
* `DELETE` 既存のリソースを削除します。
* `OPTIONS` 特定のリソースに対する許可されたメソッドを表示します。

#### Accept ヘッダー

API は JSON レスポンスを提供します。現時点では accept ヘッダーは必要ありませんが、将来的に必要になるかもしれません。設定されていない場合、API は `application/json` を使用します。

```http
GET https://api.iafcertsearch.org/api/client/v1/endpoint HTTP/1.1
Accept: application/json
```

#### データの配列

`GET` リクエストでデータの配列を送信する場合、パラメータは URL 上で複数回指定する必要があります。パラメータ名には角括弧は不要です。

```http
GET https://api.iafcertsearch.org/api/client/v1/endpoint?parameter=data1&parameter=data2 HTTP/1.1
```

### リクエストのフォーマット

#### リクエストボディ

`POST` や `PUT` を介してリソースにデータを送信する場合、ペイロードを JSON 形式で送信する必要があります。

```http
POST https://api.iafcertsearch.org/api/client/v1/example/ HTTP/1.1
Content-Type: application/json
```

```json
{
  "name": "新しい例の名前"
}
```

#### ページネーション

一部の `GET` リソースでは、情報の一括取得が可能です。詳細なクエリパラメータはリソースのドキュメントで提供されます。

複数のアイテムをリクエストする場合、リクエストの `limit` はデフォルトで `20` アイテムに設定されます。必要に応じて、`limit` パラメータを使用して異なる制限を指定することができます。`limit` パラメータで受け付けることができる最大値は `100` です。

以下は、`limit=100` と `offset=0` パラメータで最初の 100 件のレコードを取得する API リクエストの例です。

次のバッチのレコードを取得するには、offset パラメータを `1` 増やします。

```http
GET https://api.iafcertsearch.org/api/client/v1/resource?limit=100&offset=0 HTTP/1.1
```

### 成功したリクエスト

| **メソッド** | **リソースオブジェクトの返却**                   |
| -------- | ----------------------------------- |
| GET      | 単一のリソースオブジェクトまたはリソースオブジェクトの配列が返されます |
| PATCH    | 更新されたリソースオブジェクトが返されます               |
| PUT      | 更新されたリソースオブジェクトが返されます               |
| DELETE   | コンテンツは返されません                        |
| POST     | 新しく作成されたリソースオブジェクトが返されます            |
