Messaging 42 endpoints

PATCH /messaging/messages/push/{messageId}

Update a push notification by its unique ID.

operationId: Messaging_updatePushNotification

Parameters

Name In Required Type Description
messageId path required string

Message ID.

Request Body

application/json
schema MessagingUpdatePushNotificationRequest
Property Type Required
tag string optional
body string optional
data object optional
icon string optional
badge integer optional
color string optional
draft boolean optional
image string optional
sound string optional
title string optional
users array optional
action string optional
topics array optional
targets array optional
scheduledAt string optional

Responses

200

Message

PATCH /messaging/messages/push/{messageId}
POST /messaging/messages/sms

Create a new SMS message.

operationId: Messaging_createSmsMessage

Request Body

application/json
schema MessagingCreateSmsMessageRequest
Property Type Required
draft boolean optional
users array optional
topics array optional
content string required
targets array optional
messageId string required
scheduledAt string optional

Responses

201

Message

POST /messaging/messages/sms
PATCH /messaging/messages/sms/{messageId}

Update an email message by its unique ID.

operationId: Messaging_updateSmsMessage

Parameters

Name In Required Type Description
messageId path required string

Message ID.

Request Body

application/json
schema MessagingUpdateSmsMessageRequest
Property Type Required
draft boolean optional
users array optional
topics array optional
content string optional
targets array optional
scheduledAt string optional

Responses

200

Message

PATCH /messaging/messages/sms/{messageId}
DELETE /messaging/messages/{messageId}

Delete a message. If the message is not a draft or scheduled, but has been sent, this will not recall the message.

operationId: Messaging_deleteMessageById

Parameters

Name In Required Type Description
messageId path required string

Message ID.

Responses

204

No content

DELETE /messaging/messages/{messageId}
GET /messaging/messages/{messageId}

Get a message by its unique ID.

operationId: Messaging_getMessageById

Parameters

Name In Required Type Description
messageId path required string

Message ID.

Responses

200

Message

GET /messaging/messages/{messageId}
GET /messaging/messages/{messageId}/logs

Get the message activity logs listed by its unique ID.

operationId: Messaging_getMessageLogs

Parameters

Name In Required Type Description
messageId path required string

Message ID.

queries query optional array

Array of query strings generated using the Query class provided by the SDK. Learn more about queries. Only supported methods are limit and offset

Responses

200

Logs List

GET /messaging/messages/{messageId}/logs
GET /messaging/messages/{messageId}/targets

Get a list of the targets associated with a message.

operationId: Messaging_listMessageTargets

Parameters

Name In Required Type Description
messageId path required string

Message ID.

queries query optional array

Array of query strings generated using the Query class provided by the SDK. Learn more about queries. Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: userId, providerId, identifier, providerType

Responses

200

Target list

GET /messaging/messages/{messageId}/targets
GET /messaging/providers

Get a list of all providers from the current Appwrite project.

operationId: Messaging_listProviders

Parameters

Name In Required Type Description
queries query optional array

Array of query strings generated using the Query class provided by the SDK. Learn more about queries. Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, provider, type, enabled

search query optional string

Search term to filter your list results. Max length: 256 chars.

Responses

200

Provider list

GET /messaging/providers
POST /messaging/providers/apns

Create a new Apple Push Notification service provider.

operationId: Messaging_createApnsProvider

Request Body

application/json
schema MessagingCreateApnsProviderRequest
Property Type Required
name string required
teamId string optional
authKey string optional
enabled boolean optional
sandbox boolean optional
bundleId string optional
authKeyId string optional
providerId string required

Responses

201

Provider

POST /messaging/providers/apns
PATCH /messaging/providers/apns/{providerId}

Update a Apple Push Notification service provider by its unique ID.

operationId: Messaging_updateApnsProvider

Parameters

Name In Required Type Description
providerId path required string

Provider ID.

Request Body

application/json
schema MessagingUpdateApnsProviderRequest
Property Type Required
name string optional
teamId string optional
authKey string optional
enabled boolean optional
sandbox boolean optional
bundleId string optional
authKeyId string optional

Responses

200

Provider

PATCH /messaging/providers/apns/{providerId}
POST /messaging/providers/fcm

Create a new Firebase Cloud Messaging provider.

operationId: Messaging_createFcmProvider

Request Body

