Your app, Powered by EXI Exercise Intelligence

Our personalised physical activity prescription, your app.

Get up and running with SDKs, API keys and integration tools.

Android EXI® SDK Functions Guide

Add EXI® to your applications

Learn how to create an EXI® powered Android application and integrate the EXI® SDK into your products and platforms.

EXIProfile

Description

Gets the requested user profile data. userId and email are taken from the JWS Payload

Response

{
  email: "joebloggs@example.com",
  firstName: "Joseph",
  lastName: "Bloggs",
  externalId: "123_externalId",
  organisationId: "aaaaaaaa-4c63-44d0-b92d-94955502e860",
  gender: "MALE",
  dateOfBirth: "2020-01-02T09:00:00",
  betaBlockers: false,
  isOrganisationRewardExisted: false,
  healthConditions: [
    {
      "id": "033623a5-4aca-4b97-9a09-e50b2105f7db",
      "name": "Stroke"
    },
    {
      "id": "0596cfab-e2cc-47fe-91e5-13e342dc693a",
      "name": "Peripheral arterial disease"
    }
  ],
  customFields: [
    {
      name: "site_name",
      value: "Fitness First Clapham Junction"
    },
    {
      name: "site_address",
      value: "Junction Station, 34 St John's Hill, London SW11 1SA, United Kingdom"
    },
    {
      name: "fitness_manager",
      value: "Leslie White"
    }
  ],
  healthRecords: "healthRecords": {
    "betaBlockers": {
      "id": "beta_blockers",
      "value": 1
    },
    "heartRateResting": {
      "id": "hr_resting",
      "value": 78
    },
    "activityLevel": {
      "id": "activity_level",
      "value": 2
    }
  },
  sixMinuteTestDue: false,
  rewardSchemeId: "d26e3b8a-4c63-44d0-b92d-94955502e860",
  locale: "en-GB",
  region: "UK",
  timezone: "Europe/London",
  createdAt: "2023-02-23T13:05:32.104Z",
  updatedAt: "2023-02-23T13:05:32.104Z",
}

EXIPrescription

Description

Data is generated for the active week based on the SDK user information. Week 0 will be generated if it doesn’t exist.

Response

{
  "userId": "af1de4eb-f216-43a4-a3a9-fede6f9682bd",
  "streamId": "stream_5",
  "includeHighIntensity": true,
  "weekStartDay": "2023-03-20T00:00:00.000Z",
  "currentWeek": 3,
  "startedAt": {
    "dateTime": "2023-03-26T07:43:02.809Z",
    "timezone": "Europe/London"
  },
  "week": [
    {
      "week": 5,
      "medMinutes": 20,
      "setsOfMed": 5,
      "highMinutes": 14,
      "setsOfHigh": 5,
      "steps": 9500,
      "setsOfSteps": 5
    }
  ]
}

EXIActivity

Description

This API will help you get a list of activities

[
  {
    "name": "Other exercise",
    "id": "05720979-6f59-4c39-972a-c2ee0dcc1efb"
  }
]

EXIHealthConditionDescription

Description

The list of health conditions will be configured by EXI, these conditions will be fetched by this API and configured during the registration process.

Response

[
  {
    "id": "033623a5-4aca-4b97-9a09-e50b2105f7d2",
    "name": "Stroke",
    "translations": [
      {
        "locale": "en-GB",
        "name": "Premium Test",
        "description": "Get your blood pumping with this 5 minute high intensity workout.  You will complete 1 round of 8 exercises.",
        "libraryContent": "<h2>test</h2>"
      }
    ]
  }
]

EXIActivityData

Description

This API will help you get user activities data in a specific day

Response

[
  {
    "id": "d26e3b8a-4c63-44d0-b92d-94955502e860",
    "activityTypeId": "d26e3b8a-4c63-44d0-b92d-94955502e860",
    "value": 5,
    "rpe": 1,
    "averageHeartRate": 102,
    "steps": 1314,
    "distance": 985,
    "loggedAt": {
      "dateTime": "2022-12-23T16:31:51.521Z",
      "timezone": "Europe/London"
    },
    "translations": [
      {
        "locale": "en-GB",
        "name": "Premium Test",
        "description": "Get your blood pumping with this 5 minute high intensity workout.  You will complete 1 round of 8 exercises."
      }
    ],
    "day": 7,
    "week": 1,
    "intensity": "HIGH"
  }
]

EXIUserActivity

Description

This API will help you get user activities data in a specific day

Response

[
  {
   "id": "d26e3b8a-4c63-44d0-b92d-94955502e860",
    "activityTypeId": "d26e3b8a-4c63-44d0-b92d-94955502e860",
    "value": 5,
    "rpe": 1,
    "averageHeartRate": 102,
    "steps": 1314,
    "distance": 985,
    "loggedAt": {
      "dateTime": "2022-12-23T16:31:51.521Z",
      "timezone": "Europe/London"
    },
    "translations": [
      {
        "locale": "en-GB",
        "name": "Premium Test",
        "description": "Get your blood pumping with this 5 minute high intensity workout.  You will complete 1 round of 8 exercises."
      }
    ],
    "day": 7,
    "week": 1,
    "intensity": "HIGH"
  }
]

EXIActivityCategory

Description

This API will help you get a list of activity categories

Response

[
  {
    "id": "af1de4eb-f216-43a4-a3a9-fede6f9682bd",
    "name": "Home workouts",
    "orderIndex": 1,
    "activityTypes": [
      {
        "id": "09b660b9-1ee4-4586-9e44-f664073b1b52",
        "imageUrl": "https://exo.s3.ey-west-7.amazonaws.com/activa/fcc3afb1-6f8c-46c9-9306-a031f",
        "googleId": 19,
        "appleId": 91,
        "intensity": "HIGH",
        "trackingType": "ROUTE",
        "media": {
          "id": "8860a35c-bc3f-4707-9bcc-0e312daa084b",
          "type": "VIDEO",
          "key": "f31c12ce-bf7f-464f-88cf-785703cd798b",
          "filename": "f31c12ce-bf7f-464f-88cf-785703cd798b.mp4",
          "duration": 1800
        },
        "translations": [
          {
            "locale": "en-GB",
            "name": "Premium Test",
            "description": "Get your blood pumping with this 5-minute high-intensity workout.  You will complete 1 round of 8 exercises."
          }
        ]
      }
    ]
  }
]

EXIUserActivityType

Description

This API will help you get a list of activity types for user based on their data.

Response

[
  {
    "id": "4b56e674-7d2d-42ee-9b3f-542408fd251b",
    "intensity": "MEDIUM",
    "trackingType": "DEFAULT",
    "appleId": 13,
    "googleId": 18,
    "imageUrl": "da75a78-a974-4d0e-a02b-ea8883f37a94",
    "name": "some name",
    "media": {
      "id": "a4e964bd-8955-4737-b5d0-7cae55e79ca7",
      "type": "VIDEO",
      "key": "429ee838-e760-4236-917a-ed275dba1939",
      "filename": "429ee838-e760-4236-917a-ed275dba1939.mp4",
      "durationSeconds": 600,
      "url": ""
    }
  }
]

EXISixMinuteWalkLog

Description

Log data for six mins walk activity

Response

{
  "id": 595,
  "value": 45.45,
  "week": 6,
  "source": "APP",
  "loggedAt": {
   "dateTime": "2022-12-23T16:31:51.521Z",
    "timezone": "Europe/London"
  }
}