Documentación

Referencia de la API

URL base https://api.usecrier.com/v1. Todas las respuestas van dentro de data.

Workspace

Tu workspace y quién está llamando.

GET/v1/me

Quién llama

Respuesta 200

data
  • workspaceIdstringobligatorio
  • userobject | nullobligatorio

    Null si llamas con una API key.

    user
    • userIdstringobligatorio
    • emailstringopcional
  • rolestring | nullobligatorio

    El rol de quien usa el panel; null con una API key.

    Valores: owner · admin · member

GET /v1/me
curl "https://api.usecrier.com/v1/me" \
  -H "Authorization: Bearer $CRIER_API_KEY"
GET/v1/workspace

Ver el workspace

Respuesta 200

data
  • idstringobligatorio
  • namestringobligatorio
  • usagestring | nullobligatorio

    Valores: api · self

  • requireApprovalbooleanobligatorio

    Las publicaciones de los miembros esperan a que un propietario o admin las apruebe.

  • createdAtstring (date-time)obligatorio
GET /v1/workspace
curl "https://api.usecrier.com/v1/workspace" \
  -H "Authorization: Bearer $CRIER_API_KEY"
PATCH/v1/workspace

Editar el workspace

Solo desde el panel

Cuerpo

  • namestringopcional

    máx. 100

  • usagestringopcional

    Valores: api · self

  • requireApprovalbooleanopcional

    Las publicaciones de los miembros esperan a que un propietario o admin las apruebe.

Respuesta 200

data
  • idstringobligatorio
  • namestringobligatorio
  • usagestring | nullobligatorio

    Valores: api · self

  • requireApprovalbooleanobligatorio

    Las publicaciones de los miembros esperan a que un propietario o admin las apruebe.

  • createdAtstring (date-time)obligatorio
PATCH /v1/workspace
curl -X PATCH "https://api.usecrier.com/v1/workspace" \
  -H "Authorization: Bearer $CRIER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "usage": "api"
  }'

Equipo

Miembros e invitaciones. Propietarios y admins gestionan el equipo; los miembros publican y responden.

GET/v1/team

Ver miembros e invitaciones

Respuesta 200

data
  • membersobject[]obligatorio
    members
    • userIdstringobligatorio
    • emailstringopcional
    • rolestringobligatorio

      Valores: owner · admin · member

    • joinedAtstring (date-time)obligatorio
    • youbooleanobligatorio
  • invitationsobject[]obligatorio
    invitations
    • idstringobligatorio
    • emailstringobligatorio
    • rolestringobligatorio

      Valores: admin · member

    • createdAtstring (date-time)obligatorio
    • expiresAtstring (date-time)obligatorio
GET /v1/team
curl "https://api.usecrier.com/v1/team" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/team/invitations

Invitar a alguien

Solo desde el panel

Devuelve un enlace para enviarle. Se une al entrar con el email invitado.

Cuerpo

  • emailstring (email)obligatorio

    A quién invitas; tendrá que entrar con este email para aceptar.

  • rolestringopcional

    admin gestiona el equipo, las API keys y los webhooks; member publica y responde.

    Valores: admin · memberPor defecto: "member"

Respuesta 201

data
  • invitationobjectobligatorio
    invitation
    • idstringobligatorio
    • emailstringobligatorio
    • rolestringobligatorio

      Valores: admin · member

    • createdAtstring (date-time)obligatorio
    • expiresAtstring (date-time)obligatorio
  • urlstring (uri)obligatorio

    El enlace que hay que enviar. Solo se muestra ahora; vale 7 días.

POST /v1/team/invitations
curl -X POST "https://api.usecrier.com/v1/team/invitations" \
  -H "Authorization: Bearer $CRIER_API_KEY"
DELETE/v1/team/invitations/{id}

Cancelar una invitación

Solo desde el panel

Parámetros

  • idstringobligatorio

Respuesta 204

Sin contenido

DELETE /v1/team/invitations/key_2b4n6m
curl -X DELETE "https://api.usecrier.com/v1/team/invitations/key_2b4n6m" \
  -H "Authorization: Bearer $CRIER_API_KEY"
PATCH/v1/team/members/{userId}

Cambiar un rol

Solo desde el panel

Parámetros

  • userIdstringobligatorio

Cuerpo

  • rolestringobligatorio

    Valores: admin · member

Respuesta 200

data
  • userIdstringobligatorio
  • emailstringopcional
  • rolestringobligatorio

    Valores: owner · admin · member

  • joinedAtstring (date-time)obligatorio
  • youbooleanobligatorio
PATCH /v1/team/members/{userId}
curl -X PATCH "https://api.usecrier.com/v1/team/members/{userId}" \
  -H "Authorization: Bearer $CRIER_API_KEY"
DELETE/v1/team/members/{userId}

Quitar a alguien, o salir

Solo desde el panel

Parámetros

  • userIdstringobligatorio

Respuesta 204

Sin contenido

DELETE /v1/team/members/{userId}
curl -X DELETE "https://api.usecrier.com/v1/team/members/{userId}" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/invitations/accept

Aceptar una invitación

Solo desde el panel

Cuerpo

  • tokenstringobligatorio

    El token del enlace de invitación.

    mín. 16máx. 200

Respuesta 200

data
  • workspaceIdstringobligatorio
  • rolestringobligatorio

    Valores: owner · admin · member

POST /v1/invitations/accept
curl -X POST "https://api.usecrier.com/v1/invitations/accept" \
  -H "Authorization: Bearer $CRIER_API_KEY"

Perfiles

Un perfil es una marca o un cliente final. Las cuentas sociales se conectan a un perfil.

GET/v1/profiles

Listar perfiles

Respuesta 200

data []
  • idstringobligatorio
  • namestringobligatorio
  • timezonestringopcional
  • externalIdstringopcional
  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
GET /v1/profiles
curl "https://api.usecrier.com/v1/profiles" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/profiles

Crear un perfil

Cuerpo

  • namestringobligatorio

    Nombre de la marca o del cliente final.

    máx. 100

  • timezonestringopcional

    Zona horaria IANA, por ejemplo Europe/Madrid. La usa la cola.

    máx. 64

  • externalIdstringopcional

    Tu propio id para este cliente; se devuelve tal cual.

    máx. 200

Respuesta 201

data
  • idstringobligatorio
  • namestringobligatorio
  • timezonestringopcional
  • externalIdstringopcional
  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
POST /v1/profiles
curl -X POST "https://api.usecrier.com/v1/profiles" \
  -H "Authorization: Bearer $CRIER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme",
    "timezone": "Europe/Madrid",
    "externalId": "customer-42"
  }'
GET/v1/profiles/{id}

Ver un perfil

Parámetros

  • idstringobligatorio

Respuesta 200

data
  • idstringobligatorio
  • namestringobligatorio
  • timezonestringopcional
  • externalIdstringopcional
  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
GET /v1/profiles/prf_8f2k4d
curl "https://api.usecrier.com/v1/profiles/prf_8f2k4d" \
  -H "Authorization: Bearer $CRIER_API_KEY"
PATCH/v1/profiles/{id}

Editar un perfil

Parámetros

  • idstringobligatorio

Cuerpo

  • namestringopcional

    Nombre de la marca o del cliente final.

    máx. 100

  • timezonestringopcional

    Zona horaria IANA, por ejemplo Europe/Madrid. La usa la cola.

    máx. 64

  • externalIdstringopcional

    Tu propio id para este cliente; se devuelve tal cual.

    máx. 200

Respuesta 200

data
  • idstringobligatorio
  • namestringobligatorio
  • timezonestringopcional
  • externalIdstringopcional
  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
PATCH /v1/profiles/prf_8f2k4d
curl -X PATCH "https://api.usecrier.com/v1/profiles/prf_8f2k4d" \
  -H "Authorization: Bearer $CRIER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme Spain"
  }'
DELETE/v1/profiles/{id}

Borrar un perfil

También desconecta sus cuentas.

Parámetros

  • idstringobligatorio

Respuesta 204

Sin contenido

DELETE /v1/profiles/prf_8f2k4d
curl -X DELETE "https://api.usecrier.com/v1/profiles/prf_8f2k4d" \
  -H "Authorization: Bearer $CRIER_API_KEY"

Cola

Huecos semanales por perfil. Los posts con queue: true toman el siguiente libre.

GET/v1/profiles/{id}/queue

Ver la cola de un perfil

Parámetros

  • idstringobligatorio

Respuesta 200

data
  • timezonestringobligatorio
  • slotsobject[]obligatorio
    slots
    • dayOfWeekintegerobligatorio

      0 = domingo … 6 = sábado

      máx. 9.007.199.254.740.991

    • timestringobligatorio

      HH:mm

  • nextSlotsstring (date-time)[]obligatorio

    Los próximos huecos libres, del más cercano al más lejano.

GET /v1/profiles/prf_8f2k4d/queue
curl "https://api.usecrier.com/v1/profiles/prf_8f2k4d/queue" \
  -H "Authorization: Bearer $CRIER_API_KEY"
PUT/v1/profiles/{id}/queue

Definir los huecos de la cola

Sustituye todos los huecos. Los días van de 0 (domingo) a 6 (sábado); las horas, HH:mm en la zona horaria de la cola.

Parámetros

  • idstringobligatorio

Cuerpo

  • timezonestringopcional

    máx. 64

  • slotsobject[]obligatorio

    máx. 100 elementos

    slots
    • dayOfWeekintegerobligatorio

      máx. 6

    • timestringobligatorio

Respuesta 200

data
  • timezonestringobligatorio
  • slotsobject[]obligatorio
    slots
    • dayOfWeekintegerobligatorio

      0 = domingo … 6 = sábado

      máx. 9.007.199.254.740.991

    • timestringobligatorio

      HH:mm

  • nextSlotsstring (date-time)[]obligatorio

    Los próximos huecos libres, del más cercano al más lejano.

PUT /v1/profiles/prf_8f2k4d/queue
curl -X PUT "https://api.usecrier.com/v1/profiles/prf_8f2k4d/queue" \
  -H "Authorization: Bearer $CRIER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "timezone": "Europe/Madrid",
    "slots": [
      {
        "dayOfWeek": 1,
        "time": "09:00"
      },
      {
        "dayOfWeek": 4,
        "time": "18:00"
      }
    ]
  }'
DELETE/v1/profiles/{id}/queue

Borrar la cola

Parámetros

  • idstringobligatorio

Respuesta 204

Sin contenido

DELETE /v1/profiles/prf_8f2k4d/queue
curl -X DELETE "https://api.usecrier.com/v1/profiles/prf_8f2k4d/queue" \
  -H "Authorization: Bearer $CRIER_API_KEY"

Conexión

Conecta una cuenta social: manda al usuario a la URL y Crier lo devuelve a tu redirectUrl.

GET/v1/connect/{platform}

Empezar a conectar una cuenta

Devuelve la URL a la que mandar al usuario. Al terminar, Crier vuelve a redirectUrl con connected=<platform>&accountId=…, con error=… si falló, o con select=<sessionId> cuando el usuario debe elegir página, organización, tablero, ficha o perfil (Facebook, LinkedIn, Pinterest, Google Business, Snapchat).

Parámetros

  • platformstringobligatorio
  • profileIdstringobligatorio

    El perfil al que pertenecerá la cuenta.

  • redirectUrlstring (uri)obligatorio

    A dónde vuelve el usuario cuando termina la conexión.

Respuesta 200

data
  • urlstring (uri)obligatorio

    Manda aquí al usuario para que autorice la red.

GET /v1/connect/instagram
curl "https://api.usecrier.com/v1/connect/instagram?profileId=prf_8f2k4d&redirectUrl=https%3A%2F%2Fapp.acme.com%2Fconnected" \
  -H "Authorization: Bearer $CRIER_API_KEY"
GET/v1/connect/sessions/{id}/options

Listar lo que el usuario puede elegir

El id es el valor de select que Crier añadió a tu redirectUrl. Las sesiones caducan a la hora.

Parámetros

  • idstringobligatorio

Respuesta 200

data
  • platformstringobligatorio
  • optionsobject[]obligatorio
    options
    • idstringobligatorio
    • namestringobligatorio
    • detailstringopcional
    • imageUrlstring (uri)opcional
GET /v1/connect/sessions/cs_5t2y8u/options
curl "https://api.usecrier.com/v1/connect/sessions/cs_5t2y8u/options" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/connect/sessions/{id}/select

Elegir una opción y terminar la conexión

Parámetros

  • idstringobligatorio

Cuerpo

  • optionIdstringobligatorio

    máx. 200

Respuesta 201

data
  • idstringobligatorio
  • profileIdstringobligatorio
  • platformstringobligatorio
  • usernamestringopcional
  • displayNamestringopcional
  • avatarUrlstring (uri)opcional
  • statusstringobligatorio

    Valores: active · needs_reconnection · disconnected

  • connectedAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
POST /v1/connect/sessions/cs_5t2y8u/select
curl -X POST "https://api.usecrier.com/v1/connect/sessions/cs_5t2y8u/select" \
  -H "Authorization: Bearer $CRIER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "optionId": "1042…"
  }'

Cuentas

Cuentas sociales conectadas, si pueden publicar, y sus tableros, listas y subreddits.

GET/v1/accounts

Listar cuentas conectadas

Parámetros

  • profileIdstringopcional

Respuesta 200

data []
  • idstringobligatorio
  • profileIdstringobligatorio
  • platformstringobligatorio
  • usernamestringopcional
  • displayNamestringopcional
  • avatarUrlstring (uri)opcional
  • statusstringobligatorio

    Valores: active · needs_reconnection · disconnected

  • connectedAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
GET /v1/accounts
curl "https://api.usecrier.com/v1/accounts?profileId=prf_8f2k4d" \
  -H "Authorization: Bearer $CRIER_API_KEY"
GET/v1/accounts/health

Comprobar si las cuentas pueden publicar

Pregunta a cada red en el momento. Las que necesitan reconexión pasan a needs_reconnection.

