Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel7

User Object

Type

Value

Meaning

Description

100

Admin

Admin user

110

Cronjob

For system use

140

System

For system use

150

Common Admin

Admin user

160

API

For system use

200

Member

A registered patient

300

Company

400

Provider

Provider: Physician or CSR

600

Guest

Guest one-time user

700

Phone Bridge

User joined by dial-in

500

Kiosk

deprecated

Subtype

Value

Meaning

Description

480

Paramedic

Remote Medic

482

Doctor

Licensed Service Provider

484

Nurse

Remote Medic

486

SNF Nurse

deprecated

470

CSR

Customer Service Representative

460

Medical Assistant

Medical Assistant

GET /users
Status
colourYellow
titleV3

Filter Parameters

Parameter

Type

Description

id

int|int[]|string

E.g:

123 or “1234,1235" or [1234, 1235]

full_name

String

Full text search (minimum 3 chars)

email

String

Like search (minimum 3 chars)

q

String

Search keyword (minimum 3 chars)

full_name like q or email like q

ex_filter

String

all or my-patient

all: filter by assigned rooms

my-patient: filter by own visits

is_hidden

Boolean

[RPM][New] Hide/Unhide patient from patient list

is_admin

Boolean

status

int|int[]|string

Status, e.g:

20 or “10,20" or [10, 20]

type

int|int[]|string

User type, e.g:

400 or “200,600" or [200, 600]

role

string|string[]

Role, e.g:

"clinic_admin" or "clinic_admin,scheduler" or ["clinic_admin", "scheduler"]

room_code

account_code

group

Clinic group

subtype

Provider sub type

Other Parameters

Parameter

Type

Description

sort

string|object

E.g:

“full_name.asc" or {full_name: "asc"}

start

int

Offset

limit

int

Page size

fields

string|string[]

E.g:

"username,full_name,last_login" or ["username", "full_name"]

Available fields params

  • id

  • username

  • first_name, last_name, full_name

  • last_login

  • type, subtype

Response:

Code Block
{
    "data": [
        UserObject,
        UserObject,
        UserObject,
        UserObject,
        UserObject
    ],
    "total": 500
}

GET /users/:id
Status
colourYellow
titleV3

Get profile’s data of a particular user, including fields from the extended profile (if any).

...

Code Block
curl --location --request GET 'https://api-vclinic.vsee.me/api_v3/users/27769243' \
--header 'X-ApiToken: xxxxxxxxxxxxx' \
--header 'X-AccountCode: vclinic'

{
    "data": {
        "id": "27769243",
        "code": "63f67706de344db98a6461d00adc646e",
        "first_name": "anton",
        "last_name": "test_2",
        "full_name": "anton test_2",
        "username": "anton+test2@vseelab.com",
        "vseeid": "cmo+user27769243",
        "dob": "1980-01-01",
        "email": "anton+test2@vseelab.com",
        "gender": 1,
        "active": true,
        "tos": true,
        "status": 20,
        "subtype": "",
        "timezone": "Europe/Berlin",
        "email_verified": true,
        "signup_step": 99,
        "extra": {
            "marital_status": "married",
            "gender_identity": "Choose Not To Disclose",
            "social_security_no": "",
            "veteran": "",
            "race": "",
            "ethnicity": "",
            "health_insurance": "",
            "insurance": "",
            "insurance_policy_number": "",
            "attachments": null,
            "emerg_contact_name": ""
        },
        "dashboard_url_alternative": "/u/uat",
        "account_code": "vclinic",
        "clinics": [
            "vclinic"
        ],
        "rooms": [
            {
                "id": "865244556",
                "code": "vclinic_room_code",
                "slug": "uat",
                "name": "UAT",
                "account_code": "vclinic",
                "domain": "vclinic.vsee.me",
                "default": true,
                "added_time": 1677096710,
                "source": "signup"
            }
        ],
        "created": 1677096710,
        "type": 200
    }
}

POST /users/sso
Status
colourYellow
titleV3

Single Sign On for patient and provider.

...

SSO process will create a user record on VSee side when you first call this API and will map to and return existing user record for further requests.

GET parameters

Use POST /users/sso?fields=vsee parameter to include the following object as part of the response. This may be used for Browser Call SDK workflow.