application/json
schema MessagingCreateFcmProviderRequest
Property Type Required
name string required
enabled boolean optional
providerId string required
serviceAccountJSON object optional

Responses

201

Provider

POST /messaging/providers/fcm
PATCH /messaging/providers/fcm/{providerId}

Update a Firebase Cloud Messaging provider by its unique ID.

operationId: Messaging_updateFcmProviderById

Parameters

Name In Required Type Description
providerId path required string

Provider ID.

Request Body

application/json
schema MessagingUpdateFcmProviderByIdRequest
Property Type Required
name string optional
enabled boolean optional
serviceAccountJSON object optional

Responses

200

Provider

PATCH /messaging/providers/fcm/{providerId}
POST /messaging/providers/mailgun

Create a new Mailgun provider.

operationId: Messaging_createProvider

Request Body

application/json
schema MessagingCreateProviderRequest
Property Type Required
name string required
apiKey string optional
domain string optional
enabled boolean optional
fromName string optional
fromEmail string optional
isEuRegion boolean optional
providerId string required
replyToName string optional
replyToEmail string optional

Responses

201

Provider

POST /messaging/providers/mailgun
PATCH /messaging/providers/mailgun/{providerId}

Update a Mailgun provider by its unique ID.

operationId: Messaging_updateMailgunProvider

Parameters

Name In Required Type Description
providerId path required string

Provider ID.

Request Body

application/json
schema MessagingUpdateMailgunProviderRequest
Property Type Required
name string optional
apiKey string optional
domain string optional
enabled boolean optional
fromName string optional
fromEmail string optional
isEuRegion boolean optional
replyToName string optional
replyToEmail string optional

Responses

200

Provider

PATCH /messaging/providers/mailgun/{providerId}
POST /messaging/providers/msg91

Create a new MSG91 provider.

operationId: Messaging_createMsg91Provider

Request Body

application/json
schema MessagingCreateMsg91ProviderRequest
Property Type Required
from string optional
name string required
authKey string optional
enabled boolean optional
senderId string optional
providerId string required

Responses

201

Provider

POST /messaging/providers/msg91
PATCH /messaging/providers/msg91/{providerId}

Update a MSG91 provider by its unique ID.

operationId: Messaging_updateMsg91Provider

Parameters

Name In Required Type Description
providerId path required string

Provider ID.

Request Body

application/json
schema MessagingUpdateMsg91ProviderRequest
Property Type Required
from string optional
name string optional
authKey string optional
enabled boolean optional
senderId string optional

Responses

200

Provider

PATCH /messaging/providers/msg91/{providerId}
POST /messaging/providers/sendgrid

Create a new Sendgrid provider.

operationId: Messaging_createSendgridProvider

Request Body

application/json
schema MessagingCreateSendgridProviderRequest
Property Type Required
name string required
apiKey string optional
enabled boolean optional
fromName string optional
fromEmail string optional
providerId string required
replyToName string optional
replyToEmail string optional

Responses

201

Provider

POST /messaging/providers/sendgrid
PATCH /messaging/providers/sendgrid/{providerId}

Update a Sendgrid provider by its unique ID.

operationId: Messaging_updateProvider

Parameters

Name In Required Type Description
providerId path required string

Provider ID.

Request Body

application/json
schema MessagingUpdateProviderRequest
Property Type Required
name string optional
apiKey string optional
enabled boolean optional
fromName string optional
fromEmail string optional
replyToName string optional
replyToEmail string optional

Responses

200

Provider

PATCH /messaging/providers/sendgrid/{providerId}
POST /messaging/providers/smtp

Create a new SMTP provider.

operationId: Messaging_createSmtpProvider

Request Body

application/json
schema MessagingCreateSmtpProviderRequest
Property Type Required
host string required
name string required
port integer optional
mailer string optional
autoTLS boolean optional
enabled boolean optional
fromName string optional
password string optional
username string optional
fromEmail string optional
encryption string optional
providerId string required
replyToName string optional
replyToEmail string optional

Responses

201

Provider

POST /messaging/providers/smtp
PATCH /messaging/providers/smtp/{providerId}

Update a SMTP provider by its unique ID.

operationId: Messaging_updateProviderById

Parameters

Name In Required Type Description
providerId path required string

Provider ID.

Request Body