Parámetros

  • profileIdstringobligatorio

Respuesta 200

data []
  • accountIdstringobligatorio
  • platformstringobligatorio
  • statusstringobligatorio

    Valores: healthy · warning · error

  • canPostbooleanobligatorio
  • needsReconnectionbooleanobligatorio
  • issuesstring[]obligatorio
GET /v1/accounts/health
curl "https://api.usecrier.com/v1/accounts/health?profileId=prf_8f2k4d" \
  -H "Authorization: Bearer $CRIER_API_KEY"
GET/v1/accounts/{id}/{kind}

Listar tableros, listas de reproducción, subreddits o flairs

kind es pinterest-boards, youtube-playlists, reddit-subreddits o reddit-flairs (con subreddit). Usa los ids en las opciones del post.

Parámetros

  • idstringobligatorio
  • kindstringobligatorio

    Valores: pinterest-boards · youtube-playlists · reddit-subreddits · reddit-flairs

  • subredditstringopcional

    Obligatorio para reddit-flairs.

Respuesta 200

data []
  • idstringobligatorio

    Envíalo como boardId, playlistId, subreddit o flairId.

  • namestringobligatorio
  • detailstringopcional
  • isDefaultbooleanopcional

    El de la cuenta por defecto, que se usa si el post no elige otro.

GET /v1/accounts/acc_3k9x2m/{kind}
curl "https://api.usecrier.com/v1/accounts/acc_3k9x2m/{kind}" \
  -H "Authorization: Bearer $CRIER_API_KEY"
DELETE/v1/accounts/{id}

Desconectar una cuenta

Parámetros

  • idstringobligatorio

Respuesta 204

Sin contenido

DELETE /v1/accounts/acc_3k9x2m
curl -X DELETE "https://api.usecrier.com/v1/accounts/acc_3k9x2m" \
  -H "Authorization: Bearer $CRIER_API_KEY"

Grupos de cuentas

Selecciones de cuentas guardadas, para publicar en todas a la vez.

GET/v1/account-groups

Listar grupos

Respuesta 200

data []
  • idstringobligatorio
  • namestringobligatorio
  • accountIdsstring[]obligatorio
  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
GET /v1/account-groups
curl "https://api.usecrier.com/v1/account-groups" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/account-groups

Crear un grupo

Cuerpo

  • namestringobligatorio

    Único en el workspace.

    máx. 60

  • accountIdsstring[]obligatorio

    Cuentas de cualquier perfil.

    máx. 100 elementos

Respuesta 201

data
  • idstringobligatorio
  • namestringobligatorio
  • accountIdsstring[]obligatorio
  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
POST /v1/account-groups
curl -X POST "https://api.usecrier.com/v1/account-groups" \
  -H "Authorization: Bearer $CRIER_API_KEY"
PATCH/v1/account-groups/{id}

Editar un grupo

Parámetros

  • idstringobligatorio

Cuerpo

  • namestringopcional

    Único en el workspace.

    máx. 60

  • accountIdsstring[]opcional

    Cuentas de cualquier perfil.

    máx. 100 elementos

Respuesta 200

data
  • idstringobligatorio
  • namestringobligatorio
  • accountIdsstring[]obligatorio
  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
PATCH /v1/account-groups/key_2b4n6m
curl -X PATCH "https://api.usecrier.com/v1/account-groups/key_2b4n6m" \
  -H "Authorization: Bearer $CRIER_API_KEY"
DELETE/v1/account-groups/{id}

Borrar un grupo

Parámetros

  • idstringobligatorio

Respuesta 204

Sin contenido

DELETE /v1/account-groups/key_2b4n6m
curl -X DELETE "https://api.usecrier.com/v1/account-groups/key_2b4n6m" \
  -H "Authorization: Bearer $CRIER_API_KEY"

Publicaciones

Publica ahora, programa, usa la cola o guarda borradores en una o varias cuentas.

POST/v1/posts

Crear una publicación

Se publica ahora salvo que envíes scheduledFor, queue: true o draft: true. Cada destino es una cuenta y puede llevar su propio texto, medios y opciones de red (instagram, youtube, tiktok…). Los destinos de TikTok siempre necesitan opciones tiktok.

Cuerpo

  • contentstringobligatorio

    Texto que se publica en los destinos que no llevan el suyo.

    máx. 10.000

  • mediaobject[]opcional

    Imágenes, vídeos o documentos. Súbelos antes con POST /v1/media/upload-url.

    máx. 35 elementos

    media
    • typestringobligatorio

      Valores: image · video · gif · document

    • urlstring (uri)obligatorio
    • altTextstringopcional

      máx. 1000

  • targetsobject[]obligatorio

    máx. 50 elementos

    targets
    • accountIdstringobligatorio

      Una cuenta conectada (GET /v1/accounts).

    • contentstringopcional

      Sustituye el texto del post en esta red.

      máx. 10.000

    • mediaobject[]opcional

      máx. 35 elementos

      media
      • typestringobligatorio

        Valores: image · video · gif · document

      • urlstring (uri)obligatorio
      • altTextstringopcional

        máx. 1000

    • youtubeobjectopcional
      youtube
      • titlestringopcional

        Título del vídeo (hasta 100 caracteres).

        máx. 100

      • visibilitystringopcional

        public, unlisted o private.

        Valores: public · unlisted · private

      • madeForKidsbooleanopcional

        Marca COPPA. YouTube puede limitar los vídeos que no la indican.

      • categoryIdstringopcional

        Id numérico de categoría de YouTube.

      • playlistIdstringopcional

        Añadirlo a esta lista de reproducción.

        máx. 100

      • tagsstring[]opcional

        Etiquetas (500 caracteres en total).

        máx. 50 elementos

      • firstCommentstringopcional

        Comentario que se publica justo después.

        máx. 10.000

      • thumbnailUrlstring (uri)opcional

        Miniatura personalizada.

      • containsSyntheticMediabooleanopcional

        Contiene contenido realista generado o alterado con IA.

      • notifySubscribersbooleanopcional

        false lo sube sin avisar a los suscriptores.

    • tiktokobjectopcional
      tiktok
      • privacystringobligatorio

        Quién lo ve: public, friends, followers o private.

        Valores: public · friends · followers · private

      • allowCommentsbooleanobligatorio

        Permitir comentarios.

      • allowDuetbooleanopcional

        Permitir dúos.

        Por defecto: false

      • allowStitchbooleanopcional

        Permitir stitch.

        Por defecto: false

      • commercialContentstringopcional

        own_brand si promociona tu negocio, paid_partnership si es patrocinado. No con privacidad private.

        Valores: own_brand · paid_partnership

      • autoAddMusicbooleanopcional

        Solo fotos: TikTok puede añadir música recomendada.

      • consenttrueobligatorio

        Siempre true: el usuario vio la vista previa y aceptó publicar.

    • instagramobjectopcional
      instagram
      • formatstringopcional

        feed, reel o story. Por defecto, las imágenes van al feed y un vídeo es un Reel.

        Valores: feed · reel · story

      • shareToFeedbooleanopcional

        Solo Reels: false lo deja fuera de la cuadrícula del perfil.

      • collaboratorsstring[]opcional

        Hasta 3 usuarios de empresa o creador invitados como colaboradores. No en Stories.

        máx. 3 elementos

      • firstCommentstringopcional

        Comentario que se publica justo después. No en Stories.

        máx. 2200

      • coverUrlstring (uri)opcional

        Solo Reels: imagen de portada.

    • facebookobjectopcional
      facebook
      • formatstringopcional

        feed, reel o story.

        Valores: feed · reel · story

      • reelTitlestringopcional

        Solo Reels: título aparte del texto.

        máx. 255

      • firstCommentstringopcional

        Comentario que se publica justo después. No en Stories.

        máx. 10.000

    • linkedinobjectopcional
      linkedin
      • firstCommentstringopcional

        Comentario que se publica justo después.

        máx. 10.000

      • disableLinkPreviewbooleanopcional

        No mostrar la vista previa del enlace.

      • documentTitlestringopcional

        Título de los documentos (PDF).

        máx. 400

    • xobjectopcional
      x
      • threadstring[]opcional

        Respuestas del hilo, en orden. El texto del post es el primer tuit.

        máx. 25 elementos

      • replySettingsstringopcional

        Quién puede responder: following, mentionedUsers, subscribers o verified.

        Valores: following · mentionedUsers · subscribers · verified

    • threadsobjectopcional
      threads
      • threadstring[]opcional

        Respuestas del hilo, en orden.

        máx. 25 elementos

      • topicTagstringopcional

        Tema de la publicación.

        máx. 50

      • firstCommentstringopcional

        Comentario que se publica justo después.

        máx. 10.000

    • blueskyobjectopcional
      bluesky
      • threadstring[]opcional

        Respuestas del hilo, en orden.

        máx. 25 elementos

    • pinterestobjectopcional
      pinterest
      • titlestringopcional

        Título del Pin.

        máx. 100

      • linkstring (uri)opcional

        A dónde lleva el Pin.

      • boardIdstringopcional

        Tablero. Por defecto, el elegido al conectar.

        máx. 100

    • googleBusinessobjectopcional
      googleBusiness
      • callToActionobjectopcional

        Botón de la publicación.

        callToAction
        • typestringobligatorio

          learn_more, book, order, shop, sign_up o call.

          Valores: learn_more · book · order · shop · sign_up · call

        • urlstring (uri)opcional

          A dónde lleva el botón. Obligatorio salvo con call.

    • telegramobjectopcional
      telegram
      • parseModestringopcional

        Formato del texto: html o markdown.

        Valores: html · markdown

      • disableLinkPreviewbooleanopcional

        No mostrar la vista previa del enlace.

      • silentbooleanopcional

        Enviar sin sonido.

      • protectContentbooleanopcional

        Impedir reenviarlo o guardarlo.

    • snapchatobjectopcional
      snapchat
      • formatstringopcional

        story (desaparece a las 24 h), saved_story (queda en el perfil) o spotlight.

        Valores: story · saved_story · spotlight

    • redditobjectopcional
      reddit
      • subredditstringopcional

        Subreddit sin r/.

      • titlestringopcional

        Título del post.

        máx. 300

      • linkstring (uri)opcional

        Lo convierte en un post de enlace.

      • flairIdstringopcional

        Flair del subreddit.

        máx. 100

      • nsfwbooleanopcional

        Marcarlo como NSFW.

      • spoilerbooleanopcional

        Marcarlo como spoiler.

  • scheduledForstring (date-time)opcional

    Cuándo publicar (ISO 8601 con zona). Sin él se publica ya.

  • timezonestringopcional

    Zona horaria IANA a la que se refiere scheduledFor.

    máx. 64

  • queuebooleanopcional

    Tomar el siguiente hueco libre de la cola del perfil.

  • draftbooleanopcional

    Guardar sin publicar ni programar.

  • requiresApprovalbooleanopcional

    La deja en pending_approval hasta que un propietario o admin la apruebe. Los miembros de un workspace que exige aprobación siempre pasan por aquí.

Respuesta 201

data
  • idstringobligatorio
  • contentstringobligatorio
  • mediaobject[]obligatorio
    media
    • typestringobligatorio

      Valores: image · video · gif · document

    • urlstring (uri)obligatorio
    • altTextstringopcional

      máx. 1000

  • targetsobject[]obligatorio
    targets
    • accountIdstringobligatorio
    • platformstringobligatorio
    • contentstringopcional
    • mediaobject[]opcional
      media
      • typestringobligatorio

        Valores: image · video · gif · document

      • urlstring (uri)obligatorio
      • altTextstringopcional

        máx. 1000

    • statusstringobligatorio

      Valores: pending · published · failed · removed

    • urlstring (uri)opcional

      La publicación en la red, una vez publicada.

    • errorstringopcional
  • statusstringobligatorio

    Valores: draft · pending_approval · scheduled · publishing · published · partial · failed · cancelled

  • scheduledForstring (date-time)opcional
  • approvalobjectopcional

    Aparece cuando la publicación ha pasado por revisión.

    approval
    • requestedBystringopcional

      Quién la envió a revisión; no aparece si fue una API key.

    • requestedAtstring (date-time)obligatorio
    • queuebooleanopcional

      Al aprobarla, entra en la cola del perfil.

    • decisionstringopcional

      Valores: approved · rejected

    • decidedBystringopcional
    • decidedAtstring (date-time)opcional
    • notestringopcional

      Por qué se rechazó.

  • recyclingobjectopcional

    Aparece cuando se activa el reciclado.

    recycling
    • activebooleanobligatorio
    • everyintegerobligatorio

      máx. 9.007.199.254.740.991

    • unitstringobligatorio

      Valores: week · month

    • startAtstring (date-time)opcional
    • maxCopiesintegeropcional

      máx. 9.007.199.254.740.991

    • untilstring (date-time)opcional
    • variationsstring[]opcional
    • timezonestringopcional
    • copiesintegerobligatorio

      Copias creadas hasta ahora.

      máx. 9.007.199.254.740.991

    • nextAtstring (date-time)opcional

      Cuándo sale la siguiente copia; no aparece cuando se ha parado.

    • lastCopyIdstringopcional

      La última copia, que es una publicación propia.

  • recycledFromstringopcional

    En una copia reciclada: la publicación original.

  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
POST /v1/posts
curl -X POST "https://api.usecrier.com/v1/posts" \
  -H "Authorization: Bearer $CRIER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Our autumn collection is here 🍂",
    "media": [
      {
        "type": "image",
        "url": "https://cdn.acme.com/autumn.jpg"
      }
    ],
    "targets": [
      {
        "accountId": "acc_3k9x2m"
      },
      {
        "accountId": "acc_9z8y7x",
        "youtube": {
          "title": "Autumn collection"
        }
      }
    ],
    "scheduledFor": "2026-10-30T09:00:00+01:00"
  }'
GET/v1/posts

Listar publicaciones

Las más recientes primero.

Parámetros

  • limitintegeropcional

    máx. 100

