Skip to content

NOWATCH API (0.9.0)

The NOWATCH API

Download OpenAPI description
Overview
Languages
Servers
Mock server

https://docs.api.nowatch.tech/_mock/apis/

https://docs.api.nowatch.tech/nowatch/

Operations

Request

Headers
x-auth-tokenstring

Token protecting non-jwt routes. Format: <secret>+<clientId> (base64 encoded)

Bodyapplication/jsonrequired
emailstringrequired

User email address used as the login identifier.

Example: "spongebob@bikinibottom.com"
passwordstring[ 8 .. 99 ] charactersrequired

User password. Requirements:

  • At least one lowercase letter is required.
  • At least one uppercase letter is required.
  • At least one digit (0-9) is required.
  • At least one special character from the provided set (^$*.[]{}()?-“!@#%&/,><’:;|_~+) is required.
Example: "BigBob27!"
first_namestring[ 1 .. 150 ] charactersrequired
Example: "Sponge Bob"
last_namestring[ 1 .. 150 ] charactersrequired
Example: "Squarepants"
toc_accepted_atstring(date-time)required

Timestamp when the Terms of Service were accepted

Example: "2024-07-01T12:34:56Z"
privacy_policy_accepted_atstring(date-time)required

Timestamp when the Privacy Policy was accepted

Example: "2024-07-01T12:34:56Z"
curl -i -X POST \
  https://docs.api.nowatch.tech/_mock/apis/v1/auth/register \
  -H 'Content-Type: application/json' \
  -H 'x-auth-token: string' \
  -d '{
    "email": "spongebob@bikinibottom.com",
    "password": "BigBob27!",
    "first_name": "Sponge Bob",
    "last_name": "Squarepants",
    "toc_accepted_at": "2024-07-01T12:34:56Z",
    "privacy_policy_accepted_at": "2024-07-01T12:34:56Z"
  }'

Responses

Successful request

Bodyapplication/json
statusstring
Value"success"
Response
application/json
{ "status": "success" }

Request

Headers
x-auth-tokenstring

Token protecting non-jwt routes. Format: <secret>+<clientId> (base64 encoded)

Bodyapplication/jsonrequired
emailstringrequired
Example: "garryTheSnail@bikinibottom.com"
passwordstringrequired
Example: "BigBob27!"
curl -i -X POST \
  https://docs.api.nowatch.tech/_mock/apis/v2/auth/login \
  -H 'Content-Type: application/json' \
  -H 'x-auth-token: string' \
  -d '{
    "email": "garryTheSnail@bikinibottom.com",
    "password": "BigBob27!"
  }'

Responses

Access and refresh token information

Bodyapplication/json
accessstring(jwt)required

JWT access token used to authorize API requests

Example: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0IiwibmJmIjoxNjAwMDAwMDAwLCJleHAiOjE2MDAwMzYwMDB9.signature"
refreshstring(jwt)required

JWT refresh token used to obtain a new access token

Example: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJyZWZyZXNoIiwic3ViIjoiMTIzNCIsImV4cCI6MTYwMDA5MjAwMH0.signature"
expiresInnumber>= 0required

Seconds until the access token expires

Example: 3600
Response
application/json
{ "access": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0IiwibmJmIjoxNjAwMDAwMDAwLCJleHAiOjE2MDAwMzYwMDB9.signature", "refresh": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJyZWZyZXNoIiwic3ViIjoiMTIzNCIsImV4cCI6MTYwMDA5MjAwMH0.signature", "expiresIn": 3600 }

Request

Headers
x-auth-tokenstring

Token protecting non-jwt routes. Format: <secret>+<clientId> (base64 encoded)

Bodyapplication/jsonrequired
emailstringrequired
Example: "garryTheSnail@bikinibottom.com"
passwordstringrequired
Example: "BigBob27!"
curl -i -X POST \
  https://docs.api.nowatch.tech/_mock/apis/v2/auth/login/admin \
  -H 'Content-Type: application/json' \
  -H 'x-auth-token: string' \
  -d '{
    "email": "garryTheSnail@bikinibottom.com",
    "password": "BigBob27!"
  }'

Responses

Access and refresh token information

Bodyapplication/json
accessstring(jwt)required

JWT access token used to authorize API requests

Example: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0IiwibmJmIjoxNjAwMDAwMDAwLCJleHAiOjE2MDAwMzYwMDB9.signature"
refreshstring(jwt)required

JWT refresh token used to obtain a new access token

Example: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJyZWZyZXNoIiwic3ViIjoiMTIzNCIsImV4cCI6MTYwMDA5MjAwMH0.signature"
expiresInnumber>= 0required

Seconds until the access token expires

Example: 3600
Response
application/json
{ "access": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0IiwibmJmIjoxNjAwMDAwMDAwLCJleHAiOjE2MDAwMzYwMDB9.signature", "refresh": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJyZWZyZXNoIiwic3ViIjoiMTIzNCIsImV4cCI6MTYwMDA5MjAwMH0.signature", "expiresIn": 3600 }

Request

Headers
x-auth-tokenstring

Token protecting non-jwt routes. Format: <secret>+<clientId> (base64 encoded)

Bodyapplication/jsonrequired
refreshstring>= 1required
Example: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJyZWZyZXNoIiwic3ViIjoiMTIzNCIsImV4cCI6MTYwMDA5MjAwMH0.signature"
curl -i -X POST \
  https://docs.api.nowatch.tech/_mock/apis/v1/auth/refresh \
  -H 'Content-Type: application/json' \
  -H 'x-auth-token: string' \
  -d '{
    "refresh": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJyZWZyZXNoIiwic3ViIjoiMTIzNCIsImV4cCI6MTYwMDA5MjAwMH0.signature"
  }'

