Blobs

Blobs leverage these custom media types. You can read more about the use of media types in the API here.

Note: To help with migrating from our REST API v3 to GraphQL API v4, we're introducing a preview period to include the GraphQL node_id in the response for many REST API v3 resources. See the blog post for full details. To access node_id during the preview period, you must provide a custom media type in the Accept header:

application/vnd.github.jean-grey-preview+json

Warning: The API may change without advance notice during the preview period. Preview features are not supported for production use. If you experience any issues, contact GitHub support.

Get a Blob

GET /repos/:owner/:repo/git/blobs/: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