Respuesta 200

data []
  • idstringobligatorio
  • contentstringobligatorio
  • mediaobject[]obligatorio
    media
    • typestringobligatorio

      Valores: image · video · gif · document

    • urlstring (uri)obligatorio
    • altTextstringopcional

      máx. 1000

  • targetsobject[]obligatorio
    targets
    • accountIdstringobligatorio
    • platformstringobligatorio
    • contentstringopcional
    • mediaobject[]opcional
      media
      • typestringobligatorio

        Valores: image · video · gif · document

      • urlstring (uri)obligatorio
      • altTextstringopcional

        máx. 1000

    • statusstringobligatorio

      Valores: pending · published · failed · removed

    • urlstring (uri)opcional

      La publicación en la red, una vez publicada.

    • errorstringopcional
  • statusstringobligatorio

    Valores: draft · pending_approval · scheduled · publishing · published · partial · failed · cancelled

  • scheduledForstring (date-time)opcional
  • approvalobjectopcional

    Aparece cuando la publicación ha pasado por revisión.

    approval
    • requestedBystringopcional

      Quién la envió a revisión; no aparece si fue una API key.

    • requestedAtstring (date-time)obligatorio
    • queuebooleanopcional

      Al aprobarla, entra en la cola del perfil.

    • decisionstringopcional

      Valores: approved · rejected

    • decidedBystringopcional
    • decidedAtstring (date-time)opcional
    • notestringopcional

      Por qué se rechazó.

  • recyclingobjectopcional

    Aparece cuando se activa el reciclado.

    recycling
    • activebooleanobligatorio
    • everyintegerobligatorio

      máx. 9.007.199.254.740.991

    • unitstringobligatorio

      Valores: week · month

    • startAtstring (date-time)opcional
    • maxCopiesintegeropcional

      máx. 9.007.199.254.740.991

    • untilstring (date-time)opcional
    • variationsstring[]opcional
    • timezonestringopcional
    • copiesintegerobligatorio

      Copias creadas hasta ahora.

      máx. 9.007.199.254.740.991

    • nextAtstring (date-time)opcional

      Cuándo sale la siguiente copia; no aparece cuando se ha parado.

    • lastCopyIdstringopcional

      La última copia, que es una publicación propia.

  • recycledFromstringopcional

    En una copia reciclada: la publicación original.

  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
GET /v1/posts
curl "https://api.usecrier.com/v1/posts?limit=20" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/posts/import

Importar publicaciones desde un CSV

Una publicación por fila, hasta 50 filas. Columnas: content, accounts (ids separados por |) o group, schedule_time, timezone, queue, draft, media_urls y las de cada red (mira la guía de importación). Envía antes dryRun: true para comprobar las filas sin publicar.

Cuerpo

  • csvstringobligatorio

    El texto del CSV, con la fila de cabecera primero.

    máx. 1.000.000

  • dryRunbooleanopcional

    Comprobar cada fila sin publicar.

Respuesta 200

data
  • totalintegerobligatorio

    máx. 9.007.199.254.740.991

  • validintegerobligatorio

    máx. 9.007.199.254.740.991

  • invalidintegerobligatorio

    máx. 9.007.199.254.740.991

  • dryRunbooleanobligatorio
  • unknownColumnsstring[]obligatorio

    Columnas que no se usaron.

  • rowsobject[]obligatorio
    rows
    • rowintegerobligatorio

      Empieza en 1, sin contar la cabecera.

      máx. 9.007.199.254.740.991

    • okbooleanobligatorio
    • postIdstringopcional
    • errorstringopcional
POST /v1/posts/import
curl -X POST "https://api.usecrier.com/v1/posts/import" \
  -H "Authorization: Bearer $CRIER_API_KEY"
PATCH/v1/posts/{id}

Cambiar una publicación que no ha salido

Borradores, programadas, con error y canceladas. Los campos que no envíes se mantienen; targets sustituye la lista entera. draft: false publica un borrador ahora, en scheduledFor o en la cola.

Parámetros

  • idstringobligatorio

Cuerpo

  • contentstringopcional

    Texto que se publica en los destinos que no llevan el suyo.

    máx. 10.000

  • mediaobject[]opcional

    Imágenes, vídeos o documentos. Súbelos antes con POST /v1/media/upload-url.

    máx. 35 elementos

    media
    • typestringobligatorio

      Valores: image · video · gif · document

    • urlstring (uri)obligatorio
    • altTextstringopcional

      máx. 1000

  • targetsobject[]opcional

    máx. 50 elementos

    targets
    • accountIdstringobligatorio

      Una cuenta conectada (GET /v1/accounts).

    • contentstringopcional

      Sustituye el texto del post en esta red.

      máx. 10.000

    • mediaobject[]opcional

      máx. 35 elementos

      media
      • typestringobligatorio

        Valores: image · video · gif · document

      • urlstring (uri)obligatorio
      • altTextstringopcional

        máx. 1000

    • youtubeobjectopcional
      youtube
      • titlestringopcional

        Título del vídeo (hasta 100 caracteres).

        máx. 100

      • visibilitystringopcional

        public, unlisted o private.

        Valores: public · unlisted · private

      • madeForKidsbooleanopcional

        Marca COPPA. YouTube puede limitar los vídeos que no la indican.

      • categoryIdstringopcional

        Id numérico de categoría de YouTube.

      • playlistIdstringopcional

        Añadirlo a esta lista de reproducción.

        máx. 100

      • tagsstring[]opcional

        Etiquetas (500 caracteres en total).

        máx. 50 elementos

      • firstCommentstringopcional

        Comentario que se publica justo después.

        máx. 10.000

      • thumbnailUrlstring (uri)opcional

        Miniatura personalizada.

      • containsSyntheticMediabooleanopcional

        Contiene contenido realista generado o alterado con IA.

      • notifySubscribersbooleanopcional

        false lo sube sin avisar a los suscriptores.

    • tiktokobjectopcional
      tiktok
      • privacystringobligatorio

        Quién lo ve: public, friends, followers o private.

        Valores: public · friends · followers · private

      • allowCommentsbooleanobligatorio

        Permitir comentarios.

      • allowDuetbooleanopcional

        Permitir dúos.

        Por defecto: false

      • allowStitchbooleanopcional

        Permitir stitch.

        Por defecto: false

      • commercialContentstringopcional

        own_brand si promociona tu negocio, paid_partnership si es patrocinado. No con privacidad private.

        Valores: own_brand · paid_partnership

      • autoAddMusicbooleanopcional

        Solo fotos: TikTok puede añadir música recomendada.

      • consenttrueobligatorio

        Siempre true: el usuario vio la vista previa y aceptó publicar.

    • instagramobjectopcional
      instagram
      • formatstringopcional

        feed, reel o story. Por defecto, las imágenes van al feed y un vídeo es un Reel.

        Valores: feed · reel · story

      • shareToFeedbooleanopcional

        Solo Reels: false lo deja fuera de la cuadrícula del perfil.

      • collaboratorsstring[]opcional

        Hasta 3 usuarios de empresa o creador invitados como colaboradores. No en Stories.

        máx. 3 elementos

      • firstCommentstringopcional

        Comentario que se publica justo después. No en Stories.

        máx. 2200

      • coverUrlstring (uri)opcional

        Solo Reels: imagen de portada.

    • facebookobjectopcional
      facebook
      • formatstringopcional

        feed, reel o story.

        Valores: feed · reel · story

      • reelTitlestringopcional

        Solo Reels: título aparte del texto.

        máx. 255

      • firstCommentstringopcional

        Comentario que se publica justo después. No en Stories.

        máx. 10.000

    • linkedinobjectopcional
      linkedin
      • firstCommentstringopcional

        Comentario que se publica justo después.

        máx. 10.000

      • disableLinkPreviewbooleanopcional

        No mostrar la vista previa del enlace.

      • documentTitlestringopcional

        Título de los documentos (PDF).

        máx. 400

    • xobjectopcional
      x
      • threadstring[]opcional

        Respuestas del hilo, en orden. El texto del post es el primer tuit.

        máx. 25 elementos

      • replySettingsstringopcional

        Quién puede responder: following, mentionedUsers, subscribers o verified.

        Valores: following · mentionedUsers · subscribers · verified

    • threadsobjectopcional
      threads
      • threadstring[]opcional

        Respuestas del hilo, en orden.

        máx. 25 elementos

      • topicTagstringopcional

        Tema de la publicación.

        máx. 50

      • firstCommentstringopcional

        Comentario que se publica justo después.

        máx. 10.000

    • blueskyobjectopcional
      bluesky
      • threadstring[]opcional

        Respuestas del hilo, en orden.

        máx. 25 elementos

    • pinterestobjectopcional
      pinterest
      • titlestringopcional

        Título del Pin.

        máx. 100

      • linkstring (uri)opcional

        A dónde lleva el Pin.

      • boardIdstringopcional

        Tablero. Por defecto, el elegido al conectar.

        máx. 100

    • googleBusinessobjectopcional
      googleBusiness
      • callToActionobjectopcional

        Botón de la publicación.

        callToAction
        • typestringobligatorio

          learn_more, book, order, shop, sign_up o call.

          Valores: learn_more · book · order · shop · sign_up · call

        • urlstring (uri)opcional

          A dónde lleva el botón. Obligatorio salvo con call.

    • telegramobjectopcional
      telegram
      • parseModestringopcional

        Formato del texto: html o markdown.

        Valores: html · markdown

      • disableLinkPreviewbooleanopcional

        No mostrar la vista previa del enlace.

      • silentbooleanopcional

        Enviar sin sonido.

      • protectContentbooleanopcional

        Impedir reenviarlo o guardarlo.

    • snapchatobjectopcional
      snapchat
      • formatstringopcional

        story (desaparece a las 24 h), saved_story (queda en el perfil) o spotlight.

        Valores: story · saved_story · spotlight

    • redditobjectopcional
      reddit
      • subredditstringopcional

        Subreddit sin r/.

      • titlestringopcional

        Título del post.

        máx. 300

      • linkstring (uri)opcional

        Lo convierte en un post de enlace.

      • flairIdstringopcional

        Flair del subreddit.

        máx. 100

      • nsfwbooleanopcional

        Marcarlo como NSFW.

      • spoilerbooleanopcional

        Marcarlo como spoiler.

  • scheduledForstring (date-time)opcional

    Cuándo publicar (ISO 8601 con zona). Sin él se publica ya.

  • timezonestringopcional

    Zona horaria IANA a la que se refiere scheduledFor.

    máx. 64

  • queuebooleanopcional

    Tomar el siguiente hueco libre de la cola del perfil.

  • draftbooleanopcional

    Guardar sin publicar ni programar.

  • requiresApprovalbooleanopcional

    La deja en pending_approval hasta que un propietario o admin la apruebe. Los miembros de un workspace que exige aprobación siempre pasan por aquí.

Respuesta 200

data
  • idstringobligatorio
  • contentstringobligatorio
  • mediaobject[]obligatorio
    media
    • typestringobligatorio

      Valores: image · video · gif · document

    • urlstring (uri)obligatorio
    • altTextstringopcional

      máx. 1000

  • targetsobject[]obligatorio
    targets
    • accountIdstringobligatorio
    • platformstringobligatorio
    • contentstringopcional
    • mediaobject[]opcional
      media
      • typestringobligatorio

        Valores: image · video · gif · document

      • urlstring (uri)obligatorio
      • altTextstringopcional

        máx. 1000

    • statusstringobligatorio

      Valores: pending · published · failed · removed

    • urlstring (uri)opcional

      La publicación en la red, una vez publicada.

    • errorstringopcional
  • statusstringobligatorio

    Valores: draft · pending_approval · scheduled · publishing · published · partial · failed · cancelled

  • scheduledForstring (date-time)opcional
  • approvalobjectopcional

    Aparece cuando la publicación ha pasado por revisión.

    approval
    • requestedBystringopcional

      Quién la envió a revisión; no aparece si fue una API key.

    • requestedAtstring (date-time)obligatorio
    • queuebooleanopcional

      Al aprobarla, entra en la cola del perfil.

    • decisionstringopcional

      Valores: approved · rejected

    • decidedBystringopcional
    • decidedAtstring (date-time)opcional
    • notestringopcional

      Por qué se rechazó.

  • recyclingobjectopcional

    Aparece cuando se activa el reciclado.

    recycling
    • activebooleanobligatorio
    • everyintegerobligatorio

      máx. 9.007.199.254.740.991

    • unitstringobligatorio

      Valores: week · month

    • startAtstring (date-time)opcional
    • maxCopiesintegeropcional

      máx. 9.007.199.254.740.991

    • untilstring (date-time)opcional
    • variationsstring[]opcional
    • timezonestringopcional
    • copiesintegerobligatorio

      Copias creadas hasta ahora.

      máx. 9.007.199.254.740.991

    • nextAtstring (date-time)opcional

      Cuándo sale la siguiente copia; no aparece cuando se ha parado.

    • lastCopyIdstringopcional

      La última copia, que es una publicación propia.

  • recycledFromstringopcional

    En una copia reciclada: la publicación original.

  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
PATCH /v1/posts/pst_7q1w0e
curl -X PATCH "https://api.usecrier.com/v1/posts/pst_7q1w0e" \
  -H "Authorization: Bearer $CRIER_API_KEY"
GET/v1/posts/{id}

Ver una publicación

Parámetros

  • idstringobligatorio

Respuesta 200

