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

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

...

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

GET /users/:id

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

Single Sign On for patient and provider.

...

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

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

...

Parameter

Type

Description

sso_token

String

SSO token from https://vsee.atlassian.net/wiki/spaces/VD/pages/14942243/User+API#POST403996780#POST-%2Fusers%2Fsso 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]

Log user in and retrieve access 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

Parameters

Parameter

Type

Description

user_photo_size

String

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

...

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

Update current user profile

...

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

Timezone List

Code Block
$timezones = array(
        'America/Los_Angeles' => "(GMT-08:00) Pacific Time (US & Canada)",
        'America/Denver' => "(GMT-07:00) Mountain Time (US & Canada)",
        'America/Chicago' => "(GMT-06:00) Central Time (US & Canada)",
        'America/New_York' => "(GMT-05:00) Eastern Time (US & Canada)",
        'Pacific/Pago_Pago' => "(GMT-11:00) Coordinated Universal Time-11",
        'Pacific/Honolulu' => "(GMT-10:00) Hawaii",
        'America/Anchorage' => "(GMT-09:00) Alaska",
        'America/Mazatlan' => "(GMT-07:00) Chihuahua, La Paz, Mazatlan",
        'America/Guatemala' => "(GMT-06:00) Central America",
        'America/Mexico_City' => "(GMT-06:00) Guadalajara, Monterrey, Mexico City",
        'America/Regina' => '(GMT-06:00) Saskatchewan',
        'America/Bogota' => "(GMT-05:00) Bogota, Lima, Quito",
        'America/Caracas' => "(GMT-04:30) Caracas",
        'America/Asuncion' => "(GMT-04:00) Asuncion",
        'America/Halifax' => "(GMT-04:00) Atlantic Time (Canada)",
        'America/Santiago' => "(GMT-04:00) Santiago",
        'America/St_Johns' => "(GMT-03:30) St Johns, Newfoundland",
        'America/Buenos_Aires' => "(GMT-03:00) Buenos Aires",
        'America/Godthab' => "(GMT-03:00) Godthab, Greenland",
        'America/Montevideo' => "(GMT-03:00) Montevideo",
        'America/Sao_Paulo' => "(GMT-03:00) Sao Paulo, Brasilia",
        'America/Noronha' => "(GMT-02:00) Mid-Atlantic",
        'Atlantic/Azores' => "(GMT-01:00) Azores",
        'Atlantic/Cape_Verde' => "(GMT-01:00) Cape Verde Is.",
        'Europe/London' => "(GMT+00:00) Dublin, Edinburgh, Lisbon, London",
        'UTC' => "(GMT+00:00) Monrovia, Reykjavik",
        'Europe/Berlin' => "(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna",
        'Europe/Prague' => "(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague",
        'Europe/Paris' => "(GMT+01:00) Brussels, Copenhagen, Madrid, Paris",
        'Europe/Warsaw' => "(GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb",
        'Africa/Windhoek' => "(GMT+01:00) Windhoek",
        'Africa/Johannesburg' => "(GMT+02:00) Johannesburg, Harare, Pretoria",
        'Asia/Beirut' => "(GMT+02:00) Beirut",
        'Europe/Bucharest' => "(GMT+02:00) Athens, Bucharest",
        'Europe/Istanbul' => "(GMT+02:00) Istanbul",
        'Asia/Damascus' => "(GMT+02:00) Damascus",
        'Asia/Jerusalem' => "(GMT+02:00) Jerusalem",
        'Africa/Cairo' => "(GMT+02:00) Cairo",
        'Europe/Kiev' => "(GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius",
        'Asia/Amman' => "(GMT+03:00) Amman",
        'Europe/Minsk' => "(GMT+02:00) Kalinignrad, Minsk",
        'Asia/Baghdad' => "(GMT+03:00) Baghdad",
        'Asia/Riyadh' => '(GMT+03:00) Kuwait, Riyadh',
        'Asia/Tehran' => "(GMT+03:30) Tehran",
        'Europe/Moscow' => "(GMT+04:00) Moscow, St. Petersburg, Volgograd",
        'Asia/Dubai' => "(GMT+04:00) Dubai, Abu Dhabi, Muscat",
        'Asia/Yerevan' => "(GMT+04:00) Yerevan",
        'Asia/Baku' => "(GMT+04:00) Baku",
        'Asia/Kabul' => "(GMT+04:30) Kabul",
        'Asia/Karachi' => "(GMT+05:00) Islamabad, Karachi",
        'Asia/Kolkata' => "(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi",
        'Asia/Colombo' => "(GMT+05:30) Sri Lanka",
        'Asia/Kathmandu' => "(GMT+05:45) Kathmandu",
        'Asia/Yekaterinburg' => "(GMT+06:00) Ekaterinburg",
        'Asia/Dhaka' => "(GMT+06:00) Dhaka",
        'Asia/Rangoon' => "(GMT+06:30) Yangon",
        'Asia/Novosibirsk' => "(GMT+07:00) Novosibirsk",
        'Asia/Ho_Chi_Minh' => "(GMT+07:00) Hanoi, Hochiminh City, Bangkok",
        'Asia/Jakarta' => "(GMT+07:00) Jakarta",
        'Asia/Krasnoyarsk' => "(GMT+07:00) Krasnoyarsk",
        'Asia/Shanghai' => "(GMT+08:00) Shanghai, Beijing, Chongqing, Hong Kong, Urumqi",
        'Asia/Singapore' => "(GMT+08:00) Singapore, Kuala Lumpur",
        'Asia/Taipei' => "(GMT+08:00) Taipei",
        'Australia/Perth' => "(GMT+08:00) Perth",
        'Asia/Irkutsk' => "(GMT+09:00) Irkutsk",
        'Asia/Tokyo' => "(GMT+09:00) Osaka, Sapporo, Tokyo",
        'Asia/Seoul' => "(GMT+09:00) Seoul",
        'Australia/Darwin' => "(GMT+09:30) Darwin",
        'Australia/Adelaide' => "(GMT+09:30) Adelaide",
        'Australia/Brisbane' => "(GMT+10:00) Brisbane",
        'Pacific/Guam' => "(GMT+10:00) Guam, Port Moresby",
        'Asia/Yakutsk' => "(GMT+10:00) Yakutsk",
        'Australia/Sydney' => "(GMT+10:00) Canberra, Melbourne, Sydney",
        'Australia/Hobart' => "(GMT+10:00) Hobart",
        'Asia/Vladivostok' => "(GMT+11:00) Vladivostok",
        'Pacific/Fiji' => "(GMT+12:00) Fiji",
        'Asia/Magadan' => "(GMT+12:00) Magadan",
        'Pacific/Auckland' => "(GMT+12:00) Auckland, Wellington",
        'Pacific/Tongatapu' => "(GMT+13:00) Tongatapu, Nuku'alofa",
        'Pacific/Apia' => "(GMT+13:00) Samoa"
    )
);

...

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

Parameters

Parameter

Type

Description

tokens

Array

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

...

Code Block
{
    "data": true
}

POST /tokens/refresh

Parameters

Parameter

Type

Description

refresh_token

String

...

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

Parameters

Parameter

Type

Description

email

String

Valid email to send reset password email

...

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

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

...

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

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

...