# Puntos de conexión de la API de REST para blobs de Git

Usa la API de REST para interactuar con un blob de Git (objeto binario grande), el tipo de objeto que se usa para almacenar el contenido de cada archivo en un repositorio.

## Acerca de los blobs de Git

Un blob (objeto binario grande, por sus siglas en inglés) de Git es el tipo de objeto que se utiliza para almacenar el contenido de cada archivo en un repositorio. El hash SHA-1 del archivo se calcula y almacena en el objeto del blob. Estos puntos finales te permiten leer y escribir [objetos blob](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects) en tu base de datos de Git en GitHub. Los blobs aprovechan los tipos de medios personalizados. Para obtener más información sobre el uso de tipos de multimedia en la API, consulta [Introducción a la API REST](/es/enterprise-server@3.22/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types).

> \[!NOTE]
> Most endpoints use `Authorization: Bearer <YOUR-TOKEN>` and `Accept: application/vnd.github+json` headers, plus `X-GitHub-Api-Version: 2026-03-10`. Curl examples below omit these standard headers for brevity.

## Create a blob

```
POST /repos/{owner}/{repo}/git/blobs
```

### Parameters

#### Headers

* **`accept`** (string)
  Setting to `application/vnd.github+json` is recommended.

#### Path and query parameters

* **`owner`** (string) (required)
  The account owner of the repository. The name is not case sensitive.

* **`repo`** (string) (required)
  The name of the repository without the .git extension. The name is not case sensitive.

#### Body parameters

* **`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`

### HTTP response status codes

* **201** - Created

* **403** - Forbidden

* **404** - Resource not found

* **409** - Conflict

* **422** - Validation failed

### Code examples

#### Example

**Request:**

```curl
curl -L \
  -X POST \
  http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/git/blobs \
  -d '{
  "content": "Content of the blob",
  "encoding": "utf-8"
}'
```

**Response schema (Status: 201):**

* `url`: required, string
* `sha`: required, string

## Get a blob

```
GET /repos/{owner}/{repo}/git/blobs/{file_sha}
```

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.

### Parameters

#### Headers

* **`accept`** (string)
  Setting to `application/vnd.github+json` is recommended.

#### Path and query parameters

* **`owner`** (string) (required)
  The account owner of the repository. The name is not case sensitive.

* **`repo`** (string) (required)
  The name of the repository without the .git extension. The name is not case sensitive.

* **`file_sha`** (string) (required)

### HTTP response status codes

* **200** - OK

* **403** - Forbidden

* **404** - Resource not found

* **409** - Conflict

* **422** - Validation failed, or the endpoint has been spammed.

### Code examples

#### Example

**Request:**

```curl
curl -L \
  -X GET \
  http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/git/blobs/FILE_SHA
```

**Response schema (Status: 200):**

* `content`: required, string
* `encoding`: required, string
* `url`: required, string, format: uri
* `sha`: required, string
* `size`: required, integer or null
* `node_id`: required, string
* `highlighted_content`: string