data
  • idstringobligatorio
  • contentstringobligatorio
  • mediaobject[]obligatorio
    media
    • typestringobligatorio

      Valores: image · video · gif · document

    • urlstring (uri)obligatorio
    • altTextstringopcional

      máx. 1000

  • targetsobject[]obligatorio
    targets
    • accountIdstringobligatorio
    • platformstringobligatorio
    • contentstringopcional
    • mediaobject[]opcional
      media
      • typestringobligatorio

        Valores: image · video · gif · document

      • urlstring (uri)obligatorio
      • altTextstringopcional

        máx. 1000

    • statusstringobligatorio

      Valores: pending · published · failed · removed

    • urlstring (uri)opcional

      La publicación en la red, una vez publicada.

    • errorstringopcional
  • statusstringobligatorio

    Valores: draft · pending_approval · scheduled · publishing · published · partial · failed · cancelled

  • scheduledForstring (date-time)opcional
  • approvalobjectopcional

    Aparece cuando la publicación ha pasado por revisión.

    approval
    • requestedBystringopcional

      Quién la envió a revisión; no aparece si fue una API key.

    • requestedAtstring (date-time)obligatorio
    • queuebooleanopcional

      Al aprobarla, entra en la cola del perfil.

    • decisionstringopcional

      Valores: approved · rejected

    • decidedBystringopcional
    • decidedAtstring (date-time)opcional
    • notestringopcional

      Por qué se rechazó.

  • recyclingobjectopcional

    Aparece cuando se activa el reciclado.

    recycling
    • activebooleanobligatorio
    • everyintegerobligatorio

      máx. 9.007.199.254.740.991

    • unitstringobligatorio

      Valores: week · month

    • startAtstring (date-time)opcional
    • maxCopiesintegeropcional

      máx. 9.007.199.254.740.991

    • untilstring (date-time)opcional
    • variationsstring[]opcional
    • timezonestringopcional
    • copiesintegerobligatorio

      Copias creadas hasta ahora.

      máx. 9.007.199.254.740.991

    • nextAtstring (date-time)opcional

      Cuándo sale la siguiente copia; no aparece cuando se ha parado.

    • lastCopyIdstringopcional

      La última copia, que es una publicación propia.

  • recycledFromstringopcional

    En una copia reciclada: la publicación original.

  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
GET /v1/posts/pst_7q1w0e
curl "https://api.usecrier.com/v1/posts/pst_7q1w0e" \
  -H "Authorization: Bearer $CRIER_API_KEY"
DELETE/v1/posts/{id}

Borrar una publicación

La borra de Crier. Si sigue publicada, retírala antes.

Parámetros

  • idstringobligatorio

Respuesta 204

Sin contenido

DELETE /v1/posts/pst_7q1w0e
curl -X DELETE "https://api.usecrier.com/v1/posts/pst_7q1w0e" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/posts/{id}/edit

Editar el texto de una publicación publicada

En X (cuentas Premium, durante la primera hora), Facebook, LinkedIn, YouTube, Pinterest, Google Business, Telegram, Discord y Reddit. Las imágenes y vídeos no cambian.

Parámetros

  • idstringobligatorio

Cuerpo

  • contentstringobligatorio

    El nuevo texto de la publicación.

    máx. 10.000

  • accountIdstringopcional

    Editar solo la copia de esta cuenta; si no, todas las publicadas.

Respuesta 200

data
  • idstringobligatorio
  • contentstringobligatorio
  • mediaobject[]obligatorio
    media
    • typestringobligatorio

      Valores: image · video · gif · document

    • urlstring (uri)obligatorio
    • altTextstringopcional

      máx. 1000

  • targetsobject[]obligatorio
    targets
    • accountIdstringobligatorio
    • platformstringobligatorio
    • contentstringopcional
    • mediaobject[]opcional
      media
      • typestringobligatorio

        Valores: image · video · gif · document

      • urlstring (uri)obligatorio
      • altTextstringopcional

        máx. 1000

    • statusstringobligatorio

      Valores: pending · published · failed · removed

    • urlstring (uri)opcional

      La publicación en la red, una vez publicada.

    • errorstringopcional
  • statusstringobligatorio

    Valores: draft · pending_approval · scheduled · publishing · published · partial · failed · cancelled

  • scheduledForstring (date-time)opcional
  • approvalobjectopcional

    Aparece cuando la publicación ha pasado por revisión.

    approval
    • requestedBystringopcional

      Quién la envió a revisión; no aparece si fue una API key.

    • requestedAtstring (date-time)obligatorio
    • queuebooleanopcional

      Al aprobarla, entra en la cola del perfil.

    • decisionstringopcional

      Valores: approved · rejected

    • decidedBystringopcional
    • decidedAtstring (date-time)opcional
    • notestringopcional

      Por qué se rechazó.

  • recyclingobjectopcional

    Aparece cuando se activa el reciclado.

    recycling
    • activebooleanobligatorio
    • everyintegerobligatorio

      máx. 9.007.199.254.740.991

    • unitstringobligatorio

      Valores: week · month

    • startAtstring (date-time)opcional
    • maxCopiesintegeropcional

      máx. 9.007.199.254.740.991

    • untilstring (date-time)opcional
    • variationsstring[]opcional
    • timezonestringopcional
    • copiesintegerobligatorio

      Copias creadas hasta ahora.

      máx. 9.007.199.254.740.991

    • nextAtstring (date-time)opcional

      Cuándo sale la siguiente copia; no aparece cuando se ha parado.

    • lastCopyIdstringopcional

      La última copia, que es una publicación propia.

  • recycledFromstringopcional

    En una copia reciclada: la publicación original.

  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
POST /v1/posts/pst_7q1w0e/edit
curl -X POST "https://api.usecrier.com/v1/posts/pst_7q1w0e/edit" \
  -H "Authorization: Bearer $CRIER_API_KEY"
GET/v1/posts/{id}/metrics

Ver las métricas de una publicación

Impresiones, alcance, reproducciones, me gusta, comentarios, compartidos, guardados y clics, en total y por cuenta. Cada red da las suyas.

Parámetros

  • idstringobligatorio

Respuesta 200

data
  • totalobjectobligatorio
    total
    • impressionsintegerobligatorio

      máx. 9.007.199.254.740.991

    • reachintegerobligatorio

      máx. 9.007.199.254.740.991

    • viewsintegerobligatorio

      máx. 9.007.199.254.740.991

    • likesintegerobligatorio

      máx. 9.007.199.254.740.991

    • commentsintegerobligatorio

      máx. 9.007.199.254.740.991

    • sharesintegerobligatorio

      máx. 9.007.199.254.740.991

    • savesintegerobligatorio

      máx. 9.007.199.254.740.991

    • clicksintegerobligatorio

      máx. 9.007.199.254.740.991

    • engagementRatenumberobligatorio

      Porcentaje: interacciones sobre impresiones (o alcance).

  • targetsobject[]obligatorio
    targets
    • accountIdstringobligatorio
    • platformstringobligatorio
    • metricsobjectobligatorio
      metrics
      • impressionsintegerobligatorio

        máx. 9.007.199.254.740.991

      • reachintegerobligatorio

        máx. 9.007.199.254.740.991

      • viewsintegerobligatorio

        máx. 9.007.199.254.740.991

      • likesintegerobligatorio

        máx. 9.007.199.254.740.991

      • commentsintegerobligatorio

        máx. 9.007.199.254.740.991

      • sharesintegerobligatorio

        máx. 9.007.199.254.740.991

      • savesintegerobligatorio

        máx. 9.007.199.254.740.991

      • clicksintegerobligatorio

        máx. 9.007.199.254.740.991

      • engagementRatenumberobligatorio

        Porcentaje: interacciones sobre impresiones (o alcance).

  • updatedAtstring (date-time)opcional
GET /v1/posts/pst_7q1w0e/metrics
curl "https://api.usecrier.com/v1/posts/pst_7q1w0e/metrics" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/posts/{id}/cancel

Cancelar una publicación programada, un borrador o una pendiente de aprobación

Parámetros

  • idstringobligatorio

Respuesta 200

data
  • idstringobligatorio
  • contentstringobligatorio
  • mediaobject[]obligatorio
    media
    • typestringobligatorio

      Valores: image · video · gif · document

    • urlstring (uri)obligatorio
    • altTextstringopcional

      máx. 1000

  • targetsobject[]obligatorio
    targets
    • accountIdstringobligatorio
    • platformstringobligatorio
    • contentstringopcional
    • mediaobject[]opcional
      media
      • typestringobligatorio

        Valores: image · video · gif · document

      • urlstring (uri)obligatorio
      • altTextstringopcional

        máx. 1000

    • statusstringobligatorio

      Valores: pending · published · failed · removed

    • urlstring (uri)opcional

      La publicación en la red, una vez publicada.

    • errorstringopcional
  • statusstringobligatorio

    Valores: draft · pending_approval · scheduled · publishing · published · partial · failed · cancelled

  • scheduledForstring (date-time)opcional
  • approvalobjectopcional

    Aparece cuando la publicación ha pasado por revisión.

    approval
    • requestedBystringopcional

      Quién la envió a revisión; no aparece si fue una API key.

    • requestedAtstring (date-time)obligatorio
    • queuebooleanopcional

      Al aprobarla, entra en la cola del perfil.

    • decisionstringopcional

      Valores: approved · rejected

    • decidedBystringopcional
    • decidedAtstring (date-time)opcional
    • notestringopcional

      Por qué se rechazó.

  • recyclingobjectopcional

    Aparece cuando se activa el reciclado.

    recycling
    • activebooleanobligatorio
    • everyintegerobligatorio

      máx. 9.007.199.254.740.991

    • unitstringobligatorio

      Valores: week · month

    • startAtstring (date-time)opcional
    • maxCopiesintegeropcional

      máx. 9.007.199.254.740.991

    • untilstring (date-time)opcional
    • variationsstring[]opcional
    • timezonestringopcional
    • copiesintegerobligatorio

      Copias creadas hasta ahora.

      máx. 9.007.199.254.740.991

    • nextAtstring (date-time)opcional

      Cuándo sale la siguiente copia; no aparece cuando se ha parado.

    • lastCopyIdstringopcional

      La última copia, que es una publicación propia.

  • recycledFromstringopcional

    En una copia reciclada: la publicación original.

  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
POST /v1/posts/pst_7q1w0e/cancel
curl -X POST "https://api.usecrier.com/v1/posts/pst_7q1w0e/cancel" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/posts/{id}/review

Aprobar o rechazar una publicación

Solo para publicaciones en pending_approval, por propietarios, admins o una API key. Aprobar la programa para su fecha, la mete en la cola si la pidió o la publica ya si su fecha pasó. Rechazar la devuelve a borrador con la nota y envía post.rejected.

Parámetros

  • idstringobligatorio

Cuerpo

  • decisionstringobligatorio

    approve la programa (o la publica ya si su fecha pasó); reject la devuelve a borrador.

    Valores: approve · reject

  • notestringopcional

    El motivo, para quien la escribió. Se muestra con el borrador tras un rechazo.

    máx. 1000

Respuesta 200

data
  • idstringobligatorio
  • contentstringobligatorio
  • mediaobject[]obligatorio
    media
    • typestringobligatorio

      Valores: image · video · gif · document

    • urlstring (uri)obligatorio
    • altTextstringopcional

      máx. 1000

  • targetsobject[]obligatorio
    targets
    • accountIdstringobligatorio
    • platformstringobligatorio
    • contentstringopcional
    • mediaobject[]opcional
      media
      • typestringobligatorio

        Valores: image · video · gif · document

      • urlstring (uri)obligatorio
      • altTextstringopcional

        máx. 1000

    • statusstringobligatorio

      Valores: pending · published · failed · removed

    • urlstring (uri)opcional

      La publicación en la red, una vez publicada.

    • errorstringopcional
  • statusstringobligatorio

    Valores: draft · pending_approval · scheduled · publishing · published · partial · failed · cancelled

  • scheduledForstring (date-time)opcional
  • approvalobjectopcional

    Aparece cuando la publicación ha pasado por revisión.

    approval
    • requestedBystringopcional

      Quién la envió a revisión; no aparece si fue una API key.

    • requestedAtstring (date-time)obligatorio
    • queuebooleanopcional

      Al aprobarla, entra en la cola del perfil.

    • decisionstringopcional

      Valores: approved · rejected

    • decidedBystringopcional
    • decidedAtstring (date-time)opcional
    • notestringopcional

      Por qué se rechazó.

  • recyclingobjectopcional

    Aparece cuando se activa el reciclado.

    recycling
    • activebooleanobligatorio
    • everyintegerobligatorio

      máx. 9.007.199.254.740.991

    • unitstringobligatorio

      Valores: week · month

    • startAtstring (date-time)opcional
    • maxCopiesintegeropcional

      máx. 9.007.199.254.740.991

    • untilstring (date-time)opcional
    • variationsstring[]opcional
    • timezonestringopcional
    • copiesintegerobligatorio

      Copias creadas hasta ahora.

      máx. 9.007.199.254.740.991

    • nextAtstring (date-time)opcional

      Cuándo sale la siguiente copia; no aparece cuando se ha parado.

    • lastCopyIdstringopcional

      La última copia, que es una publicación propia.

  • recycledFromstringopcional

    En una copia reciclada: la publicación original.

  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
POST /v1/posts/pst_7q1w0e/review
curl -X POST "https://api.usecrier.com/v1/posts/pst_7q1w0e/review" \
  -H "Authorization: Bearer $CRIER_API_KEY"
PUT/v1/posts/{id}/recycling

Reciclar una publicación

La vuelve a publicar cada every semanas o meses como una publicación nueva (recycledFrom apunta a la original), hasta maxCopies o until. Las copias no van a YouTube ni a TikTok, y cada cuenta puede tener hasta 10 publicaciones reciclándose. Enviarlo otra vez cambia la regla y mantiene la cuenta de copias.

Parámetros

  • idstringobligatorio

Cuerpo

  • everyintegerobligatorio

    Cuántas unidades entre copia y copia.

    máx. 52

  • unitstringobligatorio

    week (semana) o month (mes).

    Valores: week · month

  • startAtstring (date-time)opcional

    Cuándo sale la primera copia. Por defecto, un intervalo después de la fecha de la publicación; si es antigua, la siguiente fecha de esa serie, a la misma hora.

  • maxCopiesintegeropcional

    Parar tras este número de copias.

    máx. 100

  • untilstring (date-time)opcional

    Parar después de esta fecha.

  • variationsstring[]opcional

    Textos que se usan por turnos en lugar del de la publicación. El texto propio de un destino sigue mandando. Recomendado en X y Pinterest, que penalizan las repeticiones.

    mín. 2máx. 20 elementos

  • timezonestringopcional

    Zona horaria IANA (por ejemplo Europe/Madrid) en la que se cuenta el intervalo, para que las copias mantengan su hora local cuando cambia la hora. UTC por defecto.

    máx. 64

