Synupv1
Crear clave
v1Recursos/Datos

Datos

La biblioteca de assets unificada detrás de la pestaña Datos: el catálogo paginado multi-fuente (subidas, imágenes generadas, medios sincronizados, fotos importadas de GBP, contenido enviado por usuarios), carpetas y el vocabulario de etiquetas de assets. Distinto de las etiquetas de agrupación de ubicaciones de locations/tags.

Devuelve todas las etiquetas de archivos definidas en tu agencia.

Listar etiquetas de archivos

get/api/v1/tags
media:read
Respuesta
dataobjectopcional
tagsarray of objectopcional
Las etiquetas de archivos de la agencia.
idstringopcional
namestringopcional
Errores
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
get/api/v1/tags
Su clave de API
{
  "data": {
    "tags": [
      {
        "id": "tag_1",
        "name": "VIP"
      },
      {
        "id": "tag_2",
        "name": "Seasonal"
      }
    ]
  }
}
v1Recursos/Datos/postCrear una etiqueta de archivo

Crea una nueva etiqueta de archivo con el nombre indicado.

Crear una etiqueta de archivo

post/api/v1/tags
media:write
Cuerpo de la solicitud
namestringobligatorio
El nombre de la etiqueta.
Respuesta
dataobjectopcional
idstringopcional
Identificador único de la etiqueta recién creada.
namestringopcional
El nombre de la etiqueta.
Errores
400A la solicitud le falta un parámetro obligatorio o es inválida de otra forma.
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
post/api/v1/tags
Su clave de API
Cuerpo de la solicitud*
{
  "data": {
    "id": "tag_1",
    "name": "VIP"
  }
}
v1Recursos/Datos/patchRenombrar una etiqueta de asset

Renombra una etiqueta. Si otra etiqueta ya tiene el nombre destino, ambas se fusionan: todo asset etiquetado con cualquiera de las dos queda etiquetado con el nombre superviviente.

Renombrar una etiqueta de asset

patch/api/v1/tags/{id}
media:write
Parámetros de consulta
idstringobligatorio
La etiqueta a renombrar.
Cuerpo de la solicitud
namestringobligatorio
El nuevo nombre de la etiqueta. Obligatorio.
Respuesta
dataobjectopcional
idstringopcional
Identificador único de la etiqueta recién creada.
namestringopcional
El nombre de la etiqueta.
countnumberopcional
El número de assets que ahora llevan esta etiqueta.
Errores
400A la solicitud le falta un parámetro obligatorio o es inválida de otra forma.
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
404El recurso no se encontró, o no pertenece a su agencia.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
patch/api/v1/tags/{id}
Su clave de API
id *
Cuerpo de la solicitud*
{
  "data": {
    "id": "tag_1",
    "name": "VIP Clients",
    "count": 12
  }
}
v1Recursos/Datos/deleteEliminar una etiqueta de archivo

Elimina una etiqueta de archivo. Esto no elimina los archivos a los que estaba asociada. assetsUntagged en la respuesta indica cuántos archivos perdieron la etiqueta.

Eliminar una etiqueta de archivo

delete/api/v1/tags/{id}
media:write
Parámetros de consulta
idstringobligatorio
ID de la etiqueta de archivo a eliminar.
Respuesta
dataobjectopcional
assetsUntaggednumberopcional
Número de archivos que tenían esta etiqueta — todos perdieron la asignación cuando se eliminó la etiqueta.
Errores
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
404El recurso no se encontró, o no pertenece a su agencia.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
delete/api/v1/tags/{id}
Su clave de API
id *
{
  "data": {
    "assetsUntagged": 5
  }
}
v1Recursos/Datos/postAñadir archivos a una etiqueta

Asocia uno o más archivos, por su clave, a una etiqueta de archivo existente.

Añadir archivos a una etiqueta