Code Block
"vsee": {
    "id": "ccpreview+606ce3e353c8411a8e7b52c664457b1f",
    "token": "78fc497ff743d2b51050d9102acabe63"
}

POST Parameters

Parameter

Type

Description

first_name

String

Required

last_name

String

Required

dob

String

Optional

YYYY-MM-DD format

type

Integer

200: Member, 400: Provider, 600: Guest User

code

String

Required if type is 200 or 400 / Max length: 128 character
code is a unique user identifier on your end. VSee will store the code for this user record and next time you call SSO, we will return you the same existing user.

email

String

Optional

username

String

Optional - system will generate one as fallback

disable_emails

Integer

Optional - set to 1 - if you want user to disable all email notification

Response

...

POST Parameters required in order to be able to e-prescribe for this user

Parameter

Type

Description

first_name

String

Required

last_name

String

Required

dob

String

Required

YYYY-MM-DD format

type

Integer

200: Member

code

String

Required

Max length: 128 character
code is a unique user identifier on your end. VSee will store the code for this user record and next time you call SSO, we will return you the same existing user.

gender

String

Required

male / female

street_addr

String

Required

city

Integer

Required

state

String

Required

Two-Letter State Abbreviation

zip

String

Required

phone

String

Required

Response

Note: you can use the data.token.token return here to redirect user from your portal to VSee Clinic portal, please see Workflows section.

Guest SSO
Code Block
curl -X POST
    -H "X-AccountCode: vclinic"
    -H "X-ApiKey: vclinic_api_key"  
    -H "Content-Type: multipart/form-data;"
    -F "first_name=John"
    -F "last_name=Smith"
    -F "dob=1990-01-01"
    -F "type=600"
    "https://api.vsee.me/api_v3/users/sso.json" -k

{
    "data": {
        "id": "10008",
        "code": "57d76ada0bb444f9b3057855ac1f0144",
        "first_name": "John",
        "last_name": "Smith",
        "username": "57d76ad979b843e6973e7855ac1f0144",
        "vseeid": "conciergedev+57d76ad979b843e6973e7855ac1f0144",
        "dob": "1990-01-01",
        "active": true,
        "tos": false,
        "subtype": "",
        "token": {
            "user_id": "10008",
            "token": "0437c1ce3b7079906e2ff247aad1adda",
            "expiry": 1473821786,
            "refresh_token": {
                "user_id": "10008",
                "token": "2693615fd2a46edf13334b3f35580e26",
                "expiry": 1476327386,
                "created": 1473735386
            }
        }
    }
}
Patient SSO
Code Block
curl -X POST
    -H "X-AccountCode: vclinic"
    -H "X-ApiKey: vclinic_api_key"  
    -H "Content-Type: multipart/form-data;"
    -F "first_name=John"
    -F "last_name=Smith"
    -F "code=ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb"
    -F "type=200"
    "https://api.vsee.me/api_v3/users/sso.json" -k

{
    "data": {
        "id": "10008",
        "code": "ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb",
        "first_name": "John",
        "last_name": "Smith",
        "username": "57d76ad979b843e6973e7855ac1f0144",
        "vseeid": "conciergedev+57d76ad979b843e6973e7855ac1f0144",
        "active": true,
        "tos": false,
        "subtype": "",
        "token": {
            "user_id": "10008",
            "token": "0437c1ce3b7079906e2ff247aad1adda",
            "expiry": 1473821786,
            "refresh_token": {
                "user_id": "10008",
                "token": "2693615fd2a46edf13334b3f35580e26",
                "expiry": 1476327386,
                "created": 1473735386
            }
        }
    }
}
Provider SSO
Code Block
curl -X POST
    -H "X-AccountCode: vclinic"
    -H "X-ApiKey: vclinic_api_key"
    -H "Content-Type: multipart/form-data;"
    -F "first_name=John"
    -F "last_name=Provider"
    -F "code=cd978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb"
    -F "type=400"
    "https://api.vsee.me/api_v3/users/sso.json" -k

{
    "data": {
        "id": "10008",
        "code": "cd978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb",
        "first_name": "John",
        "last_name": "Provider",
        "username": "57d76ad979b843e6973e7855ac1f0144",
        "vseeid": "conciergedev+57d76ad979b843e6973e7855ac1f0144",
        "active": true,
        "tos": false,
        "subtype": "",
        "token": {
            "user_id": "10008",
            "token": "0437c1ce3b7079906e2ff247aad1adda",
            "expiry": 1473821786,
            "refresh_token": {
                "user_id": "10008",
                "token": "2693615fd2a46edf13334b3f35580e26",
                "expiry": 1476327386,
                "created": 1473735386
            }
        }
    }
}
}