Respuesta 200

data
  • idstringobligatorio
  • contentstringobligatorio
  • mediaobject[]obligatorio
    media
    • typestringobligatorio

      Valores: image · video · gif · document

    • urlstring (uri)obligatorio
    • altTextstringopcional

      máx. 1000

  • targetsobject[]obligatorio
    targets
    • accountIdstringobligatorio
    • platformstringobligatorio
    • contentstringopcional
    • mediaobject[]opcional
      media
      • typestringobligatorio

        Valores: image · video · gif · document

      • urlstring (uri)obligatorio
      • altTextstringopcional

        máx. 1000

    • statusstringobligatorio

      Valores: pending · published · failed · removed

    • urlstring (uri)opcional

      La publicación en la red, una vez publicada.

    • errorstringopcional
  • statusstringobligatorio

    Valores: draft · pending_approval · scheduled · publishing · published · partial · failed · cancelled

  • scheduledForstring (date-time)opcional
  • approvalobjectopcional

    Aparece cuando la publicación ha pasado por revisión.

    approval
    • requestedBystringopcional

      Quién la envió a revisión; no aparece si fue una API key.

    • requestedAtstring (date-time)obligatorio
    • queuebooleanopcional

      Al aprobarla, entra en la cola del perfil.

    • decisionstringopcional

      Valores: approved · rejected

    • decidedBystringopcional
    • decidedAtstring (date-time)opcional
    • notestringopcional

      Por qué se rechazó.

  • recyclingobjectopcional

    Aparece cuando se activa el reciclado.

    recycling
    • activebooleanobligatorio
    • everyintegerobligatorio

      máx. 9.007.199.254.740.991

    • unitstringobligatorio

      Valores: week · month

    • startAtstring (date-time)opcional
    • maxCopiesintegeropcional

      máx. 9.007.199.254.740.991

    • untilstring (date-time)opcional
    • variationsstring[]opcional
    • timezonestringopcional
    • copiesintegerobligatorio

      Copias creadas hasta ahora.

      máx. 9.007.199.254.740.991

    • nextAtstring (date-time)opcional

      Cuándo sale la siguiente copia; no aparece cuando se ha parado.

    • lastCopyIdstringopcional

      La última copia, que es una publicación propia.

  • recycledFromstringopcional

    En una copia reciclada: la publicación original.

  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
PUT /v1/posts/pst_7q1w0e/recycling
curl -X PUT "https://api.usecrier.com/v1/posts/pst_7q1w0e/recycling" \
  -H "Authorization: Bearer $CRIER_API_KEY"
DELETE/v1/posts/{id}/recycling

Dejar de reciclar una publicación

Las copias ya creadas se quedan como están.

Parámetros

  • idstringobligatorio

Respuesta 200

data
  • idstringobligatorio
  • contentstringobligatorio
  • mediaobject[]obligatorio
    media
    • typestringobligatorio

      Valores: image · video · gif · document

    • urlstring (uri)obligatorio
    • altTextstringopcional

      máx. 1000

  • targetsobject[]obligatorio
    targets
    • accountIdstringobligatorio
    • platformstringobligatorio
    • contentstringopcional
    • mediaobject[]opcional
      media
      • typestringobligatorio

        Valores: image · video · gif · document

      • urlstring (uri)obligatorio
      • altTextstringopcional

        máx. 1000

    • statusstringobligatorio

      Valores: pending · published · failed · removed

    • urlstring (uri)opcional

      La publicación en la red, una vez publicada.

    • errorstringopcional
  • statusstringobligatorio

    Valores: draft · pending_approval · scheduled · publishing · published · partial · failed · cancelled

  • scheduledForstring (date-time)opcional
  • approvalobjectopcional

    Aparece cuando la publicación ha pasado por revisión.

    approval
    • requestedBystringopcional

      Quién la envió a revisión; no aparece si fue una API key.

    • requestedAtstring (date-time)obligatorio
    • queuebooleanopcional

      Al aprobarla, entra en la cola del perfil.

    • decisionstringopcional

      Valores: approved · rejected

    • decidedBystringopcional
    • decidedAtstring (date-time)opcional
    • notestringopcional

      Por qué se rechazó.

  • recyclingobjectopcional

    Aparece cuando se activa el reciclado.

    recycling
    • activebooleanobligatorio
    • everyintegerobligatorio

      máx. 9.007.199.254.740.991

    • unitstringobligatorio

      Valores: week · month

    • startAtstring (date-time)opcional
    • maxCopiesintegeropcional

      máx. 9.007.199.254.740.991

    • untilstring (date-time)opcional
    • variationsstring[]opcional
    • timezonestringopcional
    • copiesintegerobligatorio

      Copias creadas hasta ahora.

      máx. 9.007.199.254.740.991

    • nextAtstring (date-time)opcional

      Cuándo sale la siguiente copia; no aparece cuando se ha parado.

    • lastCopyIdstringopcional

      La última copia, que es una publicación propia.

  • recycledFromstringopcional

    En una copia reciclada: la publicación original.

  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
DELETE /v1/posts/pst_7q1w0e/recycling
curl -X DELETE "https://api.usecrier.com/v1/posts/pst_7q1w0e/recycling" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/posts/{id}/retry

Reintentar los destinos fallidos

Parámetros

  • idstringobligatorio

Respuesta 200

data
  • idstringobligatorio
  • contentstringobligatorio
  • mediaobject[]obligatorio
    media
    • typestringobligatorio

      Valores: image · video · gif · document

    • urlstring (uri)obligatorio
    • altTextstringopcional

      máx. 1000

  • targetsobject[]obligatorio
    targets
    • accountIdstringobligatorio
    • platformstringobligatorio
    • contentstringopcional
    • mediaobject[]opcional
      media
      • typestringobligatorio

        Valores: image · video · gif · document

      • urlstring (uri)obligatorio
      • altTextstringopcional

        máx. 1000

    • statusstringobligatorio

      Valores: pending · published · failed · removed

    • urlstring (uri)opcional

      La publicación en la red, una vez publicada.

    • errorstringopcional
  • statusstringobligatorio

    Valores: draft · pending_approval · scheduled · publishing · published · partial · failed · cancelled

  • scheduledForstring (date-time)opcional
  • approvalobjectopcional

    Aparece cuando la publicación ha pasado por revisión.

    approval
    • requestedBystringopcional

      Quién la envió a revisión; no aparece si fue una API key.

    • requestedAtstring (date-time)obligatorio
    • queuebooleanopcional

      Al aprobarla, entra en la cola del perfil.

    • decisionstringopcional

      Valores: approved · rejected

    • decidedBystringopcional
    • decidedAtstring (date-time)opcional
    • notestringopcional

      Por qué se rechazó.

  • recyclingobjectopcional

    Aparece cuando se activa el reciclado.

    recycling
    • activebooleanobligatorio
    • everyintegerobligatorio

      máx. 9.007.199.254.740.991

    • unitstringobligatorio

      Valores: week · month

    • startAtstring (date-time)opcional
    • maxCopiesintegeropcional

      máx. 9.007.199.254.740.991

    • untilstring (date-time)opcional
    • variationsstring[]opcional
    • timezonestringopcional
    • copiesintegerobligatorio

      Copias creadas hasta ahora.

      máx. 9.007.199.254.740.991

    • nextAtstring (date-time)opcional

      Cuándo sale la siguiente copia; no aparece cuando se ha parado.

    • lastCopyIdstringopcional

      La última copia, que es una publicación propia.

  • recycledFromstringopcional

    En una copia reciclada: la publicación original.

  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
POST /v1/posts/pst_7q1w0e/retry
curl -X POST "https://api.usecrier.com/v1/posts/pst_7q1w0e/retry" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/posts/{id}/unpublish

Retirar una publicación

De todas las redes o solo de accountId.

Parámetros

  • idstringobligatorio

Cuerpo

  • accountIdstringopcional

Respuesta 200

data
  • idstringobligatorio
  • contentstringobligatorio
  • mediaobject[]obligatorio
    media
    • typestringobligatorio

      Valores: image · video · gif · document

    • urlstring (uri)obligatorio
    • altTextstringopcional

      máx. 1000

  • targetsobject[]obligatorio
    targets
    • accountIdstringobligatorio
    • platformstringobligatorio
    • contentstringopcional
    • mediaobject[]opcional
      media
      • typestringobligatorio

        Valores: image · video · gif · document

      • urlstring (uri)obligatorio
      • altTextstringopcional

        máx. 1000

    • statusstringobligatorio

      Valores: pending · published · failed · removed

    • urlstring (uri)opcional

      La publicación en la red, una vez publicada.

    • errorstringopcional
  • statusstringobligatorio

    Valores: draft · pending_approval · scheduled · publishing · published · partial · failed · cancelled

  • scheduledForstring (date-time)opcional
  • approvalobjectopcional

    Aparece cuando la publicación ha pasado por revisión.

    approval
    • requestedBystringopcional

      Quién la envió a revisión; no aparece si fue una API key.

    • requestedAtstring (date-time)obligatorio
    • queuebooleanopcional

      Al aprobarla, entra en la cola del perfil.

    • decisionstringopcional

      Valores: approved · rejected

    • decidedBystringopcional
    • decidedAtstring (date-time)opcional
    • notestringopcional

      Por qué se rechazó.

  • recyclingobjectopcional

    Aparece cuando se activa el reciclado.

    recycling
    • activebooleanobligatorio
    • everyintegerobligatorio

      máx. 9.007.199.254.740.991

    • unitstringobligatorio

      Valores: week · month

    • startAtstring (date-time)opcional
    • maxCopiesintegeropcional

      máx. 9.007.199.254.740.991

    • untilstring (date-time)opcional
    • variationsstring[]opcional
    • timezonestringopcional
    • copiesintegerobligatorio

      Copias creadas hasta ahora.

      máx. 9.007.199.254.740.991

    • nextAtstring (date-time)opcional

      Cuándo sale la siguiente copia; no aparece cuando se ha parado.

    • lastCopyIdstringopcional

      La última copia, que es una publicación propia.

  • recycledFromstringopcional

    En una copia reciclada: la publicación original.

  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
POST /v1/posts/pst_7q1w0e/unpublish
curl -X POST "https://api.usecrier.com/v1/posts/pst_7q1w0e/unpublish" \
  -H "Authorization: Bearer $CRIER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "accountId": "acc_3k9x2m"
  }'

Multimedia

Sube imágenes y vídeos a Crier antes de publicarlos.

POST/v1/media/upload-url

Pedir una URL de subida

JPEG, PNG, WebP y GIF hasta 20 MB; MP4, MOV y WebM hasta 1 GB. Sube el archivo con PUT a uploadUrl y usa publicUrl en el post.

Cuerpo

  • filenamestringobligatorio

    máx. 255

  • contentTypestringobligatorio

    mín. 3

  • sizeintegerobligatorio

    máx. 9.007.199.254.740.991

Respuesta 200

data
  • uploadUrlstring (uri)obligatorio

    URL prefirmada: sube el archivo con PUT y el mismo Content-Type.

  • publicUrlstring (uri)obligatorio

    Úsala en el media del post una vez subido.

  • kindstringobligatorio

    Valores: image · gif · video

  • expiresInintegerobligatorio

    Segundos que vale la URL de subida.

    máx. 9.007.199.254.740.991

POST /v1/media/upload-url
curl -X POST "https://api.usecrier.com/v1/media/upload-url" \
  -H "Authorization: Bearer $CRIER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "filename": "autumn.mp4",
    "contentType": "video/mp4",
    "size": 48211234
  }'

Bandeja

Mensajes directos, comentarios y reseñas de las cuentas de un perfil. Los listados piden el perfil; las acciones, la cuenta a la que pertenece cada elemento.

GET/v1/inbox/conversations

Listar conversaciones

Mensajes directos de Facebook, Instagram, X, Bluesky, Reddit y Telegram, los más recientes primero.

Parámetros

  • profileIdstringobligatorio
  • accountIdstringopcional
  • statusstringopcional

    Valores: active · archived

  • cursorstringopcional

    El nextCursor de la página anterior.

    máx. 4000

  • limitintegeropcional

    máx. 100

Respuesta 200

data
  • itemsobject[]obligatorio
    items
    • idstringobligatorio

      Id opaco de la conversación.

    • accountIdstringobligatorio
    • platformstringobligatorio
    • participantobjectobligatorio
      participant
      • namestringopcional
      • usernamestringopcional
      • picturestring (uri)opcional
    • lastMessagestringopcional
    • updatedAtstring (date-time)opcional
    • statusstringobligatorio

      Valores: active · archived

    • unreadCountintegerobligatorio

      máx. 9.007.199.254.740.991

    • urlstring (uri)opcional

      Abre la conversación en la red.

  • nextCursorstring | nullobligatorio

    Envíalo como cursor para la página siguiente; null en la última.

GET /v1/inbox/conversations
curl "https://api.usecrier.com/v1/inbox/conversations" \
  -H "Authorization: Bearer $CRIER_API_KEY"
GET/v1/inbox/conversations/{id}/messages

Listar los mensajes de una conversación

Parámetros

  • idstringobligatorio
  • accountIdstringobligatorio

    La cuenta a la que pertenece.

  • cursorstringopcional

    El nextCursor de la página anterior.

    máx. 4000

Respuesta 200