post/api/v1/tags/{id}/assets
media:write
Parámetros de consulta
idstringobligatorio
ID de la etiqueta de archivo.
Cuerpo de la solicitud
assetKeysarray of stringobligatorio
Claves de los archivos que se asociarán a esta etiqueta.
Respuesta
dataobjectopcional
addedarray of stringopcional
Claves de los archivos realmente asociados — un archivo que ya tenga esta etiqueta no se duplica.
Errores
400A la solicitud le falta un parámetro obligatorio o es inválida de otra forma.
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
404El recurso no se encontró, o no pertenece a su agencia.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
post/api/v1/tags/{id}/assets
Su clave de API
id *
Cuerpo de la solicitud*
{
  "data": {
    "added": [
      "upload:abc123",
      "gmb:xyz789"
    ]
  }
}
v1Recursos/Datos/deleteQuitar un archivo de una etiqueta

Desasocia un único archivo, por su clave, de una etiqueta de archivo.

Quitar un archivo de una etiqueta

delete/api/v1/tags/{id}/assets
media:write
Parámetros de consulta
idstringobligatorio
ID de la etiqueta de archivo.
assetKeystringobligatorio
Clave del archivo que se quitará de esta etiqueta.
Errores
400A la solicitud le falta un parámetro obligatorio o es inválida de otra forma.
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
404El recurso no se encontró, o no pertenece a su agencia.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
delete/api/v1/tags/{id}/assets
Su clave de API
id *
assetKey *
{}
v1Recursos/Datos/getListar assets

Devuelve un fragmento paginado del catálogo unificado de assets, del más reciente al más antiguo — subidas, imágenes generadas por IA, assets de la biblioteca de medios sincronizada, fotos importadas de GBP y medios enviados por usuarios (UGC), combinados en un solo feed.

Listar assets

get/api/v1/assets
media:read
Parámetros de consulta
sourcestring (all | upload | gmb | generated | discovered | ugc)opcional
Limitar a una pestaña de origen: all (predeterminado), upload, gmb, generated, discovered o ugc.
typestringopcional
Limitar a un tipo de asset, p. ej. image o video.
folderIdstringopcional
Limitar a assets de esta carpeta.
tagstringopcional
Limitar a assets con esta etiqueta.
locationIdstringopcional
Limitar a assets asignados a esta ubicación. Búsquelo con GET /api/v1/locations.
clientIdstringopcional
El cliente al que limitar los resultados. Obligatorio si esta clave está restringida a clientes específicos y no se indica locationId. Búsquelo con GET /api/v1/clients.
qstringopcional
Buscar por título o nombre de archivo.
cursorstringopcional
Cursor de paginación del nextCursor de una respuesta anterior.
limitnumberopcional
Máximo de elementos a devolver. Predeterminado 60, máximo 200.
statusstring (needs_review | spam | ok | skipped)opcional
Filtro de estado de moderación — solo aplica cuando source es ugc: needs_review, spam, ok o skipped.
Respuesta
dataobjectopcional
itemsarray of objectopcional
La página de assets.
keystringopcional
Identificador compuesto del archivo, con el formato "<source>:<id>".
sourcestringopcional
Origen de este archivo (p. ej. una subida de OS frente a una fuente importada).
idstringopcional
El id del archivo dentro de su fuente.
titlestringopcional
El título del archivo.
filenamestringopcional
El nombre de archivo original del archivo.
mimestringopcional
El tipo MIME del archivo.
kindstringopcional
El tipo del archivo (foto o video).
sizeBytesnumberopcional
Tamaño del archivo en bytes, o null si se desconoce.
urlstringopcional
URL lista para usar con los bytes del archivo.
thumbnailUrlstringopcional
URL de una vista previa en miniatura, o null.
tagsarray of stringopcional
Etiquetas asociadas al archivo.
folderIdsarray of stringopcional
Carpetas de archivos a las que pertenece este archivo.
locationIdsarray of stringopcional
Todas las ubicaciones con las que está asociado este archivo.
nextCursorstringopcional
Páselo como cursor en la siguiente llamada para obtener la página siguiente. Null cuando no hay más.
countsobjectopcional
Totales por pestaña (all/upload/gmb/generated/discovered/ugc), independientes de los filtros activos.
Errores
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
get/api/v1/assets
Su clave de API
source
type
folderId
tag
locationId
clientId
q
cursor
limit
status
{
  "data": {
    "items": [
      {
        "key": "upload:abc123",
        "source": "upload",
        "id": "abc123",
        "title": "Storefront photo",
        "filename": "storefront.jpg",
        "mime": "image/jpeg",
        "kind": "image",
        "sizeBytes": 482913,
        "url": "https://cdn.synup.com/media/abc123.jpg",
        "thumbnailUrl": "https://cdn.synup.com/media/abc123-thumb.jpg",
        "tags": [
          "VIP"
        ],
        "folderIds": [
          "folder_1"
        ],
        "locationIds": [
          "loc_456"
        ]
      }
    ],
    "nextCursor": null,
    "counts": {
      "all": 1,
      "upload": 1,
      "gmb": 0,
      "generated": 0,
      "discovered": 0,
      "ugc": 0
    }
  }
}
v1Recursos/Datos/getListar carpetas