...

GET /auth
Status
colourYellow
titleV3

Use this URL when you need to provide the user with a button or link to redirect to VSee Clinic. The URL will follow this pattern

...

https://vclinic.vseepreview.com/vc/next/u/clinic

Parameters

Parameter

Type

Description

sso_token

String

SSO token from

https://vsee.atlassian.net/wiki/spaces/VD/pages/403996780#POST-%2Fusers%2Fsso

User API - SSO API response

next

String

URL path to redirect the user to after login

one_time_token

String

1 - invalidate the sso_token after login. This is optional for additional security.

disable_navigation

String

1 - disable all email communication

POST /users/login.json [public access]
Status
colourYellow
titleV3

Log user in and retrieve access token

...

  1. user_type will be member(200), provider(400), …, etc

  2. There is 2 methods for log in

    1. active user

      1. use username and password field

    2. inactive user

      1. user email and email token sent to their email

      2. only after user update their password via API, their status will change to active and can log in via active user log in method above.

Parameters

Parameter

Type

Description

username

String

(for active user only)

password

String

(for active user only)

email

String

(for non-active user who has not set the password yet)

email_token

String

(for non-active user who has not set the password yet)

Response

Note: you can use the token.token return here to redirect user from your portal to VSee Clinic portal, please see Section Web log in using SSO Token.

Code Block
curl -X POST -d "username=member-201&password=111111" https://api.vsee.me/api_v3/users/login.json

curl -X POST -d "email=an+1@vsee.com&email_token=ztpand" https://api.vsee.me/api_v3/users/login.json

{
  "data": {
    "user_id": "201",
    "token": "18c31fa10afb6f0857c803eb01a2b392",
    "expiry": 1473822319,
    "created": 1473735919,
    "user_type": "200",
    "refresh_token": {
      "user_id": "201",
      "token": "6338a6e42f407acf39d07a63442efb9d",
      "expiry": 1476327919,
      "created": 1473735919
    },
    "user": {
      "id": "201",
      "code": "54bdf165f02c4a0fbaac2603ac1f0144",
      "first_name": "Lemuel",
      "last_name": "Eveline (201)test",
      "username": "member-201",
      "vseeid": "conciergedev+richard",
      "dob": "1960-01-01",
      "email": "an+user1@vsee.com",
      "gender": 2,
      "photo": "https://api.vsee.me/api_v3/files/index/app_user/photo/201/?auth_code=e965cbbe29c1fc1e8076ff00733648625bd56ac0",
      "active": true,
      "tos": false,
      "phone": "800-555-5555",
      "subtype": "",
      "street_addr": "FIrst str 12",
      "state": "CA",
      "city": "San Francisco",
      "zip": "01234",
      "pcp_name": "",
      "pcp_phone": ""
    }
  }
}

GET /me
Status
colourYellow
titleV3

Retrieve the current user profile

Parameters

Parameter

Type

Description

user_photo_size

String

(optional) User photo dimensions in {W}x{H} format. Example: 320x240.

Response

Code Block
curl -X GET -H "X-ApiToken: 6366a7018a39536a1ef4b63626f8e734" https://api.vsee.me/api_v3/me.json

{
    "data": {
        "id": "201",
        "first_name": "An",
        "last_name": "Nguyen",
        "username": "member-201",
        "dob": "1960-01-01",
        "email": "an+user1@vsee.com",
        "gender": 2,
        "active": true,
        "nationality": "Vietnamese",
        "tos": false,
            "photo": "https://api.vsee.me/api_v3/files/57e8c9a2-5c30-4b2c-b9d0-11d6ac1f0144?auth_code=8cd13ff90604b5820d2cfb16859054e9c1c074c4&time=1474873881&size=320x240",
    }
}

POST /me
Status
colourYellow
titleV3

Update current user profile

Parameters

Parameter

Type

Description

password

String

(optional) Should be sent alone if it’s first time setting password, or together with old_password to change it.

old_password

String

(optional) Should be sent when user is changing password

dob

Date