data
  • itemsobject[]obligatorio
    items
    • idstringobligatorio
    • directionstringobligatorio

      Valores: incoming · outgoing

    • textstringobligatorio
    • senderNamestringopcional
    • createdAtstring (date-time)obligatorio
    • attachmentsobject[]obligatorio
      attachments
      • typestringobligatorio

        Valores: image · video · audio · file · sticker · share · other

      • urlstring (uri)opcional
      • namestringopcional
    • deliveryStatusstringopcional
    • deletedbooleanobligatorio
  • nextCursorstring | nullobligatorio

    Envíalo como cursor para la página siguiente; null en la última.

GET /v1/inbox/conversations/key_2b4n6m/messages
curl "https://api.usecrier.com/v1/inbox/conversations/key_2b4n6m/messages" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/inbox/conversations/{id}/messages

Enviar un mensaje

Texto, un adjunto o ambos. Meta solo deja responder durante las 24 horas siguientes al último mensaje de la persona.

Parámetros

  • idstringobligatorio

Cuerpo

  • accountIdstringobligatorio

    La cuenta a la que pertenece.

  • textstringopcional

    máx. 4000

  • attachmentUrlstring (uri)opcional

    Una URL https pública (por ejemplo, de POST /v1/media/upload-url).

  • attachmentTypestringopcional

    Valores: image · video · audio · file

Respuesta 204

Sin contenido

POST /v1/inbox/conversations/key_2b4n6m/messages
curl -X POST "https://api.usecrier.com/v1/inbox/conversations/key_2b4n6m/messages" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/inbox/conversations/{id}/read

Marcar una conversación como leída

Parámetros

  • idstringobligatorio

Cuerpo

  • accountIdstringobligatorio

    La cuenta a la que pertenece.

Respuesta 204

Sin contenido

POST /v1/inbox/conversations/key_2b4n6m/read
curl -X POST "https://api.usecrier.com/v1/inbox/conversations/key_2b4n6m/read" \
  -H "Authorization: Bearer $CRIER_API_KEY"
PATCH/v1/inbox/conversations/{id}

Archivar o recuperar una conversación

Parámetros

  • idstringobligatorio

Cuerpo

  • accountIdstringobligatorio

    La cuenta a la que pertenece.

  • statusstringobligatorio

    Valores: active · archived

Respuesta 204

Sin contenido

PATCH /v1/inbox/conversations/key_2b4n6m
curl -X PATCH "https://api.usecrier.com/v1/inbox/conversations/key_2b4n6m" \
  -H "Authorization: Bearer $CRIER_API_KEY"
GET/v1/inbox/posts

Listar publicaciones con comentarios

Publicaciones recientes de las cuentas del perfil con su número de comentarios, también las publicadas fuera de Crier.

Parámetros

  • profileIdstringobligatorio
  • accountIdstringopcional
  • cursorstringopcional

    El nextCursor de la página anterior.

    máx. 4000

  • limitintegeropcional

    máx. 100

Respuesta 200

data
  • itemsobject[]obligatorio
    items
    • idstringobligatorio

      Id opaco de la publicación para los endpoints de comentarios.

    • accountIdstringobligatorio
    • platformstringobligatorio
    • contentstringobligatorio
    • picturestring (uri)opcional
    • urlstring (uri)opcional
    • createdAtstring (date-time)opcional
    • commentCountintegerobligatorio

      máx. 9.007.199.254.740.991

    • likeCountintegerobligatorio

      máx. 9.007.199.254.740.991

  • nextCursorstring | nullobligatorio

    Envíalo como cursor para la página siguiente; null en la última.

GET /v1/inbox/posts
curl "https://api.usecrier.com/v1/inbox/posts" \
  -H "Authorization: Bearer $CRIER_API_KEY"
GET/v1/inbox/posts/{id}/comments

Listar los comentarios de una publicación

Parámetros

  • idstringobligatorio
  • accountIdstringobligatorio

    La cuenta a la que pertenece.

  • cursorstringopcional

    El nextCursor de la página anterior.

    máx. 4000

Respuesta 200

data
  • itemsobject[]obligatorio
    items
    • idstringobligatorio

      Id opaco del comentario.

    • textstringobligatorio
    • authorobjectobligatorio
      author
      • namestringopcional
      • usernamestringopcional
      • picturestring (uri)opcional
      • isOwnerbooleanobligatorio

        Escrito por la cuenta conectada.

    • createdAtstring (date-time)opcional
    • likeCountintegerobligatorio

      máx. 9.007.199.254.740.991

    • replyCountintegerobligatorio

      máx. 9.007.199.254.740.991

    • urlstring (uri)opcional
    • canobjectobligatorio

      Lo que esta red permite hacer con él.

      can
      • replybooleanobligatorio
      • deletebooleanobligatorio
      • hidebooleanobligatorio
      • likebooleanobligatorio
    • hiddenbooleanobligatorio
    • likedbooleanobligatorio
    • repliesobject[]obligatorio
      replies
      • idstringobligatorio

        Id opaco del comentario.

      • textstringobligatorio
      • authorobjectobligatorio
        author
        • namestringopcional
        • usernamestringopcional
        • picturestring (uri)opcional
        • isOwnerbooleanobligatorio

          Escrito por la cuenta conectada.

      • createdAtstring (date-time)opcional
      • likeCountintegerobligatorio

        máx. 9.007.199.254.740.991

      • replyCountintegerobligatorio

        máx. 9.007.199.254.740.991

      • urlstring (uri)opcional
      • canobjectobligatorio

        Lo que esta red permite hacer con él.

        can
        • replybooleanobligatorio
        • deletebooleanobligatorio
        • hidebooleanobligatorio
        • likebooleanobligatorio
      • hiddenbooleanobligatorio
      • likedbooleanobligatorio
  • nextCursorstring | nullobligatorio

    Envíalo como cursor para la página siguiente; null en la última.

GET /v1/inbox/posts/key_2b4n6m/comments
curl "https://api.usecrier.com/v1/inbox/posts/key_2b4n6m/comments" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/inbox/posts/{id}/comments

Comentar o responder a un comentario

Parámetros

  • idstringobligatorio

Cuerpo

  • accountIdstringobligatorio

    La cuenta a la que pertenece.

  • textstringobligatorio

    máx. 8000

  • commentIdstringopcional

    Responder bajo este comentario; sin él, se comenta en la publicación.

Respuesta 204

Sin contenido

POST /v1/inbox/posts/key_2b4n6m/comments
curl -X POST "https://api.usecrier.com/v1/inbox/posts/key_2b4n6m/comments" \
  -H "Authorization: Bearer $CRIER_API_KEY"
PATCH/v1/inbox/posts/{id}/comments/{commentId}

Ocultar un comentario o darle me gusta

Cada comentario indica en can lo que permite su red.

Parámetros

  • idstringobligatorio
  • commentIdstringobligatorio

Cuerpo

  • accountIdstringobligatorio

    La cuenta a la que pertenece.

  • hiddenbooleanopcional
  • likedbooleanopcional

Respuesta 204

Sin contenido

PATCH /v1/inbox/posts/key_2b4n6m/comments/{commentId}
curl -X PATCH "https://api.usecrier.com/v1/inbox/posts/key_2b4n6m/comments/{commentId}" \
  -H "Authorization: Bearer $CRIER_API_KEY"
DELETE/v1/inbox/posts/{id}/comments/{commentId}

Borrar un comentario

Parámetros

  • idstringobligatorio
  • commentIdstringobligatorio
  • accountIdstringobligatorio

    La cuenta a la que pertenece.

Respuesta 204

Sin contenido

DELETE /v1/inbox/posts/key_2b4n6m/comments/{commentId}
curl -X DELETE "https://api.usecrier.com/v1/inbox/posts/key_2b4n6m/comments/{commentId}" \
  -H "Authorization: Bearer $CRIER_API_KEY"
GET/v1/inbox/reviews

Listar reseñas

Reseñas de Google Business y de Facebook, con su total y la valoración media.

Parámetros

  • profileIdstringobligatorio
  • accountIdstringopcional
  • cursorstringopcional

    El nextCursor de la página anterior.

    máx. 4000

  • limitintegeropcional

    máx. 100

  • hasReplystringopcional

    Solo reseñas con respuesta (true) o sin ella (false).

    Valores: true · false

Respuesta 200

data
  • itemsobject[]obligatorio
    items
    • idstringobligatorio

      Id opaco de la reseña.

    • accountIdstringobligatorio
    • platformstringobligatorio
    • reviewerobjectobligatorio
      reviewer
      • namestringopcional
      • usernamestringopcional
      • picturestring (uri)opcional
    • ratinginteger | nullobligatorio

      De 1 a 5; null en Facebook, que recomienda en su lugar.

    • recommendsbooleanopcional
    • textstringobligatorio
    • createdAtstring (date-time)opcional
    • replyobject | nullobligatorio
      reply
      • textstringobligatorio
      • createdAtstring (date-time)opcional
    • urlstring (uri)opcional
    • locationstringopcional

      Ficha de Google Business.

  • nextCursorstring | nullobligatorio

    Envíalo como cursor para la página siguiente; null en la última.

  • summaryobjectobligatorio
    summary
    • totalintegerobligatorio

      máx. 9.007.199.254.740.991

    • averageRatingnumber | nullobligatorio
GET /v1/inbox/reviews
curl "https://api.usecrier.com/v1/inbox/reviews" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/inbox/reviews/{id}/reply

Responder a una reseña

Parámetros

  • idstringobligatorio

Cuerpo

  • accountIdstringobligatorio

    La cuenta a la que pertenece.

  • textstringobligatorio

    máx. 4000

Respuesta 204

Sin contenido

POST /v1/inbox/reviews/key_2b4n6m/reply
curl -X POST "https://api.usecrier.com/v1/inbox/reviews/key_2b4n6m/reply" \
  -H "Authorization: Bearer $CRIER_API_KEY"
DELETE/v1/inbox/reviews/{id}/reply

Borrar la respuesta a una reseña

Solo en Google Business.

Parámetros

  • idstringobligatorio
  • accountIdstringobligatorio

    La cuenta a la que pertenece.

Respuesta 204

Sin contenido

DELETE /v1/inbox/reviews/key_2b4n6m/reply
curl -X DELETE "https://api.usecrier.com/v1/inbox/reviews/key_2b4n6m/reply" \
  -H "Authorization: Bearer $CRIER_API_KEY"

Automatizaciones

Comentario a mensaje: a quien comente una palabra clave, se le responde con un mensaje privado (Instagram, Facebook) o en público (todas las redes).

GET/v1/automations

Listar automatizaciones

Parámetros

  • profileIdstringobligatorio
  • accountIdstringopcional

Respuesta 200

data []
  • idstringobligatorio
  • accountIdstringobligatorio
  • platformstringobligatorio
  • namestringobligatorio
  • triggerstringobligatorio

    Valores: comment · story_reply

  • postIdstring | nullobligatorio
  • inboxPostIdstring | nullobligatorio
  • keywordsstring[]obligatorio
  • matchModestringobligatorio

    Valores: contains · word · exact

  • excludeKeywordsstring[]obligatorio
  • dmMessagestringopcional
  • buttonsobject[]obligatorio
    buttons
    • typestringobligatorio

      Valores: url · postback

    • titlestringobligatorio
    • urlstring (uri)opcional
    • payloadstringopcional
  • commentReplystringopcional
  • dmDelaySecondsintegeropcional

    máx. 9.007.199.254.740.991

  • repeatstringobligatorio

    Valores: once · every_comment

  • likeCommentbooleanobligatorio
  • hideCommentbooleanobligatorio
  • activebooleanobligatorio
  • statsobjectobligatorio
    stats
    • triggeredintegerobligatorio

      máx. 9.007.199.254.740.991

    • dmsSentintegerobligatorio

      máx. 9.007.199.254.740.991

    • dmsFailedintegerobligatorio

      máx. 9.007.199.254.740.991

    • uniqueContactsintegerobligatorio

      máx. 9.007.199.254.740.991

    • linkClicksintegerobligatorio

      máx. 9.007.199.254.740.991

  • createdAtstring (date-time)opcional
GET /v1/automations
curl "https://api.usecrier.com/v1/automations" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/automations

Crear una automatización

En Instagram y Facebook envía dmMessage (con hasta 3 botones) a quien comente una palabra clave; en TikTok, Threads, LinkedIn y YouTube publica commentReply. Sin publicación, vigila todas las de la cuenta.

Cuerpo

  • namestringobligatorio

    máx. 100

  • triggerstringopcional

    story_reply: respuestas a una story de Instagram.

    Valores: comment · story_replyPor defecto: "comment"

  • postIdstring | nullopcional

    Una publicación de Crier que vigilar.

  • inboxPostIdstring | nullopcional

    O una publicación tal como la lista GET /v1/inbox/posts. Ninguna: todas.

  • keywordsstring[]opcional

    Vacío: cualquier comentario la activa.

    Por defecto: []máx. 50 elementos

  • matchModestringopcional

    Valores: contains · word · exactPor defecto: "contains"

  • excludeKeywordsstring[]opcional

    Por defecto: []máx. 50 elementos

  • dmMessagestringopcional

    Mensaje privado a quien comenta. Solo Instagram y Facebook, y obligatorio en ellas.

    máx. 1000

  • buttonsobject[]opcional

    Hasta 3 botones bajo el mensaje.

    Por defecto: []máx. 3 elementos

    buttons
    • typestringobligatorio

      Valores: url · postback

    • titlestringobligatorio

      máx. 20

    • urlstring (uri)opcional
    • payloadstringopcional

      máx. 1000

  • commentReplystringopcional

    Respuesta pública al comentario. Obligatoria en TikTok, Threads, LinkedIn y YouTube.

    máx. 2000

  • dmDelaySecondsintegeropcional

    máx. 86.400

  • repeatstringopcional

    once: un mensaje por persona.

    Valores: once · every_commentPor defecto: "once"

  • likeCommentbooleanopcional

    Por defecto: false

  • hideCommentbooleanopcional

    Por defecto: false

  • activebooleanopcional

    Por defecto: true

  • accountIdstringobligatorio

    Cuenta de Instagram, Facebook, TikTok, Threads, LinkedIn o YouTube.