Devuelve todas las carpetas de esta agencia, con su cantidad de elementos y su mezcla de fuentes.

Listar carpetas

get/api/v1/folders
media:read
Parámetros de consulta
scopeTypestring (account | client | location | brand)opcional
Limitar a carpetas con este alcance: account, client, location o brand.
scopeIdstringopcional
Limitar a carpetas con este id de alcance. Requiere scopeType.
Respuesta
dataobjectopcional
itemsarray of objectopcional
idstringopcional
Identificador único de la carpeta.
namestringopcional
El nombre de la carpeta.
descriptionstringopcional
La descripción de la carpeta, o null.
itemCountnumberopcional
Cantidad de assets actualmente en la carpeta.
sourceMixarray of stringopcional
Las fuentes de assets distintas presentes en la carpeta.
scopeobjectopcional
El alcance de la carpeta, o null cuando es de toda la agencia.
typestring (account | client | location | brand)opcional
idstringopcional
sharingobjectopcional
El estado de uso compartido público de la carpeta.
accessstring (restricted | link)opcional
urlstringopcional
createdAtstringopcional
Cuándo se creó la carpeta, como marca de tiempo ISO 8601.
Errores
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
get/api/v1/folders
Su clave de API
scopeType
scopeId
{
  "data": {
    "items": [
      {
        "id": "folder_1",
        "name": "Storefront Photos",
        "description": null,
        "itemCount": 12,
        "sourceMix": [
          "upload",
          "gmb"
        ],
        "scope": {
          "type": "client",
          "id": "cli_123"
        },
        "sharing": {
          "access": "restricted",
          "url": null
        },
        "createdAt": "2026-01-15T10:00:00.000Z"
      }
    ]
  }
}
v1Recursos/Datos/postCrear una carpeta

Crea una carpeta nueva y vacía. Agréguele assets con POST /api/v1/folders/{id}/items.

Crear una carpeta

post/api/v1/folders
media:write
Cuerpo de la solicitud
namestringobligatorio
El nombre de la carpeta. Obligatorio.
descriptionstringopcional
Una descripción opcional.
scopeTypestring (account | client | location | brand)opcional
Alcance opcional: account, client, location o brand. Las carpetas sin alcance son de toda la agencia.
scopeIdstringopcional
El id para scopeType, si se indica.
Respuesta
dataobjectopcional
folderobjectopcional
idstringopcional
Identificador único de la carpeta.
namestringopcional
El nombre de la carpeta.
descriptionstringopcional
La descripción de la carpeta, o null.
itemCountnumberopcional
Cantidad de assets actualmente en la carpeta.
sourceMixarray of stringopcional
Las fuentes de assets distintas presentes en la carpeta.
scopeobjectopcional
El alcance de la carpeta, o null cuando es de toda la agencia.
typestring (account | client | location | brand)opcional
idstringopcional
sharingobjectopcional
El estado de uso compartido público de la carpeta.
accessstring (restricted | link)opcional
urlstringopcional
createdAtstringopcional
Cuándo se creó la carpeta, como marca de tiempo ISO 8601.
Errores
400A la solicitud le falta un parámetro obligatorio o es inválida de otra forma.
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
post/api/v1/folders
Su clave de API
Cuerpo de la solicitud*
{
  "data": {
    "folder": {
      "id": "folder_1",
      "name": "Storefront Photos",
      "description": null,
      "itemCount": 0,
      "sourceMix": [],
      "scope": null,
      "sharing": {
        "access": "restricted",
        "url": null
      },
      "createdAt": "2026-01-15T10:00:00.000Z"
    }
  }
}
v1Recursos/Datos/getObtener una carpeta

