Reincubate Relay service

Updated

Sessions

A pairing process is used to establish a link between a user of the API and a Reincubate Relay app instance. By default, if unpaired, the Reincubate Relay will display its pairing code. The user must give this to your application in order for it to create a valid session, via the following call.

curl https://ricloud-api.reincubate.com/sessions \
  -X POST \
  -H 'Authorization: Token <your key_token>' \
  -H 'Content-Type: application/json' \
  -d '{
  "source": {
    "user": "1",
    "type": "rirelay.instance",
  },
  "payload": {
    "code": "<Reincubate Relay pairing code>"
  }
}'

Once the session is created, you will be able to view information on the app instance via the session object's source attribute. This should look something like this:

{
  "id": "<session ID>",
  "resource": "session",
  ...
  "source": {
    "id": "<source ID>",
    "resource": "source",
    "user": "<user ID>",
    "type": "rirelay.instance",
    "identifier": "ee360f13-1b54-4d8c-8876-e5f573f0ba1c",
    "info": null,
    "parent": null,
    "children": [
        {
            "id": "<child source ID>",
            "resource": "source",
            "user": "<user ID>",
            "type": "rirelay.source",
            "identifier": "70a4982e-5893-4a5f-8af6-19db834d378d",
            "info": {
                "is_encrypted": true,
                "apple_model_id": "iPhone10,4",
                "apple_serial": "FFABCZGTJC12",
                "name": "iPhone 8",
                "ios_version": "13.2"
            },
            "children": [],
            "state": "active",
            "date_created": "2019-10-08T09:02:15.770532Z"
        }
    ],
    "state": "active",
    "date_created": "2019-10-08T08:58:33.861941Z"
  },
  ...
}

Subscriptions

Unlike other services, a subscription is required before the API can start retrieving data from a Reincubate Relay source. This is to help the app's user understand exactly what data is being accessed.

Subscriptions can only be created against rirelay.source type sources, which are the children of the Reincubate Relay instance. The session to use when polling the source must also be specified.

curl https://ricloud-api.reincubate.com/subscriptions \
  -X POST \
  -H 'Authorization: Token <your key_token>' \
  -H 'Content-Type: application/json' \
  -d '{
  "session": "<session ID>"
  "source": "<child source ID>",
  "poll_payload": {
    "data_types": ["ios_messages.messages"]
  }
}'

The subscription will remain in a pending state until the user has allowed access to the specific device in the Reincubate Relay app interface. Once it has been allowed, the state will transition to active.

An initial poll is immediately created on subscription activation, then subsequent polls will be created when the Reincubate Relay app notifies the API of new data.

Polls

Polls can also be manually created against sources with active subscriptions. This is helpful when troubleshooting retrieved data or when testing out new data types.

curl https://ricloud-api.reincubate.com/subscriptions \
  -X POST \
  -H 'Authorization: Token <your key_token>' \
  -H 'Content-Type: application/json' \
  -d '{
  "subscription": "<subscription ID>"
  "poll_payload": {
    "data_types": ["ios_phone.calls", "whatsapp.messages"]
  }
}'

Events

To stay informed of asynchronous changes, such as a subscription creating a new poll or a session expiring, your implementation will need to receive event notifications from the API via a webhook endpoint.

For details on how to setup and configure your webhook endpoint, see configuring webhooks.

Data types

Reincubate Relay app data types

identifier description
ios_messages.messages Retrieves iOS Messages data including iMessage and SMS.
ios_contacts.contacts Retrieves iOS Contacts data.
ios_phone.calls Retrieves iOS Phone data.
ios_calendar.events Retrieves iOS Calendar data.
ios_notes.notes Retrieves iOS Notes data.
ios_health.data Retrieves iOS Health data.
ios_safari.history Retrieves Safari browser history data.
ios_safari.cookies Retrieves Safari cookie data.
whatsapp.messages Retrieves WhatsApp messages.
whatsapp.calls Retrieves WhatsApp call history.
viber.messages Retrieves Viber messages.
viber.calls Retrieves Viber call history.
viber.conversations Retrieves Viber conversations.
viber.contacts Retrieves Viber contacts.
kik.messages Retrieves Kik messages.
kik.contacts Retrieves Kik contacts.
hike.messages Retrieves Hike messages.
hike.posts Retrieves Hike posts.
wechat.messages Retrieves WeChat messages.
tinder.messages Retrieves Tinder messages.
line.messages Retrieves Line messages.
facebook.messages Retrieves Facebook messages.
snapchat.messages Retrieves Snapchat messages.
snapchat.stories Retrieves Snapchat stories.
skype.messages Retrieves Skype messages.

Reincubate Relay aggregated data types

identifier description
.photos Scans the backup for image files.
.videos Scans the backup for video files.
.recordings Scans the backup for recording files.
.voicemails Scans the backup for voicemail files.
.app_usage Scans the backup for app usage information.
.installed_apps Scans the backup for installed app information.
.locations Scans the backup for locations.
.linked_watches Scans the backup for linked Apple Watch information.

How can we help?

Our support team are here to help!

Our office hours are Monday to Friday, 9 AM to 5 PM GMT. The time is currently 5:21 AM GMT.

We aim to reply to all messages within one working day.

Go to support section › Contact the enterprise team ›
Our awesome support team

Can we improve this article?

We love hearing from users: why not drop us an email, leave a comment, or tweet @reincubate?

© 2008 - 2019 Reincubate Ltd. All rights reserved. Registered in England and Wales #5189175, VAT GB151788978. Reincubate® is a registered trademark. Privacy & terms. We recommend 2FA. Built with in London.