(optional) yyyy-mm-dd

gender

String

(optional) male / female

nationality

String

(optional) choose 1 from the list e.g Vietnamese

tos

Integer

0 - not accepting / 1 - accepted Terms of service

phone

String

(optional) phone number

first_name

String

(optional) First name

last_name

String

(optional) Last name

street_addr

String

(optional) Street addr

state

String

(optional) 2 letter state code (CA, AL)

zip

String

(optional) eg 07123

city

String

(optional) City

pcp_name

String

(optional) Primary Care Physician Name

pcp_phone

String

(optional) Primary Care Physician Phone (10 digit)

timezone

String

(optional) See timezone list below

photo

String

(optional) File id retrieved from POST /files API call to upload photo

To delete the uploaded avatar, pass empty string. latlong??? gps | Object | json object, min lat, long

...

Code Block
curl -X POST -H "X-ApiToken: 6366a7018a39536a1ef4b63626f8e734"
-d "password=111111&dob=1983-10-02&nationality=Vietnamese"
https://api.vsee.me/api_v3/me.json

{
    "data": {
        "id": "201",
        "first_name": "An",
        "last_name": "Nguyen",
        "username": "member-201",
        "dob": "1960-01-01",
        "email": "an+user1@vsee.com",
        "gender": 2,
        "active": true,
        "nationality": "Vietnamese",
        "tos": true
    }
   }
}

...

}

POST /users/logout
Status
colourYellow
titleV3

Log the current user session out corresponding to the supplied tokens. The supplied tokens will be destroyed.

Parameters

Parameter

Type

Description

tokens

Array

Array of tokens to be destroyed, e.g ['token1','token2'] or string 'token1,token2'

Response

Code Block
{
    "data": true
}

POST /tokens/refresh
Status
colourYellow
titleV3

Use refresh token to generate a new access token. New refresh token is also returned for the next refresh.

Parameters

Parameter

Type

Description

refresh_token

String

Response

Code Block
curl -X POST -d "refresh_token: 6366a7018a39536a1ef4b63626f8e734" https://api.vsee.me/api_v3/tokens/refresh.json

{
    "data": {
        "user_id": "201",
        "user_type": "200",
        "token": "b21ab6cb871fa452a1193f0fbcf400d5",
        "expiry": 1426236055,
        "user": {
            "id": "201",
            "code": "55011c6c5b5c4aed99624956c0a801ee",
            "username": "member-201",
            "first_name": "Kristopher",
            "last_name": "Nieves (201)",
            "email": "an+user1@vsee.com",
            "dob": "1960-01-01",
            "gender": "Female",
            "photo": null,
            "name": "Kristopher Nieves (201)"
        },
    }
}

POST /users/reset_password
Status
colourYellow
titleV3

System will send reset password email to the email supplied if valid

Parameters

Parameter

Type

Description

email

String

Valid email to send reset password email

Response

Code Block
curl -X POST -d "email=an+1@vsee.com" https://api.vsee.me/api_v3/users/reset_password.json

{
    "data": true
}        

POST /users/alive
Status
colourYellow
titleV3

When user is in critical workflow such as waiting for provider to call, it's required to send keep alive at certain interval recommended < 1/2 of the heartbeat value. Only "alive" patients will be able to show up on provider dashboard

Parameters

Parameter

Type

Description

heartbeat

Integer

(optional) default value is 300s, you can set your own heartbeat value, the more intermittent your network connection, the higher the value you should set. Ideally for mobile, set to about 300s and update every 250s

Response

Code Block
curl -X POST -H "X-ApiToken: 6366a7018a39536a1ef4b63626f8e734" https://api.vsee.me/api_v3/users/alive.json

{
    "data": {
        "last_connected": 1423023124,
        "heartbeat": 300
    }
}

POST /users/activate
Status
colourYellow
titleV3

It will check user info against eligibility file if configured for the current account. User will receive email with activation code.

Parameters

Parameter

Type

Description

first_name

String

last_name

String

email

String

e.g an@vseeclinic.com

dob

String

YYYY-MM-DD e.g 1988-10-02

ssn

String

4 digits e.g 1234, 1111

Response

Code Block
curl -X POST -d "first_name=An&last_name=Nguyen&email=an@vsee.com" https://api.vsee.me/api_v3/users/activate.json

{
    "data": true
}

...