# Ayla Documentation > Documentation for Ayla ## Guides - [Getting Started](https://docs.aylanetworks.com/docs/getting-started.md) - [Integrated Agent v3.3](https://docs.aylanetworks.com/docs/integrated-agent-v33.md) - [Integrated Agent v3.2](https://docs.aylanetworks.com/docs/integrated-agent-v323.md) - [Integrated Agent v3.1](https://docs.aylanetworks.com/docs/integrated-agent-v31.md) - [Device Connection Status - SelfOffline](https://docs.aylanetworks.com/docs/device-connection-status-selfoffline.md): This page provides information about the SelfOffline status for sensor devices. - [Users](https://docs.aylanetworks.com/docs/users.md) - [Rule Based Notifications](https://docs.aylanetworks.com/docs/rules.md): Rule based notifications are used to automatically respond to the changes in the state of a device or to an event. - [Subscription-Based Rules and Notifications](https://docs.aylanetworks.com/docs/subscription-based-rules-and-notifications.md): Subscription-based rules and notifications are designed to simplify the creation, management, and customization of user-facing notifications. This approach minimizes API calls, reduces developer effort, and enhances the end-user experience. - [Message Templates](https://docs.aylanetworks.com/docs/message-templates.md): In the Ayla Platform, notifications are used to help monitor device activity, for example, alerts that notify users of a specific action or event that occurred on the device. They are also used to keep end-users informed of tasks and services ranging from sign-up confirmations to device sharing. There are three delivery methods supported for notifications: email, SMS (Short Message Service), and push messages. This guide focuses on email notifications, particularly the options to create and customize email messages. - [Specific-Component OTA Jobs](https://docs.aylanetworks.com/docs/specific-component-ota-jobs.md) - [Stage Run](https://docs.aylanetworks.com/docs/commandcenter-stage-run.md) - [OTA Best Practices](https://docs.aylanetworks.com/docs/command-center-ota-best-practices.md) - [Command Center Video Tutorial](https://docs.aylanetworks.com/docs/command-center-video-tutorial.md) - [Ayla Dashboard Tutorial](https://docs.aylanetworks.com/docs/tutorials.md) - [How to create Push notifications PEM file](https://docs.aylanetworks.com/docs/how-to-create-push-notifications-pem-file.md) - [Ayla Rule Service (ARS)](https://docs.aylanetworks.com/docs/ayla-rule-service-ars-preview.md): Created August 28, 2020. Last modified August 28, 2020. - [Data Export](https://docs.aylanetworks.com/docs/ayla-data-export-and-streaming-features-1.md) - [Data Export - GCP](https://docs.aylanetworks.com/docs/data-export-gcp.md) - [Native MQTT Cloud Architecture and Features](https://docs.aylanetworks.com/docs/native-mqtt-cloud-architecture-and-features.md) - [Passthrough Properties](https://docs.aylanetworks.com/docs/passthrough-properties.md) - [Ayla MobMobile SDK - Native MQTT (nMQTT) Developer Guide](https://docs.aylanetworks.com/docs/native-mqtt-mobile-sdk-developer-guide.md) ## API Reference - [Introduction](https://docs.aylanetworks.com/reference/getting_started.md) - [How to Make API Requests](https://docs.aylanetworks.com/reference/how-to-make-api-requests.md) - [Sign In](https://docs.aylanetworks.com/reference/sign-in.md): This API is used to sign a user into the Ayla IoT Cloud service. This API returns an access token and refresh token. The access token is required to use Ayla APIs. The refresh token can be used to obtain a new access token. To use this API, you need the user's *email*, *password*, *app_id*, and *app_secret*. Follow these steps to get your *app_id* and *app_secret*: 1. Log in to Alya Customer Dashboard. 2. In the left navigation panel, click **OEM Profile**. 3. Under the **Apps** tab, create a new app-id, or choose an existing app-id. - [Get registrable device](https://docs.aylanetworks.com/reference/get-registrable-device.md): This API returns the device that matches the query parameters and is eligible for registration. If multiple devices match the query parameters, only the most recently connected device is returned. - [Register device](https://docs.aylanetworks.com/reference/register-device.md): This API registers the specified device to the caller. - [Create template](https://docs.aylanetworks.com/reference/create-template.md): This API creates a template. - [Update template](https://docs.aylanetworks.com/reference/create-template-2.md): This API is used to update a specific template. - [Create template properties](https://docs.aylanetworks.com/reference/create-template-properties.md): This API is used to create template properties. *Access Control*: OEM::Admin and above For **feed_type** == **air_quality**, the value of the parameter "feed_data" can be any of the following: * air_quality_category * air_quality_index * co * general_group * no2 * o3 * pm10 * pm2.5 * primary_pollutant * sensitive_group * so2 For **feed_type** == **weather_condition**, the value of the parameter "feed_data" can be any of the following: * relative_humidity * sunrise * sunset * temp_c * temp_f * weather_condition - [Get devices](https://docs.aylanetworks.com/reference/get-associated-devices.md): This API returns an array of device objects.This API returns an array of device objects in one of two formats depending on whether you include the paginated query parameter. If the `paginated` parameter is not passed, the API returns data using Format A, and heeds the other query parameters, most notably order_by, order, and user_uuid:**Format A**
{  "previous_page": null,  "next_page": 2,  "current_page_number": 1,  "start_count_on_page": 1,  "end_count_on_page": 5,  "total": 9,  "devices": [    {      "device": {}    },    {      "device": {}    }  ]}
If the `paginated` parameter is not passed, the API returns data using Format B, data that includes only devices owned by or shared with the caller, and ignores the other query parameters including order_by:**Format B**
[  {    "device": {}  },  {    "device": {}  }]
In general, paginated=1 is recommended because you can control quantity (per_page) and order (order_by).**NOTE**:The presence of the `connection_priority` key in the response body is based on the below conditions on query parameters.* If (paginated = true) or (paginated = false & only_dsns = false & dsns_list = false & show_optimal = false), then the `connection_priority` key will be present in the response body.* If (paginated = false) & (only_dsns = true or dsns_list = true or show_optimal = true), then the `connection_priority` key will not be present in the response body. - [Update device address](https://docs.aylanetworks.com/reference/update-device-address.md): This API updates the physical address of the device. - [Update device location](https://docs.aylanetworks.com/reference/update-device-location-id116.md): This API updates device location. Passing lat=0 and long=0 is acceptable. - [Update schedule](https://docs.aylanetworks.com/reference/update-schedule1.md): This API updates a schedule. - [Update schedule action](https://docs.aylanetworks.com/reference/update-schedule-action.md): This API creates a schedule action. *NOTE*: Specify value to just one of the following parameters in the request body: in_range, at_start, or at_end. - [Create notification app](https://docs.aylanetworks.com/reference/create-notification-app.md): This API creates a notification app associated with the specified notification. | Name | Type | Description | |--|--|--| | app_type | string (255 chars) | Type of notification. The API supports the following request data objects: ```email```, ```sms```, ```push_ios```, ```push_android```, ```push_android_fcm```, ```push_baidu```. | | nickname | string (255 chars) | User-friendly notification name | | username | string (255 chars) | Used as greeting in notification | | email | string (255 chars) | Destination email address | | email_template_id | string (255 chars) | Custom email template id | | email_subject | string (255 chars) | Email subject line for email template | | email_body_html | string (10000 characters) | Email body for email template | | message | string (10000 characters) | Additional text for the notification | | country_code | string (255 chars) | Country code for phone number | | phone_number | string (255 chars) | 10 digit phone number | | registration_id | integer | Registration ID linking phone/tablet to notification service | | application_id | integer | Application ID linking phone/tablet to notification service | | channel_id | string (255 chars) | Channel ID linking phone/tablet to Baidu notification service | | push_sound |string (255 chars) | Sound file name (mp3) associated with this notification | | push_mdata | string (255 chars) | Additional details or key-value pairs | | data | string (255 chars) | Additional details or key-value pairs | - [Update notification app](https://docs.aylanetworks.com/reference/create-notification-app1.md): This API updates the specific notification application. - [Create trigger](https://docs.aylanetworks.com/reference/create-trigger.md): This API creates a trigger, and associates it with the specified property on the specified device. Including trigger apps as part of the request data is optional. See the createTriggerApp API for details. - [Update trigger](https://docs.aylanetworks.com/reference/update-trigger1.md): This API updates the specified property trigger. Include only the key/value pairs you want to modify. - [Create datapoint in group](https://docs.aylanetworks.com/reference/create-datapoints-in-group-1.md): This API updates the value of a single property for all the devices in the specified device group. - [Get connection history](https://docs.aylanetworks.com/reference/get-connection-history.md): This API is used to get the connection status history for a given device. - [Get LAN data](https://docs.aylanetworks.com/reference/get-lan-data.md): This API is used to fetch LAN data. - [Create virtual device](https://docs.aylanetworks.com/reference/create-virtual-device.md): This API creates a virtual device. - [SSO sign in](https://docs.aylanetworks.com/reference/login.md): This API is called by the app to log into the Ayla service with the Identity Provider-issued access token.
Specify the token issued by the identity provider in the ```token``` field.
Upon successful SSO sign in, continue to validate token. - [Token Validation](https://docs.aylanetworks.com/reference/token-validation.md) - [Update SSO User](https://docs.aylanetworks.com/reference/update-sso-user.md): This API is used to update an SSO (Single Sign-On) user in the system. The update operation is performed using the user’s unique uuid. - [Get OEMs](https://docs.aylanetworks.com/reference/get-oems.md): This API is used to get details of all the OEMs. - [Update device manufacturer info](https://docs.aylanetworks.com/reference/update-devices-manufacturer-info.md): This API updates a device with manufacturer information. The caller must be a member of the ```OEM::Admin``` role with ```module_manufacturer=true``` in the OEM Profile. The response data object has one field named device containing a Device object: | Name | Type | Description | |--|--|--| | device | object | Device object | This Device object contains the following fields: | Name | Type | Example | |--|--|--| | dsn | string | AC000W123456789 | | model | string | AY001MVM2 | | mac | string | 001122aabbcc | | hwsig | string | hwsig_5NU41 | | odm | string | odm_123 | | manuf_model | string | mfg_model_HdsbL | | manuf_sn | string | 16428876609579218157072732 | | module_sw_version | string | mfg_sw_version_1468 | | oem_host_version | string | 2.0 | | wifi_setup_key | string | abcde | | ads_connect_flag | integer | null | |dom_at | string | 2018-12-30T14:11:10Z | - [Update device OEM](https://docs.aylanetworks.com/reference/update-device-oem.md): This API updates a device with OEM information. The caller must be a member of the ```OEM::SoftwareOEMManufacturer``` role. The response data object has one field named ```device``` containing a ```Device``` object: | Name | Type | Description | |--|--|--| | device | object | Device object | This Device object contains the following fields: | Name | Type | Example | |--|--|--| | dsn | string | AC000W123456789 | | model | string | AY001MVM2 | | oem | string | 1234abcd | | mac | string | 001122aabbcc | | hwsig | string | hwsig_5NU41 | | odm | string | odm_123 | | manuf_model | string | mfg_model_HdsbL | | manuf_sn | string | 16428876609579218157072732 | | module_sw_version | string | mfg_sw_version_1468 | | oem_host_version | string | 2.0 | | wifi_setup_key | string | abcde | | ads_connect_flag | integer | null | | dom_at | string | 2018-12-30T14:11:10Z | - [Upload file](https://docs.aylanetworks.com/reference/upload-file.md): This API uploads a file and associates it with a file record. - [Remove OTA command](https://docs.aylanetworks.com/reference/remove-ota-command.md): This API removes the OTA command queued for the specified job for the DSNs that are in the "Queued" state. This API can be used only for the active jobs. - [Retry selected devices](https://docs.aylanetworks.com/reference/retry-selected-devices.md): This API is used to retry the selected DSN(s). This API can be used only for active/finished jobs. - [Delete actions in bulk](https://docs.aylanetworks.com/reference/delete-actions-in-bulk.md): This API deletes actions in bulk, but it does not delete rules associated with the action. - [Create rule](https://docs.aylanetworks.com/reference/create-rule.md): This API creates a rule for the user. Devices specified in the rule must exist. The caller must own, or have rights to, the device. Actions can be included at rule-creation time, or they can be added to the rule later. - [Create destination](https://docs.aylanetworks.com/reference/create-destination.md): This API creates a message service destination. The following types are supported: | Type | Provider | Required Fields | |--|--|--| | email | smtp | type, body or message_template_id, deliver_to | | sms | twilio, yunpian | type, body, country_code, deliver_to | | push | fcm, apns | type, app_id, body, deliver_to, meta_data | - [Delete destination](https://docs.aylanetworks.com/reference/delete-destination.md): This API deletes a destination. - [Delete destinations in bulk](https://docs.aylanetworks.com/reference/delete-destinations-in-bulk.md): This API deletes destinations in bulk. - [Retrieve collections](https://docs.aylanetworks.com/reference/retrieve-collections.md): This API is used to retrieve the list of collections belonging to the user. - [Update custom attributes](https://docs.aylanetworks.com/reference/update-custom-attributes.md): This API is used to update custom attributes associated with the specified collection. - [Post datapoints to collection](https://docs.aylanetworks.com/reference/post-datapoints-to-collection.md): This API is used to post datapoints to a group associated with multiple devices. **NOTE**: If you get response code 206, it indicates that some of the properties in the request are associated with the devices in the group and datapoint is posted successfully for them. - [Get last posted datapoints for a collection](https://docs.aylanetworks.com/reference/get-last-posted-datapoints-for-a-collection.md): This API is used to retrieve last datapoints for collection associated with multiple devices (Group Only). - [Enable/Disable scene automation](https://docs.aylanetworks.com/reference/enable-disable-scene-automation.md): This API is used to enable or disable the scene automation. - [Activate scene based on countdown timer](https://docs.aylanetworks.com/reference/activate-scene-based-on-countdown-timer.md): This API is used to activate the specified scene based on the countdown timer. - [Create filter](https://docs.aylanetworks.com/reference/create-filter-1.md): This API creates a new filter and adds this new filter to the Ayla mDSSV2 filter list. - [Update filter](https://docs.aylanetworks.com/reference/update-filter-1.md): Updates the specified filter. - [Get filters](https://docs.aylanetworks.com/reference/get-filters-1.md): Returns the filters associated with the API caller. - [Get filters by filter_uuid](https://docs.aylanetworks.com/reference/get-filters-by-uuid.md): It returns the filter details based on the specified filter_uuid. - [Get associated topic](https://docs.aylanetworks.com/reference/get-associated-topic.md): Returns the associated topic for the API caller. - [GET MQTT credentials](https://docs.aylanetworks.com/reference/get-mqtt-credentials.md): Returns MQTT credentials for the caller to connect with EMQX broker. - [Delete filter](https://docs.aylanetworks.com/reference/delete-filter-copy.md): This API deletes the specified filter. - [Introduction](https://docs.aylanetworks.com/reference/dealer-service-introduction.md): This page will help you get started with Dealer Services. - [Create dealer](https://docs.aylanetworks.com/reference/create-dealer.md): This API creates a dealer.
Access permission: Ayla::Admin and OEM::Admin.
For more information on dealer, please refer [Dealer user](https://docs.aylanetworks.com/docs/users#dealer-users). - [Update dealer](https://docs.aylanetworks.com/reference/update-dealer.md): This API updates details of a dealer.
Access Control: - [Get dealers](https://docs.aylanetworks.com/reference/get-dealers.md): This API fetches the list of dealers associated with the specified OEM.
Access Control: - [Get dealer by uuid](https://docs.aylanetworks.com/reference/get-dealer-by-uuid.md): This API fetches the details of a dealer specified by uuid.
Access Control: - [Search dealers](https://docs.aylanetworks.com/reference/search-dealers.md): This API is used to search list of dealers associated with a specified OEM. The result is based on your search criteria.
Access Control: - [Get dealer roles](https://docs.aylanetworks.com/reference/get-dealer-roles.md): This API fetches the role(s) of the dealer(s) for the specified OEM.
Access Control: - [Delete dealer](https://docs.aylanetworks.com/reference/delete-dealer.md): This API deletes the specified dealer.
Access Control: - [Create dealer user](https://docs.aylanetworks.com/reference/create-dealer-user.md): This API creates a dealer user for the specified dealer.
Access Control: - [Get dealer users](https://docs.aylanetworks.com/reference/get-dealer-users.md): This API fetches all the dealer users associated with the specified dealer.
Access Control: - [Search dealer users](https://docs.aylanetworks.com/reference/search-dealer-users.md): This API fetches all the dealer users associated with the specified dealer. The result is based on your search criteria.
Access Control: NOTE: The example response provided for this API assumes that General Data Protection Regulation (GDPR) is enabled. If GDPR is not enabled, the response will include additional dealer user data. - [Get end users of a dealer](https://docs.aylanetworks.com/reference/get-end-users-of-a-dealer.md): This API fetches all the end users associated with the specified dealer.
Access Control: - [Search end users of a dealer](https://docs.aylanetworks.com/reference/search-end-users-of-a-dealer.md): This API fetches all the end users associated with the specified dealer.
Access Control: - [Associate end user to a dealer](https://docs.aylanetworks.com/reference/associate-end-user-to-a-dealer.md): This API associates an end user to a dealer with role name.
Access Control: - [Get devices tagged to a dealer](https://docs.aylanetworks.com/reference/get-devices-tagged-to-a-dealer.md): This API fetches all the devices associated with the specified dealer.
Access Control: - [Assign dealer to group](https://docs.aylanetworks.com/reference/assign-dealer-to-group.md): This API assigns a dealer to the specified group.
Access Control: - [Search Devices](https://docs.aylanetworks.com/reference/getting-started-with-your-api-2.md): This API is used to search for devices based on various fields, such as OEM, OEM model, status, property, etc. - [Search Dealer Devices](https://docs.aylanetworks.com/reference/search-devices-copy.md): This API is used to search for devices based on various fields, such as OEM, OEM model, status, property, etc. ## Pages - [Release notes](https://docs.aylanetworks.com/page/release-notes.md) ## Changelog - [Aug 07, 2026](https://docs.aylanetworks.com/changelog/aug-07-2026.md) - [July 31, 2026](https://docs.aylanetworks.com/changelog/july-31-2026.md) - [July 17, 2026](https://docs.aylanetworks.com/changelog/july-17-2026.md) - [July 10, 2026](https://docs.aylanetworks.com/changelog/july-10-2026.md) - [July 03, 2026](https://docs.aylanetworks.com/changelog/july-03-2026.md) - [June 26, 2026](https://docs.aylanetworks.com/changelog/june-26-2026.md) - [June 19, 2026](https://docs.aylanetworks.com/changelog/june-19-2026.md) - [June 12, 2026](https://docs.aylanetworks.com/changelog/june-12-2026.md) - [May 29, 2026](https://docs.aylanetworks.com/changelog/may-29-2026.md) - [May 22, 2026](https://docs.aylanetworks.com/changelog/may-22-2026.md)