application/json
schema MessagingUpdateProviderByIdRequest
Property Type Required
host string optional
name string optional
port integer optional
mailer string optional
autoTLS boolean optional
enabled boolean optional
fromName string optional
password string optional
username string optional
fromEmail string optional
encryption string optional
replyToName string optional
replyToEmail string optional

Responses

200

Provider

PATCH /messaging/providers/smtp/{providerId}
POST /messaging/providers/telesign

Create a new Telesign provider.

operationId: Messaging_createTelesignProvider

Request Body

application/json
schema MessagingCreateTelesignProviderRequest
Property Type Required
from string optional
name string required
apiKey string optional
enabled boolean optional
customerId string optional
providerId string required

Responses

201

Provider

POST /messaging/providers/telesign
PATCH /messaging/providers/telesign/{providerId}

Update a Telesign provider by its unique ID.

operationId: Messaging_updateTelesignProvider

Parameters

Name In Required Type Description
providerId path required string

Provider ID.

Request Body

application/json
schema MessagingUpdateTelesignProviderRequest
Property Type Required
from string optional
name string optional
apiKey string optional
enabled boolean optional
customerId string optional

Responses

200

Provider

PATCH /messaging/providers/telesign/{providerId}
POST /messaging/providers/textmagic

Create a new Textmagic provider.

operationId: Messaging_createTextmagicProvider

Request Body

application/json
schema MessagingCreateTextmagicProviderRequest
Property Type Required
from string optional
name string required
apiKey string optional
enabled boolean optional
username string optional
providerId string required

Responses

201

Provider

POST /messaging/providers/textmagic
PATCH /messaging/providers/textmagic/{providerId}

Update a Textmagic provider by its unique ID.

operationId: Messaging_updateTextmagicProvider

Parameters

Name In Required Type Description
providerId path required string

Provider ID.

Request Body

application/json
schema MessagingUpdateTextmagicProviderRequest
Property Type Required
from string optional
name string optional
apiKey string optional
enabled boolean optional
username string optional

Responses

200

Provider

PATCH /messaging/providers/textmagic/{providerId}
POST /messaging/providers/twilio

Create a new Twilio provider.

operationId: Messaging_createTwilioProvider

Request Body

application/json
schema MessagingCreateTwilioProviderRequest
Property Type Required
from string optional
name string required
enabled boolean optional
authToken string optional
accountSid string optional
providerId string required

Responses

201

Provider

POST /messaging/providers/twilio
PATCH /messaging/providers/twilio/{providerId}

Update a Twilio provider by its unique ID.

operationId: Messaging_updateTwilioProvider

Parameters

Name In Required Type Description
providerId path required string

Provider ID.

Request Body

application/json
schema MessagingUpdateTwilioProviderRequest
Property Type Required
from string optional
name string optional
enabled boolean optional
authToken string optional
accountSid string optional

Responses

200

Provider

PATCH /messaging/providers/twilio/{providerId}
POST /messaging/providers/vonage

Create a new Vonage provider.

operationId: Messaging_createVonageProvider

Request Body

application/json
schema MessagingCreateVonageProviderRequest
Property Type Required
from string optional
name string required
apiKey string optional
enabled boolean optional
apiSecret string optional
providerId string required

Responses

201

Provider

POST /messaging/providers/vonage
PATCH /messaging/providers/vonage/{providerId}

Update a Vonage provider by its unique ID.

operationId: Messaging_updateVonageProvider

Parameters

Name In Required Type Description
providerId path required string

Provider ID.

Request Body

application/json
schema MessagingUpdateVonageProviderRequest
Property Type Required
from string optional
name string optional
apiKey string optional
enabled boolean optional
apiSecret string optional

Responses

200

Provider

PATCH /messaging/providers/vonage/{providerId}
DELETE /messaging/providers/{providerId}

Delete a provider by its unique ID.

operationId: Messaging_deleteProviderById

Parameters

Name In Required Type Description
providerId path required string

Provider ID.

Responses

204

No content

DELETE /messaging/providers/{providerId}
GET /messaging/providers/{providerId}

Get a provider by its unique ID.

operationId: Messaging_getProviderById

Parameters

Name In Required Type Description
providerId path required string

Provider ID.

Responses

200

Provider

GET /messaging/providers/{providerId}
GET /messaging/providers/{providerId}/logs

Get the provider activity logs listed by its unique ID.

