Skip to main content

Enterprise Server 3.21 está disponível no momento como versão candidata a lançamento.

A API REST agora é versionada. Para obter mais informações, confira "Sobre o controle de versão da API".

Pontos de extremidade da API REST para blobs Git

Use a API REST para interagir com um Git blob (objeto binário grande), o tipo de objeto usado para armazenar o conteúdo de cada arquivo em um repositório.

Sobre blobs do Git

Um blob (objeto binário grande) do Git é o tipo de objeto usado para armazenar o conteúdo de cada arquivo em um repositório. O hash SHA-1 do arquivo é calculado e armazenado no objeto do blob. Esses pontos de extremidade permitem que você leia e grave objetos de blob no seu banco de dados Git no GitHub. Blobs utilizam tipos de mídia personalizados. Para obter mais informações sobre o uso de tipos de mídiana API, confira Introdução à API REST.

Create a blob

Fine-grained access tokens for "Create a blob"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Contents" repository permissions (write)

Parâmetros para "Create a blob"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
owner string Obrigatório

The account owner of the repository. The name is not case sensitive.

repo string Obrigatório

The name of the repository without the .git extension. The name is not case sensitive.

Parâmetros do corpo
Nome, Tipo, Descrição
content string Obrigatório

The new blob's content.

encoding string

The encoding used for content. Currently, "utf-8" and "base64" are supported.

Padrão: utf-8

HTTP response status codes for "Create a blob"

Status codeDescrição
201

Created

403

Forbidden

404

Resource not found

409

Conflict

422

Validation failed

Code samples for "Create a blob"

Request example

post/repos/{owner}/{repo}/git/blobs
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ 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 with content as 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.

Fine-grained access tokens for "Get a blob"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Contents" repository permissions (read)

This endpoint can be used without authentication or the aforementioned permissions if only public resources are requested.

Parâmetros para "Get a blob"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
owner string Obrigatório

The account owner of the repository. The name is not case sensitive.

repo string Obrigatório

The name of the repository without the .git extension. The name is not case sensitive.

file_sha string Obrigatório

HTTP response status codes for "Get a blob"

Status codeDescrição
200

OK

403

Forbidden

404

Resource not found

409

Conflict

422

Validation failed, or the endpoint has been spammed.

Code samples for "Get a blob"

Request example

get/repos/{owner}/{repo}/git/blobs/{file_sha}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/git/blobs/FILE_SHA

Response

Status: 200
{ "content": "Q29udGVudCBvZiB0aGUgYmxvYg==", "encoding": "base64", "url": "https://HOSTNAME/repos/octocat/example/git/blobs/3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", "sha": "3a0f86fb8db8eea7ccbb9a95f325ddbedfb25e15", "size": 19, "node_id": "Q29udGVudCBvZiB0aGUgYmxvYg==" }