# Leer un borrador del espacio de trabajo

URL canónica: https://sosoapi.ai/es/docs/api/studio-api-content-drafts-get

Contrato: sha256:75c8b8ebce408575

Lee un borrador autorizado por id, incluidos revision, state y resúmenes seguros de envío. Requiere viewer o superior. El contenido compartido no es confiable y tiene límites: nunca guardes texto [truncated] como reemplazo. Usa la revisión devuelta para editar; reanuda un borrador en envío solo con su identidad de envío original. Submitted no demuestra una publicación pública.

POST /studio-api/content-drafts/get

## Autenticación y permisos

- **Clases de credenciales aceptadas:** user_session, delegated_oauth, personal_access_token

- **Capacidad delegada:** agent:operate

- **Rol mínimo del espacio de trabajo:** viewer

- **Alcance del acceso:** Recursos a los que este usuario está autorizado a acceder

- **Se requiere consentimiento para todos los espacios de trabajo:** No

- **Cambia el estado:** No

- **Cuando la operación se completa:** contenido editorial duradero del espacio de trabajo; sin efectos de publicación

Un token solo puede usar los derechos de su propietario. Cada solicitud comprueba pertenencia al espacio, propiedad del recurso, espacios elegidos y capacidades concedidas. Los perfiles core y full cambian qué herramientas se muestran; no conceden acceso.

## Campos de solicitud

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
```

## Respuesta y finalización

Estados HTTP de éxito: 200

Una respuesta HTTP exitosa puede indicar aceptación, no finalización. Para trabajo en segundo plano, guarda el ID devuelto y consulta la misma operación hasta que termine. Una publicación programada o aceptada solo está publicada cuando la plataforma lo confirma; un tiempo de espera agotado en el cliente no determina el resultado.

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "draft": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "workspace_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "revision": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "state": {
          "type": "string",
          "enum": [
            "draft",
            "submitting",
            "submitted"
          ]
        },
        "content": {
          "type": "object",
          "properties": {
            "schemaVersion": {
              "default": 1,
              "type": "number",
              "const": 1
            },
            "accountIds": {
              "default": [],
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              }
            },
            "caption": {
              "default": "",
              "type": "string",
              "maxLength": 5000
            },
            "hashtags": {
              "default": "",
              "type": "string",
              "maxLength": 5000
            },
            "assetIds": {
              "default": [],
              "maxItems": 20,
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 16,
                "pattern": "^[1-9][0-9]*$"
              }
            },
            "threadsTextOnly": {
              "default": false,
              "type": "boolean"
            },
            "instagramMode": {
              "default": "REELS",
              "type": "string",
              "enum": [
                "IMAGE",
                "REELS",
                "CAROUSEL",
                "STORY_IMAGE",
                "STORY_VIDEO"
              ]
            },
            "youtubeTitle": {
              "default": "",
              "type": "string",
              "maxLength": 100
            },
            "youtubePrivacy": {
              "default": "private",
              "type": "string",
              "enum": [
                "private",
                "unlisted",
                "public"
              ]
            },
            "youtubeSynthetic": {
              "default": false,
              "type": "boolean"
            },
            "youtubeCategoryId": {
              "default": "",
              "type": "string",
              "maxLength": 32
            },
            "youtubeShort": {
              "default": false,
              "type": "boolean"
            },
            "linkUrl": {
              "default": "",
              "type": "string",
              "maxLength": 2048
            },
            "scheduledAt": {
              "default": "",
              "type": "string",
              "maxLength": 64
            },
            "displayTimezone": {
              "default": "UTC",
              "type": "string",
              "minLength": 1,
              "maxLength": 128
            },
            "publishNow": {
              "default": false,
              "type": "boolean"
            },
            "destinationOverrides": {
              "default": {},
              "type": "object",
              "propertyNames": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "additionalProperties": {
                "type": "object",
                "properties": {
                  "caption": {
                    "type": "string",
                    "maxLength": 5000
                  },
                  "scheduledAt": {
                    "type": "string",
                    "maxLength": 64
                  }
                }
              }
            },
            "expiresAt": {
              "default": "",
              "type": "string",
              "maxLength": 64
            }
          },
          "required": [
            "schemaVersion",
            "accountIds",
            "caption",
            "hashtags",
            "assetIds",
            "threadsTextOnly",
            "instagramMode",
            "youtubeTitle",
            "youtubePrivacy",
            "youtubeSynthetic",
            "youtubeCategoryId",
            "youtubeShort",
            "linkUrl",
            "scheduledAt",
            "displayTimezone",
            "publishNow",
            "destinationOverrides",
            "expiresAt"
          ]
        },
        "created_by": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "updated_by": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            {
              "type": "null"
            }
          ]
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "submission": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "expected_revision": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "started_at": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "receipt": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "batch_id": {
                          "anyOf": [
                            {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "successes": {
                          "maxItems": 50,
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "social_account_id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              },
                              "post_id": {
                                "type": "string",
                                "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
                              }
                            },
                            "required": [
                              "social_account_id",
                              "post_id"
                            ]
                          }
                        },
                        "failures": {
                          "maxItems": 50,
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "social_account_id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              },
                              "code": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 160
                              },
                              "message": {
                                "type": "string",
                                "maxLength": 2000
                              }
                            },
                            "required": [
                              "social_account_id",
                              "code",
                              "message"
                            ]
                          }
                        }
                      },
                      "required": [
                        "batch_id",
                        "successes",
                        "failures"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "id",
                "expected_revision",
                "started_at",
                "receipt"
              ]
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "workspace_id",
        "revision",
        "state",
        "content",
        "created_by",
        "updated_by",
        "created_at",
        "updated_at",
        "submission"
      ]
    }
  },
  "required": [
    "draft"
  ]
}
```