operationId: Messaging_listProviderLogs

Parameters

Name In Required Type Description
providerId path required string

Provider ID.

queries query optional array

Array of query strings generated using the Query class provided by the SDK. Learn more about queries. Only supported methods are limit and offset

Responses

200

Logs List

GET /messaging/providers/{providerId}/logs
GET /messaging/subscribers/{subscriberId}/logs

Get the subscriber activity logs listed by its unique ID.

operationId: Messaging_listSubscriberLogs

Parameters

Name In Required Type Description
subscriberId path required string

Subscriber ID.

queries query optional array

Array of query strings generated using the Query class provided by the SDK. Learn more about queries. Only supported methods are limit and offset

Responses

200

Logs List

GET /messaging/subscribers/{subscriberId}/logs
GET /messaging/topics

Get a list of all topics from the current Appwrite project.

operationId: Messaging_listTopics

Parameters

Name In Required Type Description
queries query optional array

Array of query strings generated using the Query class provided by the SDK. Learn more about queries. Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, description, emailTotal, smsTotal, pushTotal

search query optional string

Search term to filter your list results. Max length: 256 chars.

Responses

200

Topic list

GET /messaging/topics
POST /messaging/topics

Create a new topic.

operationId: Messaging_createTopic

Request Body

application/json
schema MessagingCreateTopicRequest
Property Type Required
name string required
topicId string required
subscribe array optional

Responses

201

Topic

POST /messaging/topics
DELETE /messaging/topics/{topicId}

Delete a topic by its unique ID.

operationId: Messaging_deleteTopicById

Parameters

Name In Required Type Description
topicId path required string

Topic ID.

Responses

204

No content

DELETE /messaging/topics/{topicId}
GET /messaging/topics/{topicId}

Get a topic by its unique ID.

operationId: Messaging_getTopicById

Parameters

Name In Required Type Description
topicId path required string

Topic ID.

Responses

200

Topic

GET /messaging/topics/{topicId}
PATCH /messaging/topics/{topicId}

Update a topic by its unique ID.

operationId: Messaging_updateTopicById

Parameters

Name In Required Type Description
topicId path required string

Topic ID.

Request Body

application/json
schema MessagingUpdateTopicByIdRequest
Property Type Required
name string optional
subscribe array optional

Responses

200

Topic

PATCH /messaging/topics/{topicId}
GET /messaging/topics/{topicId}/logs

Get the topic activity logs listed by its unique ID.

operationId: Messaging_listTopicLogs

Parameters

Name In Required Type Description
topicId path required string

Topic ID.

queries query optional array

Array of query strings generated using the Query class provided by the SDK. Learn more about queries. Only supported methods are limit and offset

Responses

200

Logs List

GET /messaging/topics/{topicId}/logs
GET /messaging/topics/{topicId}/subscribers

Get a list of all subscribers from the current Appwrite project.

operationId: Messaging_listSubscribers

Parameters

Name In Required Type Description
topicId path required string

Topic ID. The topic ID subscribed to.

queries query optional array

Array of query strings generated using the Query class provided by the SDK. Learn more about queries. Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, provider, type, enabled

search query optional string

Search term to filter your list results. Max length: 256 chars.

Responses

200

Subscriber list

GET /messaging/topics/{topicId}/subscribers
POST /messaging/topics/{topicId}/subscribers

Create a new subscriber.

operationId: Messaging_createSubscriber

Parameters

Name In Required Type Description
topicId path required string

Topic ID. The topic ID to subscribe to.

Request Body

application/json
schema MessagingCreateSubscriberRequest
Property Type Required
targetId string required
subscriberId string required

Responses

201

Subscriber

POST /messaging/topics/{topicId}/subscribers
DELETE /messaging/topics/{topicId}/subscribers/{subscriberId}

Delete a subscriber by its unique ID.

operationId: Messaging_deleteSubscriberById

Parameters

Name In Required Type Description
topicId path required string

Topic ID. The topic ID subscribed to.

subscriberId path required string

Subscriber ID.

Responses

204

No content

DELETE /messaging/topics/{topicId}/subscribers/{subscriberId}
GET /messaging/topics/{topicId}/subscribers/{subscriberId}

Get a subscriber by its unique ID.

operationId: Messaging_getSubscriberById

Parameters

Name In Required Type Description
topicId path required string