Devuelve el detalle de una carpeta. Su contenido: GET /api/v1/assets?folderId={id}.

Obtener una carpeta

get/api/v1/folders/{id}
media:read
Parámetros de consulta
idstringobligatorio
La carpeta a consultar.
Respuesta
dataobjectopcional
folderobjectopcional
idstringopcional
Identificador único de la carpeta.
namestringopcional
El nombre de la carpeta.
descriptionstringopcional
La descripción de la carpeta, o null.
itemCountnumberopcional
Cantidad de assets actualmente en la carpeta.
sourceMixarray of stringopcional
Las fuentes de assets distintas presentes en la carpeta.
scopeobjectopcional
El alcance de la carpeta, o null cuando es de toda la agencia.
typestring (account | client | location | brand)opcional
idstringopcional
sharingobjectopcional
El estado de uso compartido público de la carpeta.
accessstring (restricted | link)opcional
urlstringopcional
createdAtstringopcional
Cuándo se creó la carpeta, como marca de tiempo ISO 8601.
Errores
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
404El recurso no se encontró, o no pertenece a su agencia.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
get/api/v1/folders/{id}
Su clave de API
id *
{
  "data": {
    "folder": {
      "id": "folder_1",
      "name": "Storefront Photos",
      "description": null,
      "itemCount": 12,
      "sourceMix": [
        "upload",
        "gmb"
      ],
      "scope": {
        "type": "client",
        "id": "cli_123"
      },
      "sharing": {
        "access": "restricted",
        "url": null
      },
      "createdAt": "2026-01-15T10:00:00.000Z"
    }
  }
}
v1Recursos/Datos/patchActualizar una carpeta

Renombra una carpeta o edita su descripción o alcance.

Actualizar una carpeta

patch/api/v1/folders/{id}
media:write
Parámetros de consulta
idstringobligatorio
La carpeta a actualizar.
Cuerpo de la solicitud
namestringopcional
Nuevo nombre.
descriptionstringopcional
Nueva descripción, o null para borrarla.
scopeTypestring (account | client | location | brand)opcional
Nuevo tipo de alcance: account, client, location o brand.
scopeIdstringopcional
El id para scopeType, si se indica.
Respuesta
dataobjectopcional
folderobjectopcional
idstringopcional
Identificador único de la carpeta.
namestringopcional
El nombre de la carpeta.
descriptionstringopcional
La descripción de la carpeta, o null.
itemCountnumberopcional
Cantidad de assets actualmente en la carpeta.
sourceMixarray of stringopcional
Las fuentes de assets distintas presentes en la carpeta.
scopeobjectopcional
El alcance de la carpeta, o null cuando es de toda la agencia.
typestring (account | client | location | brand)opcional
idstringopcional
sharingobjectopcional
El estado de uso compartido público de la carpeta.
accessstring (restricted | link)opcional
urlstringopcional
createdAtstringopcional
Cuándo se creó la carpeta, como marca de tiempo ISO 8601.
Errores
400A la solicitud le falta un parámetro obligatorio o es inválida de otra forma.
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
404El recurso no se encontró, o no pertenece a su agencia.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
patch/api/v1/folders/{id}
Su clave de API
id *
Cuerpo de la solicitud
{
  "data": {
    "folder": {
      "id": "folder_1",
      "name": "Storefront Photos (2026)",
      "description": "Current-season storefront shots",
      "itemCount": 12,
      "sourceMix": [
        "upload",
        "gmb"
      ],
      "scope": {
        "type": "client",
        "id": "cli_123"
      },
      "sharing": {
        "access": "restricted",
        "url": null
      },
      "createdAt": "2026-01-15T10:00:00.000Z"
    }
  }
}
v1Recursos/Datos/deleteEliminar una carpeta

Elimina la carpeta. Sus assets no se ven afectados — solo pierden su pertenencia a la carpeta. itemsRemoved y shareLinksRevoked en la respuesta indican cuántas cosas se eliminaron silenciosamente junto con ella.

