このバージョンの GitHub Enterprise サーバーはこの日付をもって終了となります: 2026-03-17. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise サーバーにアップグレードしてください。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせください。
Git BLOB の REST API エンドポイント
REST API を使用し、リポジトリ内の各ファイルのコンテンツを格納するために使われるオブジェクトの種類である Git BLOB (バイナリ ラージ オブジェクト) を操作します。
Git BLOB について
Git blob (バイナリラージオブジェクト) は、各ファイルのコンテンツをリポジトリに保存する際に使用されるオブジェクトタイプです。 ファイルの SHA-1 ハッシュが計算され、blob オブジェクトに保存されます。 これらのエンドポイントを使うと、GitHub 上の Git データベースの BLOB オブジェクトを読み書きできます。 BLOB では、これらのカスタム メディアの種類が利用されます。 API で使用するメディア タイプに関する詳細は、「REST API を使用した作業の開始」を参照してください。
Create a blob
"Create a blob" のきめ細かいアクセス トークン
このエンドポイントは、次の粒度の細かいトークンの種類で動作します:
粒度の細かいトークンには次のアクセス許可セットが設定されている必要があります:
- "Contents" repository permissions (write)
 
"Create a blob" のパラメーター
| 名前, Type, 説明 | 
|---|
accept string Setting to   | 
| 名前, Type, 説明 | 
|---|
owner string 必須The account owner of the repository. The name is not case sensitive.  | 
repo string 必須The name of the repository without the   | 
| 名前, Type, 説明 | 
|---|
content string 必須The new blob's content.  | 
encoding string The encoding used for  Default:   | 
"Create a blob" の HTTP 応答状態コード
| 状態コード | 説明 | 
|---|---|
201 | Created  | 
403 | Forbidden  | 
404 | Resource not found  | 
409 | Conflict  | 
422 | Validation failed  | 
"Create a blob" のコード サンプル
要求の例
curl -L \
  -X POST \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/git/blobs \
  -d '{"content":"Content of the blob","encoding":"utf-8"}'Response
Status: 201{
  "url": "https://HOSTNAME/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15",
  "sha": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15"
}Get a blob
The content in the response will always be Base64 encoded.
This endpoint supports the following custom media types. For more information, see "Media types."
application/vnd.github.raw+json: Returns the raw blob data.application/vnd.github+json: Returns a JSON representation of the blob withcontentas a base64 encoded string. This is the default if no media type is specified.
Note This endpoint supports blobs up to 100 megabytes in size.
"Get a blob" のきめ細かいアクセス トークン
このエンドポイントは、次の粒度の細かいトークンの種類で動作します:
粒度の細かいトークンには次のアクセス許可セットが設定されている必要があります:
- "Contents" repository permissions (read)
 
このエンドポイントは、パブリック リソースのみが要求される場合は、認証または前述メンションアクセス許可なしで使用できます。
"Get a blob" のパラメーター
| 名前, Type, 説明 | 
|---|
accept string Setting to   | 
| 名前, Type, 説明 | 
|---|
owner string 必須The account owner of the repository. The name is not case sensitive.  | 
repo string 必須The name of the repository without the   | 
file_sha string 必須 | 
"Get a blob" の HTTP 応答状態コード
| 状態コード | 説明 | 
|---|---|
200 | OK  | 
403 | Forbidden  | 
404 | Resource not found  | 
409 | Conflict  | 
422 | Validation failed, or the endpoint has been spammed.  | 
"Get a blob" のコード サンプル
要求の例
curl -L \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/git/blobs/FILE_SHAResponse
Status: 200{
  "content": "Q29udGVudCBvZiB0aGUgYmxvYg==",
  "encoding": "base64",
  "url": "https://HOSTNAME/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15",
  "sha": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15",
  "size": 19,
  "node_id": "Q29udGVudCBvZiB0aGUgYmxvYg=="
}