2026-10-16
- Adds the
ios_files.filesdata type for Reincubate Relay sources. It lists the documents stored On My iPhone and in iCloud Drive, and, withinclude: ["app_documents"], those in apps' ownDocuments/folders. The newpathsandexclude_pathsfilters narrow it by path. - Adds the
linesandexclude_linesfilters for dual-SIM devices, matching the line a message, call or voicemail went over.ios_messages.messagesitems gainline,line_idandline_label, andios_phone.callsitems gainline_id,lineandline_label. See line filters. - Adds the
identifiersandexclude_identifiersfilters, matching WeChat IDs and aliases onwechat.messages. WeChat messages gainwechat_id,wechat_alias,group_wechat_idsandgroup_wechat_aliases. Phone number and email address filters no longer apply to WeChat messages, which previously ignored them. - Adds the
includefilter.include: ["transcript"]adds Voice Memos transcripts to.recordings. ios_messages.messagesitems that aren't linked to a conversation now carryorphaned: trueand aconversation_id_source. See message handles and conversations.- The
excludeandincludefilters now reject unrecognised values with a validation error, where unrecognisedexcludevalues were previously ignored. - Data-level filters now only apply to the data types they can match, and leave the others untouched, so a filter set on the whole poll no longer empties data types that never carry its kind of value. See filter applicability.
- Contacts are now matched on all their phone numbers and email addresses together.
exclude_phone_numbersandexclude_email_addressesleave out a contact if any of its numbers or addresses match, where previously a contact that also had an unmatched value was kept. They no longer leave out contacts that have no phone number or email address. - Corrects WhatsApp
participant_addedevents inwhatsapp.messagesandwhatsapp_business.messages. These were previously labelledgroup_context, with the person added as thehandle.handleis now the admin who added them, and the newgroup_event_participantsfield lists the people added.participants_batch_addedevents are split the same way. See WhatsApp group event types. - Adds
group_event_descriptionto WhatsApp group events whosetextis only identifiers or codes, giving a readable sentence such asIphone 6 (40743660246@s.whatsapp.net) added Luci (40726367814@s.whatsapp.net). - On WhatsApp group events whose
handlecomes from the event,handle_nameandcontactnow describe that person, where previously they described the original sender. - WhatsApp senders and group members identified only by an unresolved LID no longer get a phone number in
contactorgroup_contacts. It was previously made from the LID's digits, which aren't a phone number.
2023-01-23
- Improves data consistency for the
ios_messages.messagesdata module by implementing additional fallback and inference when determining which conversation a message relates to. This patches over issues with source data that has not been smoothly migrated across app and iOS updates over time.
2022-07-08
- Adds support for
untilfiltering to polls and subscriptions on the Relay service. This extends the existingsincefilter to allow for specifying a period of interest for data retrieval.
2020-03-12
- Adds ability to modify default subscription interval for rirelay service subscriptions. Previously, as rirelay subscriptions are push-based, the interval was set at 24 hours for all subscriptions. Note, this is the interval by which the Reincubate Relay application will be instructed to ask a device for updated data, therefore the device must be connected within this time interval for a poll to be triggered. The default interval is now 24 hours for
rirelay.sourcesources, with a minimum interval of 1 hour. - Improves the rirelay service progressive polling mechanism. This helps minimise the amount of duplicate data published in subsequent poll results.
- Fixes issue with ordering of list items for certain resources.
2020-02-27
- Adds support for signed URLs. This adds the
signed_urls_enabledandsigned_urls_expiryon the storage config object to toggle generation of signed URLs for results and how long the signed URLs should be active. - Adds the
signed_urlattribute to the result object. This is a nested dictionary containing the signed URL in theurlattribute and when it expires indate_expires. - Adds the ability to acknowledge results in batches with the new
POST /results/ackendpoint. - Adds
first_name,last_name, andfull_nameto the root ofinfo_type:icloud.account. - Fixes a bug with path prefixes in S3 storage configs.
- Ports over updates to the proxy allocation mechanism. This improves allocation efficiency by assigning iCloud accounts to emptiest proxy available.
- Fixes issue with Reincubate Relay service subscription deletion.
2020-02-20
- The API version can now be specified in one of two ways:
- Via the
api_versionattribute on the organisation object. - By including the
Ricloud-Versionheader in requests.
This coincides with the first major changes in the API. All existing organisations will by default use the older version of the API. - Via the
- Major The
resultsattribute of the poll object is now a nested list object, rather than a simple list attribute. This makes it possible to paginate results when a poll publishes a large number of results.
Now:
{
"id": <poll ID>,
"resource": "poll",
...
"results": {
"data": [{
"resource": "result",
...
}],
"has_more": False,
"total_count": 1,
"url": "/polls/<poll ID>/results"
},
...
}
Before:
{
"id": <poll ID>,
"resource": "poll",
...
"results": [{
"resource": "result",
...
}],
...
}
- Major The
resultsattribute of the task object is now a nested list object, rather than a simple list attribute. - Major The
childrenattribute of the source object is now a nested list object, rather than a simple list attribute. - Major The
storage_configsandwebhook_configsattributes of the organisation object are now a nested list object, rather than a simple list attribute.
2019-10-16
- Adds the Reincubate Relay service. This allows for data retrieval from Reincubate Relay apps running on users' machines. This adds two new source types:
rirelay.instanceandrirelay.source. - Adds the subscription object to control periodic and scheduled polling patterns.
- Adds the
subscriptionattribute to the poll object to indicate whether the poll was triggered by a subscription. - The
stateattribute of the task object can now have the valuesuspended. This indicates that the API is awaiting completion of actions by the Reincubate Relay application, such as a file upload or metadata update, for it to resume and complete the task.
2019-06-01
- The poll object
payloadattribute can now be composed of multiple operation types. This means a poll can be created with any or all ofinfo-types,data-typesandfilesin the payload. - Major The
typeattribute on the poll object is deprecated in favour of composable poll payloads.
2018-01-07
Initial release of v3 the Reincubate Cloud API.
