Skip to content
John Freed edited this page Oct 7, 2021 · 96 revisions

Commands

feature plaintext CLI json CLI8 dbus
addDevice 1
block 3
daemon2 NA18, 22
getObjectPath NA22 NA22
getUserStatus 1, 13
isAdmin 1
isMember
isRegistered 1
joinGroup
jsonRpc NA22
link
listContacts 15
> getContactName
> getContactNumber
> isContactBlocked
> listNumbers
listDevices 1
listGroups 19
> getGroupAdminMembers 26 26 1
> getGroupIds 26 26
> getGroupInviteUri 26 26 1
> getGroupMembers 26 26
> getGroupName 26 26
> getGroupPendingMembers 26 26 1
> getGroupRequestingMembers 26 26 1
> isGroupBlocked 26 26
listIdentities 1, 16
> listIdentity 17 1
listen 1
quitGroup
receive
register
> registerWithCaptcha 12
remoteDelete
> sendGroupRemoteDeleteMessage
> sendRemoteDeleteMessage
removeDevice 1
removePin 1
send
> sendEndSessionMessage
> sendMessage
> send URL as attachment 1
> sendGroupMessage
> sendNoteToSelfMessage
> groupCallUpdate
> payment
> preview
> sticker
> viewOnce
sendContacts
sendReaction
> sendMessageReaction
> sendGroupMessageReaction
sendReceipt 28
> sendReadReceipt
> sendViewedReceipt 1, 28
sendSyncRequest 1, 23
sendTyping
setPin 1
submitRateLimitChallenge
trust 1, 25
unblock 4
unlisten 1
unregister 1, 21
updateAccount 1
updateConfiguration 29
updateContact 10
> setContactName
> setExpirationTimer 1
updateGroup27 20
updateProfile
uploadStickerPack 1
verify
> verifyWithPin 14
version

Signals

feature daemon dbus
CallMessageReceived
MessageReceived
> receive attachments11
OutgoingPaymentMessageReceived
ReceiptReceived
SyncMessageReceived
TypingMessageReceived

TODO

feature plaintext CLI json CLI8 dbus
Call messages
Attachment progress listener
Payment Notifications
Receive typing messages

Utilities

feature plaintext CLI json CLI8 dbus
getAttachments
getDataPath 1
getDestination
getGroupId
getMessage
getSender
getSource
getTimestamp

With Attachment Data5

feature plaintext CLI json CLI8 dbus
content
thumbnail9
contentType 1, 6
filename 1
remoteId 1, 6
size 1, 6
keyLength 1 1
width 1 1
height 1 1
voiceNote 1 1
caption 1 1
borderless
gif7 NA22 NA22 NA22
preview
digest
uploadTimestamp
listener
> cancelationSignal
resumableUploadSpec

With Message Data5

feature plaintext CLI json CLI8 dbus
timestamp
message
expiresInSeconds
viewOnce
reaction
quote
mentions
attachments
sticker
remoteDelete
contacts
groupInfo

With Quote Data5

feature plaintext CLI json CLI8 dbus
id
author
text
attachments9

Notes

  1. Proposed via pull request https://github.com/johnfreed/signal-cli
  2. Runs daemon or communicates with running daemon
  3. Implemented indirectly: setContactBlocked=true or setGroupBlocked=true
  4. Implemented indirectly: setContactBlocked=false or setGroupBlocked=false
  5. Data is provided to output stream (if available from Signal servers) or accepted from input stream
  6. Provided indirectly by interpreting content file written to disk
  7. Obsolete (no longer part of Signal API)
  8. Supports JsonRpc command.
  9. A thumbnail has the data of an attachment, but is also part of a quoted attachment
  10. updateContact is implemented indirectly through two subcommands: setContactName and setExpirationTimer
  11. Attachments are written to disk, with remoteId sent over DBus
  12. Provided via the --captcha option
  13. Provided via the isRegistered command
  14. Provided via the --pin option
  15. Provided indirectly by the listNumbers command, which returns an array of contact numbers, followed by a series of calls to getContactName and isContactBlocked
  16. Provided indirectly by the listNumbers command, which returns an array of contact numbers, followed by a series of calls to listIdentity, which returns a four-element array
  17. Provided via the --number option
  18. daemon command supports Json output, but not input. Use the JsonRpc command for Json input.
  19. Provided indirectly by getGroupIds and a series of calls to
    > getGroupAdminMembers > getGroupIds > getGroupInviteUri > getGroupMembers > getGroupName > getGroupPendingMembers > getGroupRequestingMembers > isGroupBlocked
  20. Send the name of a zero-length file to delete the group avatar
  21. Does an unlisten upon successful unregister command
  22. NA = Not Applicable
  23. Only works if a secondary device is running the daemon.
  24. Only works if a primary device is running the daemon.
  25. Does not implement the -a, --trust-all-known-keys option
  26. Provided as part of the subcommand's -d, --detailed option or signal-cli's --output=json option.
  27. Creates a new group if the groupId or base64GroupId is omitted.
  28. Implemented on DBus via two methods: sendReadReceipt (merged) and sendViewedReceipt (pull request).
  29. Pull request submitted to implement as SetConfiguration and GetConfiguration on DBus.
Clone this wiki locally