Respuesta 201

data
  • idstringobligatorio
  • accountIdstringobligatorio
  • platformstringobligatorio
  • namestringobligatorio
  • triggerstringobligatorio

    Valores: comment · story_reply

  • postIdstring | nullobligatorio
  • inboxPostIdstring | nullobligatorio
  • keywordsstring[]obligatorio
  • matchModestringobligatorio

    Valores: contains · word · exact

  • excludeKeywordsstring[]obligatorio
  • dmMessagestringopcional
  • buttonsobject[]obligatorio
    buttons
    • typestringobligatorio

      Valores: url · postback

    • titlestringobligatorio
    • urlstring (uri)opcional
    • payloadstringopcional
  • commentReplystringopcional
  • dmDelaySecondsintegeropcional

    máx. 9.007.199.254.740.991

  • repeatstringobligatorio

    Valores: once · every_comment

  • likeCommentbooleanobligatorio
  • hideCommentbooleanobligatorio
  • activebooleanobligatorio
  • statsobjectobligatorio
    stats
    • triggeredintegerobligatorio

      máx. 9.007.199.254.740.991

    • dmsSentintegerobligatorio

      máx. 9.007.199.254.740.991

    • dmsFailedintegerobligatorio

      máx. 9.007.199.254.740.991

    • uniqueContactsintegerobligatorio

      máx. 9.007.199.254.740.991

    • linkClicksintegerobligatorio

      máx. 9.007.199.254.740.991

  • createdAtstring (date-time)opcional
POST /v1/automations
curl -X POST "https://api.usecrier.com/v1/automations" \
  -H "Authorization: Bearer $CRIER_API_KEY"
GET/v1/automations/{id}

Ver una automatización

Parámetros

  • idstringobligatorio

Respuesta 200

data
  • idstringobligatorio
  • accountIdstringobligatorio
  • platformstringobligatorio
  • namestringobligatorio
  • triggerstringobligatorio

    Valores: comment · story_reply

  • postIdstring | nullobligatorio
  • inboxPostIdstring | nullobligatorio
  • keywordsstring[]obligatorio
  • matchModestringobligatorio

    Valores: contains · word · exact

  • excludeKeywordsstring[]obligatorio
  • dmMessagestringopcional
  • buttonsobject[]obligatorio
    buttons
    • typestringobligatorio

      Valores: url · postback

    • titlestringobligatorio
    • urlstring (uri)opcional
    • payloadstringopcional
  • commentReplystringopcional
  • dmDelaySecondsintegeropcional

    máx. 9.007.199.254.740.991

  • repeatstringobligatorio

    Valores: once · every_comment

  • likeCommentbooleanobligatorio
  • hideCommentbooleanobligatorio
  • activebooleanobligatorio
  • statsobjectobligatorio
    stats
    • triggeredintegerobligatorio

      máx. 9.007.199.254.740.991

    • dmsSentintegerobligatorio

      máx. 9.007.199.254.740.991

    • dmsFailedintegerobligatorio

      máx. 9.007.199.254.740.991

    • uniqueContactsintegerobligatorio

      máx. 9.007.199.254.740.991

    • linkClicksintegerobligatorio

      máx. 9.007.199.254.740.991

  • createdAtstring (date-time)opcional
GET /v1/automations/key_2b4n6m
curl "https://api.usecrier.com/v1/automations/key_2b4n6m" \
  -H "Authorization: Bearer $CRIER_API_KEY"
PATCH/v1/automations/{id}

Editar o pausar una automatización

Lo que no envíes se mantiene. active: false la pausa.

Parámetros

  • idstringobligatorio

Cuerpo

  • namestringopcional

    máx. 100

  • triggerstringopcional

    story_reply: respuestas a una story de Instagram.

    Valores: comment · story_reply

  • postIdstring | nullopcional

    Una publicación de Crier que vigilar.

  • inboxPostIdstring | nullopcional

    O una publicación tal como la lista GET /v1/inbox/posts. Ninguna: todas.

  • keywordsstring[]opcional

    Vacío: cualquier comentario la activa.

    máx. 50 elementos

  • matchModestringopcional

    Valores: contains · word · exact

  • excludeKeywordsstring[]opcional

    máx. 50 elementos

  • dmMessagestringopcional

    Mensaje privado a quien comenta. Solo Instagram y Facebook, y obligatorio en ellas.

    máx. 1000

  • buttonsobject[]opcional

    Hasta 3 botones bajo el mensaje.

    máx. 3 elementos

    buttons
    • typestringobligatorio

      Valores: url · postback

    • titlestringobligatorio

      máx. 20

    • urlstring (uri)opcional
    • payloadstringopcional

      máx. 1000

  • commentReplystringopcional

    Respuesta pública al comentario. Obligatoria en TikTok, Threads, LinkedIn y YouTube.

    máx. 2000

  • dmDelaySecondsintegeropcional

    máx. 86.400

  • repeatstringopcional

    once: un mensaje por persona.

    Valores: once · every_comment

  • likeCommentbooleanopcional
  • hideCommentbooleanopcional
  • activebooleanopcional

Respuesta 200

data
  • idstringobligatorio
  • accountIdstringobligatorio
  • platformstringobligatorio
  • namestringobligatorio
  • triggerstringobligatorio

    Valores: comment · story_reply

  • postIdstring | nullobligatorio
  • inboxPostIdstring | nullobligatorio
  • keywordsstring[]obligatorio
  • matchModestringobligatorio

    Valores: contains · word · exact

  • excludeKeywordsstring[]obligatorio
  • dmMessagestringopcional
  • buttonsobject[]obligatorio
    buttons
    • typestringobligatorio

      Valores: url · postback

    • titlestringobligatorio
    • urlstring (uri)opcional
    • payloadstringopcional
  • commentReplystringopcional
  • dmDelaySecondsintegeropcional

    máx. 9.007.199.254.740.991

  • repeatstringobligatorio

    Valores: once · every_comment

  • likeCommentbooleanobligatorio
  • hideCommentbooleanobligatorio
  • activebooleanobligatorio
  • statsobjectobligatorio
    stats
    • triggeredintegerobligatorio

      máx. 9.007.199.254.740.991

    • dmsSentintegerobligatorio

      máx. 9.007.199.254.740.991

    • dmsFailedintegerobligatorio

      máx. 9.007.199.254.740.991

    • uniqueContactsintegerobligatorio

      máx. 9.007.199.254.740.991

    • linkClicksintegerobligatorio

      máx. 9.007.199.254.740.991

  • createdAtstring (date-time)opcional
PATCH /v1/automations/key_2b4n6m
curl -X PATCH "https://api.usecrier.com/v1/automations/key_2b4n6m" \
  -H "Authorization: Bearer $CRIER_API_KEY"
DELETE/v1/automations/{id}

Borrar una automatización

Parámetros

  • idstringobligatorio

Respuesta 204

Sin contenido

DELETE /v1/automations/key_2b4n6m
curl -X DELETE "https://api.usecrier.com/v1/automations/key_2b4n6m" \
  -H "Authorization: Bearer $CRIER_API_KEY"
GET/v1/automations/{id}/logs

Qué ha hecho una automatización

Cada comentario que la activó, el más reciente primero, con el resultado del mensaje.

Parámetros

  • idstringobligatorio
  • skipintegeropcional

    máx. 9.007.199.254.740.991

  • limitintegeropcional

    máx. 100

Respuesta 200

data
  • itemsobject[]obligatorio
    items
    • idstringobligatorio
    • commenterobjectobligatorio
      commenter
      • namestringopcional
      • usernamestringopcional
    • commentTextstringopcional
    • statusstringobligatorio

      Valores: pending · sent · failed · skipped · gated

    • errorstringopcional
    • replyStatusstringopcional
    • clickedbooleanobligatorio
    • createdAtstring (date-time)obligatorio
  • totalintegerobligatorio

    máx. 9.007.199.254.740.991

GET /v1/automations/key_2b4n6m/logs
curl "https://api.usecrier.com/v1/automations/key_2b4n6m/logs" \
  -H "Authorization: Bearer $CRIER_API_KEY"

Analíticas

Seguidores, totales diarios, mejores horas para publicar y mejores publicaciones, por perfil o por cuenta.

GET/v1/analytics/followers

Seguidores y crecimiento

Seguidores actuales, crecimiento en el periodo e histórico diario de cada cuenta. Se actualiza una vez al día.

Parámetros

  • profileIdstringobligatorio
  • accountIdstringopcional

    Solo esta cuenta; si no, todo el perfil.

  • fromstringopcional

    Primer día (YYYY-MM-DD). Por defecto, hace 30 días.

  • tostringopcional

    Último día (YYYY-MM-DD). Por defecto, hoy.

Respuesta 200

data []
  • accountIdstringobligatorio
  • platformstringobligatorio
  • usernamestringopcional
  • followersintegerobligatorio

    máx. 9.007.199.254.740.991

  • growthintegerobligatorio

    Cambio en el periodo.

    máx. 9.007.199.254.740.991

  • growthPercentnumberobligatorio
  • historyobject[]obligatorio
    history
    • datestringobligatorio

      YYYY-MM-DD

    • followersintegerobligatorio

      máx. 9.007.199.254.740.991

GET /v1/analytics/followers
curl "https://api.usecrier.com/v1/analytics/followers" \
  -H "Authorization: Bearer $CRIER_API_KEY"
GET/v1/analytics/daily

Totales diarios

Publicaciones e interacción por día (contada el día que llega) y totales por red.

Parámetros

  • profileIdstringobligatorio
  • accountIdstringopcional

    Solo esta cuenta; si no, todo el perfil.

  • fromstringopcional

    Primer día (YYYY-MM-DD). Por defecto, hace 30 días.

  • tostringopcional

    Último día (YYYY-MM-DD). Por defecto, hoy.

Respuesta 200

data
  • daysobject[]obligatorio
    days
    • datestringobligatorio

      YYYY-MM-DD

    • postsintegerobligatorio

      máx. 9.007.199.254.740.991

    • metricsobjectobligatorio
      metrics
      • impressionsintegerobligatorio

        máx. 9.007.199.254.740.991

      • reachintegerobligatorio

        máx. 9.007.199.254.740.991

      • viewsintegerobligatorio

        máx. 9.007.199.254.740.991

      • likesintegerobligatorio

        máx. 9.007.199.254.740.991

      • commentsintegerobligatorio

        máx. 9.007.199.254.740.991

      • sharesintegerobligatorio

        máx. 9.007.199.254.740.991

      • savesintegerobligatorio

        máx. 9.007.199.254.740.991

      • clicksintegerobligatorio

        máx. 9.007.199.254.740.991

      • engagementRatenumberobligatorio

        Porcentaje: interacciones sobre impresiones (o alcance).

  • byPlatformobject[]obligatorio
    byPlatform
    • platformstringobligatorio
    • postsintegerobligatorio

      máx. 9.007.199.254.740.991

    • metricsobjectobligatorio
      metrics
      • impressionsintegerobligatorio

        máx. 9.007.199.254.740.991

      • reachintegerobligatorio

        máx. 9.007.199.254.740.991

      • viewsintegerobligatorio

        máx. 9.007.199.254.740.991

      • likesintegerobligatorio

        máx. 9.007.199.254.740.991

      • commentsintegerobligatorio

        máx. 9.007.199.254.740.991

      • sharesintegerobligatorio

        máx. 9.007.199.254.740.991

      • savesintegerobligatorio

        máx. 9.007.199.254.740.991

      • clicksintegerobligatorio

        máx. 9.007.199.254.740.991

      • engagementRatenumberobligatorio

        Porcentaje: interacciones sobre impresiones (o alcance).

GET /v1/analytics/daily
curl "https://api.usecrier.com/v1/analytics/daily" \
  -H "Authorization: Bearer $CRIER_API_KEY"
GET/v1/analytics/best-times

Mejores horas para publicar

Interacción media por día de la semana y hora, a partir de las publicaciones de la cuenta.

Parámetros

  • profileIdstringobligatorio
  • accountIdstringopcional

    Solo esta cuenta; si no, todo el perfil.

Respuesta 200

data []
  • dayOfWeekintegerobligatorio

    0 = domingo … 6 = sábado

    máx. 9.007.199.254.740.991

  • hourintegerobligatorio

    Hora en UTC

    máx. 9.007.199.254.740.991

  • avgEngagementnumberobligatorio
  • postsintegerobligatorio

    máx. 9.007.199.254.740.991

GET /v1/analytics/best-times
curl "https://api.usecrier.com/v1/analytics/best-times" \
  -H "Authorization: Bearer $CRIER_API_KEY"
GET/v1/analytics/top-posts

Mejores publicaciones

Publicaciones del periodo por interacción (o por fecha), también las publicadas fuera de Crier.

Parámetros

  • profileIdstringobligatorio
  • accountIdstringopcional

    Solo esta cuenta; si no, todo el perfil.

  • fromstringopcional

    Primer día (YYYY-MM-DD). Por defecto, hace 30 días.

  • tostringopcional

    Último día (YYYY-MM-DD). Por defecto, hoy.

  • sortBystringopcional

    Valores: engagement · date

  • limitintegeropcional

    máx. 50

Respuesta 200

data []
  • postIdstring | nullobligatorio

    La publicación de Crier, si se publicó con Crier.

  • accountIdstring | nullobligatorio
  • platformstringobligatorio
  • contentstringobligatorio
  • publishedAtstring (date-time)opcional
  • urlstring (uri)opcional
  • thumbnailUrlstring (uri)opcional
  • metricsobjectobligatorio
    metrics
    • impressionsintegerobligatorio

      máx. 9.007.199.254.740.991

    • reachintegerobligatorio

      máx. 9.007.199.254.740.991

    • viewsintegerobligatorio

      máx. 9.007.199.254.740.991

    • likesintegerobligatorio

      máx. 9.007.199.254.740.991

    • commentsintegerobligatorio

      máx. 9.007.199.254.740.991

    • sharesintegerobligatorio

      máx. 9.007.199.254.740.991

    • savesintegerobligatorio

      máx. 9.007.199.254.740.991

    • clicksintegerobligatorio

      máx. 9.007.199.254.740.991

    • engagementRatenumberobligatorio

      Porcentaje: interacciones sobre impresiones (o alcance).

  • externalbooleanobligatorio

    Publicada fuera de Crier.