Eliminar una carpeta

delete/api/v1/folders/{id}
media:write
Parámetros de consulta
idstringobligatorio
La carpeta a eliminar.
Respuesta
dataobjectopcional
itemsRemovednumberopcional
Número de elementos (assets) que se eliminaron de la carpeta — se eliminaron tantas asignaciones de FolderItem junto con ella.
shareLinksRevokednumberopcional
Número de enlaces para compartir activos de esta carpeta que se revocaron al eliminarla.
Errores
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
404El recurso no se encontró, o no pertenece a su agencia.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
delete/api/v1/folders/{id}
Su clave de API
id *
{
  "data": {
    "itemsRemoved": 12,
    "shareLinksRevoked": 1
  }
}
v1Recursos/Datos/postCompartir una carpeta

Emite (o rota) un enlace público para la carpeta. Rotar revoca cualquier enlace emitido antes.

Compartir una carpeta

post/api/v1/folders/{id}/share
media:write
Parámetros de consulta
idstringobligatorio
La carpeta a compartir.
Respuesta
dataobjectopcional
urlstringopcional
La URL pública para compartir.
accessstring (link)opcional
Siempre "link" si tiene éxito.
Errores
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
404El recurso no se encontró, o no pertenece a su agencia.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
post/api/v1/folders/{id}/share
Su clave de API
id *
{
  "data": {
    "url": "https://synup.com/s/aB3dE9fGhJ",
    "access": "link"
  }
}
v1Recursos/Datos/deleteDejar de compartir una carpeta

Revoca el enlace público de la carpeta.

Dejar de compartir una carpeta

delete/api/v1/folders/{id}/share
media:write
Parámetros de consulta
idstringobligatorio
La carpeta cuyo enlace se revoca.
Respuesta
dataobjectopcional
accessstring (restricted)opcional
Siempre "restricted" si tiene éxito.
Errores
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
404El recurso no se encontró, o no pertenece a su agencia.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
delete/api/v1/folders/{id}/share
Su clave de API
id *
{
  "data": {
    "access": "restricted"
  }
}
v1Recursos/Datos/postAgregar assets a una carpeta

Agrega cada clave de asset indicada a la carpeta. Las claves ya presentes se ignoran.

Agregar assets a una carpeta

post/api/v1/folders/{id}/items
media:write
Parámetros de consulta
idstringobligatorio
La carpeta a la que agregar assets.
Cuerpo de la solicitud
assetKeysarray of stringobligatorio
Claves de asset opacas "<source>:<id>" a agregar. Obligatorio, no vacío.
Respuesta
dataobjectopcional
idstringopcional
itemCountnumberopcional
La cantidad de elementos de la carpeta tras el cambio.
Errores
400A la solicitud le falta un parámetro obligatorio o es inválida de otra forma.
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
404El recurso no se encontró, o no pertenece a su agencia.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
post/api/v1/folders/{id}/items
Su clave de API
id *
Cuerpo de la solicitud*
{
  "data": {
    "id": "folder_1",
    "itemCount": 13
  }
}
v1Recursos/Datos/deleteQuitar un asset de una carpeta

Quita la pertenencia de un asset a la carpeta. Éxito sin efecto si no era miembro.

Quitar un asset de una carpeta

delete/api/v1/folders/{id}/items
media:write
Parámetros de consulta
idstringobligatorio
La carpeta de la que quitar el asset.
assetKeystringobligatorio
La clave de asset opaca "<source>:<id>" a quitar. Se pasa como parámetro de consulta (codifique los dos puntos), no como segmento de ruta.
Respuesta
dataobjectopcional
idstringopcional
itemCountnumberopcional
La cantidad de elementos de la carpeta tras el cambio.
Errores
401La clave de API falta, es inválida, expiró o fue revocada.
403A la clave le falta el permiso requerido, o no está autorizada para este cliente/ubicación.
404El recurso no se encontró, o no pertenece a su agencia.
429Demasiadas solicitudes. Reintente tras el número de segundos indicado en el encabezado Retry-After.
delete/api/v1/folders/{id}/items
Su clave de API
id *
assetKey *
{
  "data": {
    "id": "folder_1",
    "itemCount": 12
  }
}