Automations
Comment-to-DM: when someone comments a keyword, answer with a private message (Instagram, Facebook) or a public reply (every network).
List automations
Section titled “List automations”/v1/automationsParameters
profileIdstringrequiredaccountIdstring
Response 200
data []
idstringrequiredaccountIdstringrequiredplatformstringrequirednamestringrequiredtriggerstringrequiredpostIdstring | nullrequiredinboxPostIdstring | nullrequiredkeywordsstring[]requiredmatchModestringrequiredexcludeKeywordsstring[]requireddmMessagestringbuttonsobject[]requiredbuttons
typestringrequiredtitlestringrequiredurlstring (uri)payloadstring
commentReplystringdmDelaySecondsintegerrepeatstringrequiredlikeCommentbooleanrequiredhideCommentbooleanrequiredactivebooleanrequiredstatsobjectrequiredstats
triggeredintegerrequireddmsSentintegerrequireddmsFailedintegerrequireduniqueContactsintegerrequiredlinkClicksintegerrequired
createdAtstring (date-time)
curl "https://api.usecrier.com/v1/automations" \ -H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/automations', { headers: { Authorization: `Bearer ${process.env.CRIER_API_KEY}`, },});const { data } = await res.json();import os, requests
res = requests.get( "https://api.usecrier.com/v1/automations", headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},)data = res.json()["data"]Create an automation
Section titled “Create an automation”/v1/automationsOn Instagram and Facebook it sends dmMessage (with up to 3 buttons) to whoever comments a keyword; on TikTok, Threads, LinkedIn and YouTube it posts commentReply. Without a post it watches every post of the account.
Body
namestringrequiredtriggerstringstory_reply: replies to an Instagram story.postIdstring | nullA Crier post to watch.
inboxPostIdstring | nullOr a post as GET /v1/inbox/posts lists it. Neither: every post.
keywordsstring[]Empty: any comment fires it.
matchModestringexcludeKeywordsstring[]dmMessagestringPrivate message to the commenter. Instagram and Facebook only, required there.
buttonsobject[]Up to 3 buttons under the DM.
buttons
typestringrequiredtitlestringrequiredurlstring (uri)payloadstring
commentReplystringPublic reply to the comment. Required on TikTok, Threads, LinkedIn and YouTube.
dmDelaySecondsintegerrepeatstringonce: one DM per person.likeCommentbooleanhideCommentbooleanactivebooleanaccountIdstringrequiredInstagram, Facebook, TikTok, Threads, LinkedIn or YouTube account.
Response 201
data
idstringrequiredaccountIdstringrequiredplatformstringrequirednamestringrequiredtriggerstringrequiredpostIdstring | nullrequiredinboxPostIdstring | nullrequiredkeywordsstring[]requiredmatchModestringrequiredexcludeKeywordsstring[]requireddmMessagestringbuttonsobject[]requiredbuttons
typestringrequiredtitlestringrequiredurlstring (uri)payloadstring
commentReplystringdmDelaySecondsintegerrepeatstringrequiredlikeCommentbooleanrequiredhideCommentbooleanrequiredactivebooleanrequiredstatsobjectrequiredstats
triggeredintegerrequireddmsSentintegerrequireddmsFailedintegerrequireduniqueContactsintegerrequiredlinkClicksintegerrequired
createdAtstring (date-time)
curl -X POST "https://api.usecrier.com/v1/automations" \ -H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/automations', { method: 'POST', headers: { Authorization: `Bearer ${process.env.CRIER_API_KEY}`, },});const { data } = await res.json();import os, requests
res = requests.post( "https://api.usecrier.com/v1/automations", headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},)data = res.json()["data"]Get an automation
Section titled “Get an automation”/v1/automations/{id}Parameters
idstringrequired
Response 200
data
idstringrequiredaccountIdstringrequiredplatformstringrequirednamestringrequiredtriggerstringrequiredpostIdstring | nullrequiredinboxPostIdstring | nullrequiredkeywordsstring[]requiredmatchModestringrequiredexcludeKeywordsstring[]requireddmMessagestringbuttonsobject[]requiredbuttons
typestringrequiredtitlestringrequiredurlstring (uri)payloadstring
commentReplystringdmDelaySecondsintegerrepeatstringrequiredlikeCommentbooleanrequiredhideCommentbooleanrequiredactivebooleanrequiredstatsobjectrequiredstats
triggeredintegerrequireddmsSentintegerrequireddmsFailedintegerrequireduniqueContactsintegerrequiredlinkClicksintegerrequired
createdAtstring (date-time)
curl "https://api.usecrier.com/v1/automations/aut_6r3e9w" \ -H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/automations/aut_6r3e9w', { headers: { Authorization: `Bearer ${process.env.CRIER_API_KEY}`, },});const { data } = await res.json();import os, requests
res = requests.get( "https://api.usecrier.com/v1/automations/aut_6r3e9w", headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},)data = res.json()["data"]Update or pause an automation
Section titled “Update or pause an automation”/v1/automations/{id}Fields you leave out keep their value. active: false pauses it.
Parameters
idstringrequired
Body
namestringtriggerstringstory_reply: replies to an Instagram story.postIdstring | nullA Crier post to watch.
inboxPostIdstring | nullOr a post as GET /v1/inbox/posts lists it. Neither: every post.
keywordsstring[]Empty: any comment fires it.
matchModestringexcludeKeywordsstring[]dmMessagestringPrivate message to the commenter. Instagram and Facebook only, required there.
buttonsobject[]Up to 3 buttons under the DM.
buttons
typestringrequiredtitlestringrequiredurlstring (uri)payloadstring
commentReplystringPublic reply to the comment. Required on TikTok, Threads, LinkedIn and YouTube.
dmDelaySecondsintegerrepeatstringonce: one DM per person.likeCommentbooleanhideCommentbooleanactiveboolean
Response 200
data
idstringrequiredaccountIdstringrequiredplatformstringrequirednamestringrequiredtriggerstringrequiredpostIdstring | nullrequiredinboxPostIdstring | nullrequiredkeywordsstring[]requiredmatchModestringrequiredexcludeKeywordsstring[]requireddmMessagestringbuttonsobject[]requiredbuttons
typestringrequiredtitlestringrequiredurlstring (uri)payloadstring
commentReplystringdmDelaySecondsintegerrepeatstringrequiredlikeCommentbooleanrequiredhideCommentbooleanrequiredactivebooleanrequiredstatsobjectrequiredstats
triggeredintegerrequireddmsSentintegerrequireddmsFailedintegerrequireduniqueContactsintegerrequiredlinkClicksintegerrequired
createdAtstring (date-time)
curl -X PATCH "https://api.usecrier.com/v1/automations/aut_6r3e9w" \ -H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/automations/aut_6r3e9w', { method: 'PATCH', headers: { Authorization: `Bearer ${process.env.CRIER_API_KEY}`, },});const { data } = await res.json();import os, requests
res = requests.patch( "https://api.usecrier.com/v1/automations/aut_6r3e9w", headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},)data = res.json()["data"]Delete an automation
Section titled “Delete an automation”/v1/automations/{id}Parameters
idstringrequired
Response 204
No content
curl -X DELETE "https://api.usecrier.com/v1/automations/aut_6r3e9w" \ -H "Authorization: Bearer $CRIER_API_KEY"await fetch('https://api.usecrier.com/v1/automations/aut_6r3e9w', { method: 'DELETE', headers: { Authorization: `Bearer ${process.env.CRIER_API_KEY}`, },});import os, requests
requests.delete( "https://api.usecrier.com/v1/automations/aut_6r3e9w", headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},)What an automation did
Section titled “What an automation did”/v1/automations/{id}/logsEvery comment that fired it, newest first, with the DM outcome.
Parameters
idstringrequiredskipintegerlimitinteger
Response 200
data
itemsobject[]requireditems
idstringrequiredcommenterobjectrequiredcommenter
namestringusernamestring
commentTextstringstatusstringrequirederrorstringreplyStatusstringclickedbooleanrequiredcreatedAtstring (date-time)required
totalintegerrequired
curl "https://api.usecrier.com/v1/automations/aut_6r3e9w/logs" \ -H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/automations/aut_6r3e9w/logs', { headers: { Authorization: `Bearer ${process.env.CRIER_API_KEY}`, },});const { data } = await res.json();import os, requests
res = requests.get( "https://api.usecrier.com/v1/automations/aut_6r3e9w/logs", headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},)data = res.json()["data"]© 2026 Crier by TWOFACES ·usecrier.com ·Dashboard ·soporte@twofacesco.com