Git Blobs

A Git blob (binary large object) is the object type used to store the contents of each file in a repository. The file's SHA-1 hash is computed and stored in the blob object. These endpoints allow you to read and write blob objects to your Git database on GitHub. See the Git Database API for more details. Blobs leverage these custom media types. You can read more about the use of media types in the API here.

Get a blob

GET /repos/:owner/:repo/git/blobs/:file_sha

The content in the response will always be Base64 encoded.

Note: This API supports blobs up to 100 megabytes in size.

Response

Status: 200 OK
{
  "content": "Q29udGVudCBvZiB0aGUgYmxvYg==\n",
  "encoding": "base64",
  "url": "https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15",
  "sha": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15",
  "size": 19
}

Create a blob

POST /repos/:owner/:repo/git/blobs

Parameters

Name Type Description
content string Required. The new blob's content.
encoding string The encoding used for content. Currently, "utf-8" and "base64" are supported. Default: "utf-8".

Example input

{
  "content": "Content of the blob",
  "encoding": "utf-8"
}

Response

Status: 201 Created
Location: https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15
{
  "url": "https://api.github.com/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15",
  "sha": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15"
}

Custom media types

These are the supported media types for blobs. You can read more about the use of media types in the API here.

application/json
application/vnd.github.VERSION.raw