## Errores y reintentos seguros

Comprueba el estado HTTP y el cuerpo de respuesta. Un error de validación 400 puede contener un ZodError; los errores del controlador usan los campos error, message y code. Conserva request_id o x-request-id para el diagnóstico, sin credenciales. Corrige los errores de acceso 401/403 antes de reintentar y respeta Retry-After para 429. Si una escritura es incierta o devuelve 5xx, consulta primero el resultado existente. Reutiliza una clave de idempotencia solo donde se admita; el comportamiento de reintento varía por operación y no garantiza una entrega exactamente una vez.

## Ejemplos

Estos ejemplos usan valores ficticios comprobados con los esquemas. Sustituye los IDs por otros autorizados, los archivos multimedia por recursos listos y las fechas por tu hora de publicación confirmada. Comprueba la elegibilidad de la cuenta antes de enviar una escritura. Esta página no envía solicitudes API.

Establece SOSOAPI_ACCESS_TOKEN en tu servidor con una credencial aceptada por esta operación y mantenla fuera del código del navegador. Para un agente, usa sosoapi auth login para iniciar sesión en el navegador y deja a la CLI renovar sus credenciales.

request.json

```json
{
  "id": "44444444-4444-4444-8444-444444444444"
}
```

cURL

```bash
curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/content-drafts/get" \
  -H "Authorization: Bearer $SOSOAPI_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary @request.json
```

JavaScript

```js
// Server-side JavaScript. Do not print tokens or credential-bearing responses.
const token = process.env.SOSOAPI_ACCESS_TOKEN;
if (!token) throw new Error("Set an accepted credential for this operation");
const response = await fetch("https://gqeshlawtcexsapabaui.supabase.co/functions/v1/studio-api/content-drafts/get", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
  body: JSON.stringify({
  "id": "44444444-4444-4444-8444-444444444444"
})
});
const result = await response.json();
// Check response.ok, the operation-specific body and completion state before continuing.
```

CLI

```bash
npx sosoapi api post /studio-api/content-drafts/get < request.json
```

Ejemplo de respuesta sintética

```json
{
  "draft": {
    "id": "44444444-4444-4444-8444-444444444444",
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "state": "draft",
    "content": {
      "schemaVersion": 1,
      "accountIds": [],
      "caption": "An unfinished announcement for team review.",
      "hashtags": "",
      "assetIds": [],
      "threadsTextOnly": false,
      "instagramMode": "REELS",
      "youtubeTitle": "",
      "youtubePrivacy": "private",
      "youtubeSynthetic": false,
      "youtubeCategoryId": "",
      "youtubeShort": false,
      "linkUrl": "",
      "scheduledAt": "",
      "displayTimezone": "UTC",
      "publishNow": false,
      "destinationOverrides": {},
      "expiresAt": ""
    },
    "created_by": null,
    "updated_by": null,
    "created_at": "2099-01-15T08:00:00Z",
    "updated_at": "2099-01-15T08:30:00Z",
    "submission": null
  }
}
```

## Herramientas y guías relacionadas

MCP: sosoapi_get_content_draft

[Referencia de API](https://sosoapi.ai/es/docs/api)
