Blogs
Artículos en sitios de WordPress, Shopify, Wix y Webflow: listar, crear borradores, programar, publicar, cambiar y borrar. Estas cuentas reciben artículos, no publicaciones.
Listar los blogs de un sitio
Sección titulada «Listar los blogs de un sitio»/v1/accounts/{id}/blogsUna tienda Shopify puede tener varios blogs y un sitio de Webflow uno por cada colección del CMS con un campo de texto enriquecido; WordPress y Wix tienen uno.
Parámetros
idstringobligatorio
Respuesta 200
data []
idstringobligatorioEnvíalo como blogId. Los sitios de WordPress y Wix tienen un solo blog,
1.titlestringobligatoriohandlestring
curl "https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs" \ -H "Authorization: Bearer $MARSIAL_API_KEY"const res = await fetch('https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs', { headers: { Authorization: `Bearer ${process.env.MARSIAL_API_KEY}`, },});const { data } = await res.json();import os, requests
res = requests.get( "https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs", headers={"Authorization": f"Bearer {os.environ['MARSIAL_API_KEY']}"},)data = res.json()["data"]Listar artículos
Sección titulada «Listar artículos»/v1/accounts/{id}/blogs/{blogId}/articlesPublicados, programados, borradores y, en WordPress, pendientes y privados.
Parámetros
idstringobligatorioblogIdstringobligatoriocursorstringlimitinteger
Respuesta 200
data
itemsobject[]obligatorioitems
idstringobligatorioEl id del artículo en el propio sitio.
blogIdstringobligatorioaccountIdstringobligatorioplatformstringobligatoriotitlestringobligatoriobodyHtmlstringhandlestringexcerptstringtagsstring[]obligatorioauthorstringimageobjectimage
urlstring (uri)obligatorioaltTextstring
seoobjectseo
titlestringdescriptionstring
statusstringPublicado, programado, borrador, pendiente de revisión o privado.
isPublishedbooleanobligatoriopublishDatestringurlstring (uri)El artículo en la web, una vez publicado.
nextCursorstring | nullobligatorioEnvíalo como cursor para la página siguiente; null en la última.
curl "https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs/1/articles?limit=20" \ -H "Authorization: Bearer $MARSIAL_API_KEY"const res = await fetch('https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs/1/articles?limit=20', { headers: { Authorization: `Bearer ${process.env.MARSIAL_API_KEY}`, },});const { data } = await res.json();import os, requests
res = requests.get( "https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs/1/articles?limit=20", headers={"Authorization": f"Bearer {os.environ['MARSIAL_API_KEY']}"},)data = res.json()["data"]Crear un artículo
Sección titulada «Crear un artículo»/v1/accounts/{id}/blogs/{blogId}/articlesQueda en borrador salvo que envíes isPublished: true; con una publishDate futura el sitio lo programa. El sitio descarga la imagen desde su URL (súbela antes con POST /media/upload-url). seo funciona en Shopify y Wix; fields rellena los campos propios de una colección de Webflow.
Parámetros
idstringobligatorioblogIdstringobligatorio
Cuerpo
titlestringobligatoriobodyHtmlstringEl artículo en HTML.
handlestringSlug de la URL. Si no lo envías, se crea a partir del título.
excerptstringtagsstring[]Sustituye la lista entera; las etiquetas que no existan se crean.
authorstringWordPress: el id de un usuario. Shopify: un nombre visible. Webflow: el id del elemento autor.
imageobjectImagen destacada desde una URL pública (por ejemplo, de POST /v1/media/upload-url).
image
urlstring (uri)obligatorioaltTextstring
seoobjectSolo en Shopify y Wix.
seo
titlestringdescriptionstring
isPublishedbooleanfalse lo deja en borrador.
publishDatestring (date-time)Una fecha futura lo programa.
fieldsobjectSolo en Webflow: los campos propios de la colección, por su slug.
Respuesta 201
data
idstringobligatorioEl id del artículo en el propio sitio.
blogIdstringobligatorioaccountIdstringobligatorioplatformstringobligatoriotitlestringobligatoriobodyHtmlstringhandlestringexcerptstringtagsstring[]obligatorioauthorstringimageobjectimage
urlstring (uri)obligatorioaltTextstring
seoobjectseo
titlestringdescriptionstring
statusstringPublicado, programado, borrador, pendiente de revisión o privado.
isPublishedbooleanobligatoriopublishDatestringurlstring (uri)El artículo en la web, una vez publicado.
curl -X POST "https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs/1/articles" \ -H "Authorization: Bearer $MARSIAL_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "title": "Our autumn collection", "bodyHtml": "<p>The first pieces land next month.</p>", "excerpt": "An early look at what is arriving.", "tags": [ "autumn", "new arrivals" ], "image": { "url": "https://cdn.acme.com/autumn.jpg", "altText": "Wool coats on a rail" }, "isPublished": true, "publishDate": "2026-11-03T09:00:00+01:00" }'const res = await fetch('https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs/1/articles', { method: 'POST', headers: { Authorization: `Bearer ${process.env.MARSIAL_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ "title": "Our autumn collection", "bodyHtml": "<p>The first pieces land next month.</p>", "excerpt": "An early look at what is arriving.", "tags": [ "autumn", "new arrivals" ], "image": { "url": "https://cdn.acme.com/autumn.jpg", "altText": "Wool coats on a rail" }, "isPublished": true, "publishDate": "2026-11-03T09:00:00+01:00" }),});const { data } = await res.json();import os, requests
res = requests.post( "https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs/1/articles", headers={"Authorization": f"Bearer {os.environ['MARSIAL_API_KEY']}"}, json={ "title": "Our autumn collection", "bodyHtml": "<p>The first pieces land next month.</p>", "excerpt": "An early look at what is arriving.", "tags": [ "autumn", "new arrivals" ], "image": { "url": "https://cdn.acme.com/autumn.jpg", "altText": "Wool coats on a rail" }, "isPublished": True, "publishDate": "2026-11-03T09:00:00+01:00" },)data = res.json()["data"]Obtener un artículo
Sección titulada «Obtener un artículo»/v1/accounts/{id}/blogs/{blogId}/articles/{articleId}Parámetros
idstringobligatorioblogIdstringobligatorioarticleIdstringobligatorio
Respuesta 200
data
idstringobligatorioEl id del artículo en el propio sitio.
blogIdstringobligatorioaccountIdstringobligatorioplatformstringobligatoriotitlestringobligatoriobodyHtmlstringhandlestringexcerptstringtagsstring[]obligatorioauthorstringimageobjectimage
urlstring (uri)obligatorioaltTextstring
seoobjectseo
titlestringdescriptionstring
statusstringPublicado, programado, borrador, pendiente de revisión o privado.
isPublishedbooleanobligatoriopublishDatestringurlstring (uri)El artículo en la web, una vez publicado.
curl "https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs/1/articles/1842" \ -H "Authorization: Bearer $MARSIAL_API_KEY"const res = await fetch('https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs/1/articles/1842', { headers: { Authorization: `Bearer ${process.env.MARSIAL_API_KEY}`, },});const { data } = await res.json();import os, requests
res = requests.get( "https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs/1/articles/1842", headers={"Authorization": f"Bearer {os.environ['MARSIAL_API_KEY']}"},)data = res.json()["data"]Cambiar, publicar o despublicar un artículo
Sección titulada «Cambiar, publicar o despublicar un artículo»/v1/accounts/{id}/blogs/{blogId}/articles/{articleId}Los campos que no envíes se quedan como están. tags sustituye la lista entera. isPublished: false lo devuelve a borrador.
Parámetros
idstringobligatorioblogIdstringobligatorioarticleIdstringobligatorio
Cuerpo
titlestringbodyHtmlstringEl artículo en HTML.
handlestringSlug de la URL. Si no lo envías, se crea a partir del título.
excerptstringtagsstring[]Sustituye la lista entera; las etiquetas que no existan se crean.
authorstringWordPress: el id de un usuario. Shopify: un nombre visible. Webflow: el id del elemento autor.
imageobjectImagen destacada desde una URL pública (por ejemplo, de POST /v1/media/upload-url).
image
urlstring (uri)obligatorioaltTextstring
seoobjectSolo en Shopify y Wix.
seo
titlestringdescriptionstring
isPublishedbooleanfalse lo deja en borrador.
publishDatestring (date-time)Una fecha futura lo programa.
fieldsobjectSolo en Webflow: los campos propios de la colección, por su slug.
Respuesta 200
data
idstringobligatorioEl id del artículo en el propio sitio.
blogIdstringobligatorioaccountIdstringobligatorioplatformstringobligatoriotitlestringobligatoriobodyHtmlstringhandlestringexcerptstringtagsstring[]obligatorioauthorstringimageobjectimage
urlstring (uri)obligatorioaltTextstring
seoobjectseo
titlestringdescriptionstring
statusstringPublicado, programado, borrador, pendiente de revisión o privado.
isPublishedbooleanobligatoriopublishDatestringurlstring (uri)El artículo en la web, una vez publicado.
curl -X PATCH "https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs/1/articles/1842" \ -H "Authorization: Bearer $MARSIAL_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "isPublished": false }'const res = await fetch('https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs/1/articles/1842', { method: 'PATCH', headers: { Authorization: `Bearer ${process.env.MARSIAL_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ "isPublished": false }),});const { data } = await res.json();import os, requests
res = requests.patch( "https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs/1/articles/1842", headers={"Authorization": f"Bearer {os.environ['MARSIAL_API_KEY']}"}, json={ "isPublished": False },)data = res.json()["data"]Borrar un artículo
Sección titulada «Borrar un artículo»/v1/accounts/{id}/blogs/{blogId}/articles/{articleId}Parámetros
idstringobligatorioblogIdstringobligatorioarticleIdstringobligatorio
Respuesta 204
Sin contenido
curl -X DELETE "https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs/1/articles/1842" \ -H "Authorization: Bearer $MARSIAL_API_KEY"await fetch('https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs/1/articles/1842', { method: 'DELETE', headers: { Authorization: `Bearer ${process.env.MARSIAL_API_KEY}`, },});import os, requests
requests.delete( "https://api.marsial.dev/v1/accounts/acc_3k9x2m/blogs/1/articles/1842", headers={"Authorization": f"Bearer {os.environ['MARSIAL_API_KEY']}"},)© 2026 Marsial by TWOFACES ·marsial.dev ·Panel ·soporte@twofacesco.com