GET /v1/analytics/top-posts
curl "https://api.usecrier.com/v1/analytics/top-posts" \
  -H "Authorization: Bearer $CRIER_API_KEY"

Facturación

Un saldo prepago: las cuentas conectadas a partir de las gratis se cobran día a día y el uso (API de X, mensajes) según se produce. Se recarga desde el panel.

GET/v1/billing

Ver el saldo

Saldo, cuentas conectadas y lo que cuestan. Con el saldo agotado, conectar más allá de las cuentas gratis, y publicar o enviar desde las cuentas a partir de ellas o de X, responden 402.

Respuesta 200

data
  • enabledbooleanobligatorio

    False mientras la facturación no está disponible: no se cobra ni se limita nada.

  • balancenumberobligatorio

    Saldo prepago en céntimos (hasta tres decimales). Negativo si los cargos lo superaron.

  • currencystringobligatorio
  • connectedAccountsintegerobligatorio

    máx. 9.007.199.254.740.991

  • freeAccountsintegerobligatorio

    máx. 9.007.199.254.740.991

  • monthlyEstimateintegerobligatorio

    Precio mensual de las cuentas conectadas ahora, en céntimos. Se cobra día a día.

    máx. 9.007.199.254.740.991

  • dailyEstimatenumberobligatorio

    Lo que cuestan hoy esas cuentas, en céntimos (hasta tres decimales).

  • daysLeftinteger | nullobligatorio

    Días completos que cubre el saldo a ese coste; null si no hay cargo diario.

  • linesobject[]obligatorio
    lines
    • fromintegerobligatorio

      máx. 9.007.199.254.740.991

    • tointeger | nullobligatorio
    • accountsintegerobligatorio

      máx. 9.007.199.254.740.991

    • unitAmountintegerobligatorio

      Céntimos por cuenta y mes.

      máx. 9.007.199.254.740.991

    • amountintegerobligatorio

      máx. 9.007.199.254.740.991

  • canConnectMorebooleanobligatorio

    Si ahora mismo se puede conectar una cuenta más.

  • blockedbooleanobligatorio

    El saldo se ha agotado: las cuentas a partir de las gratis, y las de X, no pueden publicar ni enviar hasta que se recargue.

  • cardobjectopcional

    El método de pago guardado, para las recargas automáticas.

    card
    • brandstringobligatorio

      Marca de la tarjeta (visa, mastercard…) u otro método guardado (link, sepa_debit).

    • last4stringopcional
    • expMonthintegeropcional

      máx. 9.007.199.254.740.991

    • expYearintegeropcional

      máx. 9.007.199.254.740.991

  • autoRechargeobjectopcional
    autoRecharge
    • enabledbooleanobligatorio
    • thresholdintegerobligatorio

      Recargar cuando el saldo baje de esto, en céntimos.

      máx. 9.007.199.254.740.991

    • amountintegerobligatorio

      Lo que añade cada recarga, en céntimos.

      máx. 9.007.199.254.740.991

    • monthlyLimitintegerobligatorio

      Máximo que añaden las recargas automáticas en un mes natural, en céntimos.

      máx. 9.007.199.254.740.991

  • autoRechargeErrorobjectopcional

    Por qué falló la última recarga automática; se desactivó sola.

    autoRechargeError
    • atstring (date-time)obligatorio
    • messagestringobligatorio
  • autoRechargedThisMonthintegerobligatorio

    Lo añadido por recargas automáticas este mes, en céntimos.

    máx. 9.007.199.254.740.991

  • topUpobjectobligatorio

    Importes de recarga permitidos, en céntimos.

    topUp
    • minintegerobligatorio

      máx. 9.007.199.254.740.991

    • maxintegerobligatorio

      máx. 9.007.199.254.740.991

  • hasPortalbooleanobligatorio

    Si el portal de facturación (facturas, método de pago) está disponible.

GET /v1/billing
curl "https://api.usecrier.com/v1/billing" \
  -H "Authorization: Bearer $CRIER_API_KEY"
GET/v1/billing/movements

Listar los movimientos del saldo

Recargas y cargos, del más reciente al más antiguo.

Parámetros

  • limitintegeropcional

    máx. 200

Respuesta 200

data []
  • idstringobligatorio
  • kindstringobligatorio

    Valores: top_up · auto_recharge · accounts · usage · adjustment

  • amountnumberobligatorio

    Céntimos (hasta tres decimales): en positivo suma, en negativo descuenta.

  • atstring (date-time)obligatorio
  • daystringopcional

    Día UTC (YYYY-MM-DD) que cubre un cargo.

  • accountsintegeropcional

    Cuentas por las que se cobró un día.

    máx. 9.007.199.254.740.991

  • familystringopcional

    Tipo de uso de un cargo por uso.

    Valores: xApi · messages

GET /v1/billing/movements
curl "https://api.usecrier.com/v1/billing/movements" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/billing/top-up

Añadir saldo

Solo desde el panel

Abre una página de pago. El saldo sube cuando el pago se completa, y la tarjeta queda guardada para las recargas automáticas.

Cuerpo

  • amountintegerobligatorio

    Saldo que añadir, en céntimos (impuestos aparte, si los hay). Los límites vienen en GET /v1/billing.

    máx. 9.007.199.254.740.991

  • successUrlstring (uri)obligatorio

    Página del panel a la que volver tras pagar.

  • cancelUrlstring (uri)obligatorio

    Página del panel a la que volver si el usuario sale de Checkout.

Respuesta 200

data
  • urlstring (uri)obligatorio

    Manda aquí al usuario.

POST /v1/billing/top-up
curl -X POST "https://api.usecrier.com/v1/billing/top-up" \
  -H "Authorization: Bearer $CRIER_API_KEY"
PUT/v1/billing/auto-recharge

Configurar la recarga automática

Solo desde el panel

Recarga la tarjeta guardada cuando el saldo baja del umbral, hasta un máximo al mes. Necesita una recarga previa.

Cuerpo

  • enabledbooleanobligatorio
  • thresholdintegerobligatorio

    Recargar cuando el saldo baje de esto, en céntimos.

    máx. 9.007.199.254.740.991

  • amountintegerobligatorio

    Lo que añade cada recarga, en céntimos.

    máx. 9.007.199.254.740.991

  • monthlyLimitintegerobligatorio

    Máximo que pueden añadir las recargas automáticas en un mes natural, en céntimos.

    máx. 9.007.199.254.740.991

Respuesta 200

data
  • enabledbooleanobligatorio

    False mientras la facturación no está disponible: no se cobra ni se limita nada.

  • balancenumberobligatorio

    Saldo prepago en céntimos (hasta tres decimales). Negativo si los cargos lo superaron.

  • currencystringobligatorio
  • connectedAccountsintegerobligatorio

    máx. 9.007.199.254.740.991

  • freeAccountsintegerobligatorio

    máx. 9.007.199.254.740.991

  • monthlyEstimateintegerobligatorio

    Precio mensual de las cuentas conectadas ahora, en céntimos. Se cobra día a día.

    máx. 9.007.199.254.740.991

  • dailyEstimatenumberobligatorio

    Lo que cuestan hoy esas cuentas, en céntimos (hasta tres decimales).

  • daysLeftinteger | nullobligatorio

    Días completos que cubre el saldo a ese coste; null si no hay cargo diario.

  • linesobject[]obligatorio
    lines
    • fromintegerobligatorio

      máx. 9.007.199.254.740.991

    • tointeger | nullobligatorio
    • accountsintegerobligatorio

      máx. 9.007.199.254.740.991

    • unitAmountintegerobligatorio

      Céntimos por cuenta y mes.

      máx. 9.007.199.254.740.991

    • amountintegerobligatorio

      máx. 9.007.199.254.740.991

  • canConnectMorebooleanobligatorio

    Si ahora mismo se puede conectar una cuenta más.

  • blockedbooleanobligatorio

    El saldo se ha agotado: las cuentas a partir de las gratis, y las de X, no pueden publicar ni enviar hasta que se recargue.

  • cardobjectopcional

    El método de pago guardado, para las recargas automáticas.

    card
    • brandstringobligatorio

      Marca de la tarjeta (visa, mastercard…) u otro método guardado (link, sepa_debit).

    • last4stringopcional
    • expMonthintegeropcional

      máx. 9.007.199.254.740.991

    • expYearintegeropcional

      máx. 9.007.199.254.740.991

  • autoRechargeobjectopcional
    autoRecharge
    • enabledbooleanobligatorio
    • thresholdintegerobligatorio

      Recargar cuando el saldo baje de esto, en céntimos.

      máx. 9.007.199.254.740.991

    • amountintegerobligatorio

      Lo que añade cada recarga, en céntimos.

      máx. 9.007.199.254.740.991

    • monthlyLimitintegerobligatorio

      Máximo que añaden las recargas automáticas en un mes natural, en céntimos.

      máx. 9.007.199.254.740.991

  • autoRechargeErrorobjectopcional

    Por qué falló la última recarga automática; se desactivó sola.

    autoRechargeError
    • atstring (date-time)obligatorio
    • messagestringobligatorio
  • autoRechargedThisMonthintegerobligatorio

    Lo añadido por recargas automáticas este mes, en céntimos.

    máx. 9.007.199.254.740.991

  • topUpobjectobligatorio

    Importes de recarga permitidos, en céntimos.

    topUp
    • minintegerobligatorio

      máx. 9.007.199.254.740.991

    • maxintegerobligatorio

      máx. 9.007.199.254.740.991

  • hasPortalbooleanobligatorio

    Si el portal de facturación (facturas, método de pago) está disponible.

PUT /v1/billing/auto-recharge
curl -X PUT "https://api.usecrier.com/v1/billing/auto-recharge" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/billing/portal

Abrir el portal de facturación

Solo desde el panel

Facturas y método de pago guardado.

Cuerpo

  • returnUrlstring (uri)obligatorio

    Página del panel a la que volver.

Respuesta 200

data
  • urlstring (uri)obligatorio

    Manda aquí al usuario.

POST /v1/billing/portal
curl -X POST "https://api.usecrier.com/v1/billing/portal" \
  -H "Authorization: Bearer $CRIER_API_KEY"

Webhooks

Recibe los eventos de Crier en tu endpoint HTTPS.

GET/v1/webhook-endpoint

Ver el endpoint de webhooks

Respuesta 200

data
  • urlstring (uri)obligatorio
  • eventsstring[]obligatorio
  • createdAtstring (date-time)obligatorio
  • updatedAtstring (date-time)obligatorio
GET /v1/webhook-endpoint
curl "https://api.usecrier.com/v1/webhook-endpoint" \
  -H "Authorization: Bearer $CRIER_API_KEY"
PUT/v1/webhook-endpoint

Configurar el endpoint de webhooks

Sin events recibes todos. El secreto de firma solo se devuelve la primera vez.

Cuerpo

  • urlstring (starts_with)obligatorio
  • eventsstring[]opcional

Respuesta 200

data
  • endpointobjectobligatorio
    endpoint
    • urlstring (uri)obligatorio
    • eventsstring[]obligatorio
    • createdAtstring (date-time)obligatorio
    • updatedAtstring (date-time)obligatorio
  • secretstringopcional

    Secreto de firma; solo se devuelve al crear el endpoint.

PUT /v1/webhook-endpoint
curl -X PUT "https://api.usecrier.com/v1/webhook-endpoint" \
  -H "Authorization: Bearer $CRIER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://app.acme.com/webhooks/crier"
  }'
DELETE/v1/webhook-endpoint

Borrar el endpoint de webhooks

Respuesta 204

Sin contenido

DELETE /v1/webhook-endpoint
curl -X DELETE "https://api.usecrier.com/v1/webhook-endpoint" \
  -H "Authorization: Bearer $CRIER_API_KEY"

API keys

Gestiona las API keys. Solo desde el panel, para que una key filtrada no pueda crear otras.

GET/v1/api-keys

Listar API keys

Solo desde el panel

Respuesta 200

data []
  • idstringobligatorio
  • namestringobligatorio
  • prefixstringobligatorio
  • createdAtstring (date-time)obligatorio
  • revokedAtstring (date-time)opcional
GET /v1/api-keys
curl "https://api.usecrier.com/v1/api-keys" \
  -H "Authorization: Bearer $CRIER_API_KEY"
POST/v1/api-keys

Crear una API key

Solo desde el panel

Cuerpo

  • namestringobligatorio

    máx. 60

Respuesta 201

data
  • keyobjectobligatorio
    key
    • idstringobligatorio
    • namestringobligatorio
    • prefixstringobligatorio
    • createdAtstring (date-time)obligatorio
    • revokedAtstring (date-time)opcional
  • secretstringobligatorio

    La key completa; solo se muestra esta vez.

POST /v1/api-keys
curl -X POST "https://api.usecrier.com/v1/api-keys" \
  -H "Authorization: Bearer $CRIER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "production"
  }'
DELETE/v1/api-keys/{id}

Revocar una API key

Solo desde el panel

Parámetros

  • idstringobligatorio

Respuesta 204

Sin contenido

DELETE /v1/api-keys/key_2b4n6m
curl -X DELETE "https://api.usecrier.com/v1/api-keys/key_2b4n6m" \
  -H "Authorization: Bearer $CRIER_API_KEY"
🚧 Aún no está listo

Estamos terminando de construirlo

Crier está en acceso anticipado. Déjanos tu email y serás de los primeros en entrar, con condiciones de lanzamiento.

o con tu email

Sin spam. Solo te escribiremos para darte acceso.

¡Estás en la lista!

Te escribiremos en cuanto tu acceso esté listo.