Responses

Access and refresh token information

Bodyapplication/json
accessstring(jwt)required

JWT access token used to authorize API requests

Example: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0IiwibmJmIjoxNjAwMDAwMDAwLCJleHAiOjE2MDAwMzYwMDB9.signature"
refreshstring(jwt)required

JWT refresh token used to obtain a new access token

Example: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJyZWZyZXNoIiwic3ViIjoiMTIzNCIsImV4cCI6MTYwMDA5MjAwMH0.signature"
expiresInnumber>= 0required

Seconds until the access token expires

Example: 3600
Response
application/json
{ "access": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0IiwibmJmIjoxNjAwMDAwMDAwLCJleHAiOjE2MDAwMzYwMDB9.signature", "refresh": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJyZWZyZXNoIiwic3ViIjoiMTIzNCIsImV4cCI6MTYwMDA5MjAwMH0.signature", "expiresIn": 3600 }

Request

Initiates users forgot password flow, user will receive a code from AWS in their email

Headers
x-auth-tokenstring

Token protecting non-jwt routes. Format: <secret>+<clientId> (base64 encoded)

Bodyapplication/jsonrequired
emailstringrequired
Example: "spongebob@bikinibottom.com"
curl -i -X POST \
  https://docs.api.nowatch.tech/_mock/apis/v1/auth/forgot_password \
  -H 'Content-Type: application/json' \
  -H 'x-auth-token: string' \
  -d '{
    "email": "spongebob@bikinibottom.com"
  }'

Responses

Successful request

Bodyapplication/json
statusstring
Value"success"
Response
application/json
{ "status": "success" }

Request

Changes users password with verification code and new password

Headers
x-auth-tokenstring

Token protecting non-jwt routes. Format: <secret>+<clientId> (base64 encoded)

Bodyapplication/jsonrequired
emailstringrequired
Example: "spongebob@bikinibottom.com"
verification_codestringrequired
Example: "123456"
new_passwordstring[ 8 .. 99 ] charactersrequired

New user password. Requirements:

  • At least one lowercase letter is required.
  • At least one uppercase letter is required.
  • At least one digit (0-9) is required.
  • At least one special character from the provided set (^$*.[]{}()?-“!@#%&/,><’:;|_~+) is required.
Example: "BigBob27!"
curl -i -X POST \
  https://docs.api.nowatch.tech/_mock/apis/v1/auth/confirm_new_password \
  -H 'Content-Type: application/json' \
  -H 'x-auth-token: string' \
  -d '{
    "email": "spongebob@bikinibottom.com",
    "verification_code": "123456",
    "new_password": "BigBob27!"
  }'

Responses

Successful request

Bodyapplication/json
statusstring
Value"success"
Response
application/json
{ "status": "success" }

Request

Revokes all tokens

Headers
x-auth-tokenstring

Token protecting non-jwt routes. Format: <secret>+<clientId> (base64 encoded)

Bodyapplication/jsonrequired
emailstringrequired
Example: "spongebob@bikinibottom.com"
curl -i -X POST \
  https://docs.api.nowatch.tech/_mock/apis/v1/auth/sign-out \
  -H 'Content-Type: application/json' \
  -H 'x-auth-token: string' \
  -d '{
    "email": "spongebob@bikinibottom.com"
  }'

Responses

Successful request

Bodyapplication/json
statusstring
Value"success"
Response
application/json
{ "status": "success" }

Request

Headers
x-auth-tokenstring

Token protecting non-jwt routes. Format: <secret>+<clientId> (base64 encoded)

Bodyapplication/jsonrequired
emailstringrequired
Example: "garryTheSnail@bikinibottom.com"
passwordstringrequired
Example: "BigBob27!"
curl -i -X POST \
  https://docs.api.nowatch.tech/_mock/apis/v1/auth/login \
  -H 'Content-Type: application/json' \
  -H 'x-auth-token: string' \
  -d '{
    "email": "garryTheSnail@bikinibottom.com",
    "password": "BigBob27!"
  }'

Responses

Access and refresh token information

Bodyapplication/json
accessstring(jwt)required

JWT access token used to authorize API requests

Example: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0IiwibmJmIjoxNjAwMDAwMDAwLCJleHAiOjE2MDAwMzYwMDB9.signature"
refreshstring(jwt)required

JWT refresh token used to obtain a new access token

Example: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJyZWZyZXNoIiwic3ViIjoiMTIzNCIsImV4cCI6MTYwMDA5MjAwMH0.signature"
expiresInnumber>= 0required

Seconds until the access token expires

Example: 3600
Response
application/json
{ "access": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0IiwibmJmIjoxNjAwMDAwMDAwLCJleHAiOjE2MDAwMzYwMDB9.signature", "refresh": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0eXAiOiJyZWZyZXNoIiwic3ViIjoiMTIzNCIsImV4cCI6MTYwMDA5MjAwMH0.signature", "expiresIn": 3600 }
Operations

firmware

Firmware updates and downloads

Operations

admin-firmware

Admin firmware management

Operations

measurement

Time series health data (heart rate, temperature, activity, etc.)

Operations

insight

User insights, feedback, and reflections

Operations
Operations

checkin

User check-ins and wellness tracking

Operations
Operations

day-feedback

Daily feedback and mood tracking

Operations
Operations

activity

Sessions wrapper for activities

Operations

intention

Sessions wrapper for intentions

Operations

statistics

Aggregated health statistics

Operations

sharing

Manage sharing your data with other people

Operations

shared

Manage other people's data shared with you

Operations

telemetry

Application telemetry data (spans, metrics, logs)

Operations