Topic ID. The topic ID subscribed to.

subscriberId path required string

Subscriber ID.

Responses

200

Subscriber

GET /messaging/topics/{topicId}/subscribers/{subscriberId}

Storage 8 endpoints

GET /storage/buckets

Get a list of all the storage buckets. You can use the query params to filter your results.

operationId: Storage_listBuckets

Parameters

Name In Required Type Description
queries query optional array

Array of query strings generated using the Query class provided by the SDK. Learn more about queries. Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: enabled, name, fileSecurity, maximumFileSize, encryption, antivirus

search query optional string

Search term to filter your list results. Max length: 256 chars.

Responses

200

Buckets List

GET /storage/buckets
POST /storage/buckets

Create a new storage bucket.

operationId: Storage_createNewBucket

Request Body

application/json
schema StorageCreateNewBucketRequest
Property Type Required
name string required
enabled boolean optional
bucketId string required
antivirus boolean optional
encryption boolean optional
compression string optional
permissions array optional
fileSecurity boolean optional
maximumFileSize integer optional
allowedFileExtensions array optional

Responses

201

Bucket

POST /storage/buckets
DELETE /storage/buckets/{bucketId}

Delete a storage bucket by its unique ID.

operationId: Storage_deleteBucketById

Parameters

Name In Required Type Description
bucketId path required string

Bucket unique ID.

Responses

204

No content

DELETE /storage/buckets/{bucketId}
GET /storage/buckets/{bucketId}

Get a storage bucket by its unique ID. This endpoint response returns a JSON object with the storage bucket metadata.

operationId: Storage_getBucketById

Parameters

Name In Required Type Description
bucketId path required string

Bucket unique ID.

Responses

200

Bucket

GET /storage/buckets/{bucketId}
PUT /storage/buckets/{bucketId}

Update a storage bucket by its unique ID.

operationId: Storage_updateBucketById

Parameters

Name In Required Type Description
bucketId path required string

Bucket unique ID.

Request Body

application/json
schema StorageUpdateBucketByIdRequest
Property Type Required
name string required
enabled boolean optional
antivirus boolean optional
encryption boolean optional
compression string optional
permissions array optional
fileSecurity boolean optional
maximumFileSize integer optional
allowedFileExtensions array optional

Responses

200

Bucket

PUT /storage/buckets/{bucketId}
GET /storage/buckets/{bucketId}/files

Get a list of all the user files. You can use the query params to filter your results.

operationId: Storage_listFiles

Parameters

Name In Required Type Description
bucketId path required string

Storage bucket unique ID. You can create a new storage bucket using the Storage service server integration.

queries query optional array

Array of query strings generated using the Query class provided by the SDK. Learn more about queries. Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: name, signature, mimeType, sizeOriginal, chunksTotal, chunksUploaded

search query optional string

Search term to filter your list results. Max length: 256 chars.

Responses

200

Files List

GET /storage/buckets/{bucketId}/files
POST /storage/buckets/{bucketId}/files

Create a new file. Before using this route, you should create a new bucket resource using either a server integration API or directly from your Appwrite console.

Larger files should be uploaded using multiple requests with the content-range header to send a partial request with a maximum supported chunk of 5MB. The content-range header values should always be in bytes.

When the first request is sent, the server will return the File object, and the subsequent part request must include the file’s id in x-appwrite-id header to allow the server to know that the partial upload is for the existing file and not for a new one.

If you’re creating a new file using one of the Appwrite SDKs, all the chunking logic will be managed by the SDK internally.

operationId: Storage_createFile

Parameters

Name In Required Type Description
bucketId path required string

Storage bucket unique ID. You can create a new storage bucket using the Storage service server integration.

Request Body

multipart/form-data
schema StorageCreateFileRequest
Property Type Required
file string required
fileId string required
permissions array optional

Responses

201

File

POST /storage/buckets/{bucketId}/files
DELETE /storage/buckets/{bucketId}/files/{fileId}

Delete a file by its unique ID. Only users with write permissions have access to delete this resource.

operationId: Storage_deleteFileById

Parameters

Name In Required Type Description
bucketId path required string

Storage bucket unique ID. You can create a new storage bucket using the Storage service server integration.

fileId path required string

File ID.

Responses

204

No content

DELETE /storage/buckets/{bucketId}/files/{fileId}
Load more endpoints