Get started

The BubbleLab API is accessible with a Bubblelab Pro subscription (Bubblelab API plan).
The API is an interface that allows other computer programs to send birthdata to our servers and receive visual profiling and personalised insight.

For any questions. Please contact us at hello@mybubblelab.com

AUTHENTICATION

The simplest way to provide authentication is using HTTP Basic authentication. Use your API key and secret as username and password.

REGISTER (active)

The REGISTER api call register a new user in the system, or gives back the ID of the person in case the record already exists.
Duplicate is considered when a person has exactly the same login (login is email address for now). (TBC)
To register a person or get the Id from an existing person, you have to make a POST call to the following URL:
https://app.zebrapad.io/api/register.php


QUERY PARAMETERS

Field Type Description
login String e-mail address
password String user password
fname String First name (in format last name first name, e.g. PITT BRAD)
gender String Gender in format M/F
bdate String Birth date in format YYYY-MM-DD
btime String Local birth time in format hh:mm:ss
bcity String City of birth.
bcountry String Country of birth.
timezone String Timezone in standard format (e.g. Europe/Brussels)
bdatetime_tmz String Date and time together with the timezone offset. Standard format has to be respected YYYY-MM-DD hh:mm:ss [+-]hh:mm. Example 1984-05-21 14:35:00 +02:00
lat Number Latitude of birthplace.
lng Number Longitude of birthplace.
death String Date of death (if applicable). Can contain reason of death. Not date restricted.

RESPONSE

Field Type Description
message String Output of operation (e.g. user already exists in database)
status String Status about insert (e.g. ok/error)
id_person Number ID of the person registered.

USER ACTIVATE

After user is being registered, activation token is being generated in the DB. User has to receive the email with the token to activate
This api has two parts GET and POST

When calling with POST request (and passing id_person), user will receive the email with token link on email entered during the registration.
https://app.zebrapad.io/api/user_activate.php

When calling with get request, token is passed in GET parameter and activation is aenabled in the DB
https://app.zebrapad.io/api/user_activate.php?token=[TOKEN FROM DATABASE]


QUERY PARAMETERS

Field Type Description
id_person Integer

RESPONSE

Field Type Description
message String Output of operation
status String Status about insert (e.g. ok/error)

LOGIN (active)

LOGIN api check for user by given login and password. All passwords are hashed in database.
https://app.zebrapad.io/api/login.php


QUERY PARAMETERS

Field Type Description
login String e-mail address
password String user password

RESPONSE

Field Type Description
message String Output of operation (e.g. ok/login failed)
status String Status about insert (e.g. ok/error)
id_person Number ID of the person logged.
JWT Varchar JWT token

USER EDIT

The USER EDITR api call edits a new user in the system and gives back the ID of the person who was edited.
To edit a user, you have to pass ID_PERSON along with all the other parameters. Suggested way is to prepopulate all the fields with current values so user don't have to retype all the values again.
https://app.zebrapad.io/api/user_edit.php


QUERY PARAMETERS

Field Type Description
id_person Integer unique id of the person
login String e-mail address - Even if change is possible in theory with api, login can't be changed and should be disabled.
password String user password
fname String First name (in format last name first name, e.g. PITT BRAD)
gender String Gender in format M/F
bdate String Birth date in format YYYY-MM-DD
btime String Local birth time in format hh:mm:ss
bcity String City of birth.
bcountry String Country of birth.
timezone String Timezone in standard format (e.g. Europe/Brussels)
bdatetime_tmz String Date and time together with the timezone offset. Standard format has to be respected YYYY-MM-DD hh:mm:ss [+-]hh:mm. Example 1984-05-21 14:35:00 +02:00
lat Number Latitude of birthplace.
lng Number Longitude of birthplace.

RESPONSE

Field Type Description
message String Output of operation (e.g. user does not exists in database)
status String Status about insert (e.g. ok/error)
id_person Number ID of the person edited.

USER INFO (active)

Return all the relevant information about the user based on user id.
https://app.zebrapad.io/api/user_info.php


QUERY PARAMETERS

Field Type Description
id_person Integer

RESPONSE

Field Type Description
id_person Integer
login String e-mail address
fname String Name (in format last name first name, e.g. PITT BRAD)
gender String Gender in format M/F
bdate String Birth date in format YYYY-MM-DD
btime String Local birth time in format hh:mm:ss
bcity String City of birth.
bcountry String Country of birth.
timezone String Timezone in standard format (e.g. Europe/Brussels)
bdatetime_tmz String Date and time together in UTC timezone
death String Date of death.
timelineinit Boolean True is current time and last updated time for the user is more than 120 seconds, otherwise False

GROUP USER INFO (active)

Return information about every group and their members associated with the specific ID of the user.
https://app.zebrapad.io/api/user_group_info.php


QUERY PARAMETERS

Field Type Description
id_person Integer

RESPONSE

Field Type Description
id_person Integer Id of the person
id_group Integer Id of the group
id_group_type Integer ID of the type of the group. (e.g. 1 - LOVE, 2 - FRIENDS, 3 - COLLEAGUES, 4 - FAMILY, etc.)
id_person_2 Integer List of all ids the people in the group separated by comma.

GROUP CREATE (active)

Creates the group based on inputs given. Used ONLY when creating a new group.
https://app.zebrapad.io/api/user_group_create.php


QUERY PARAMETERS

Field Type Description
id_group_type Integer ID of the type of the group. (e.g. 1 - LOVE, 2 - FRIENDS, 3 - COLLEAGUES, 4 - FAMILY, etc.)
id_person_1 Integer Id of the person 1 who is always the main person (current user adding another person).
id_person_2 Integer Id of the person 2 who is being added by the person 1

RESPONSE

Field Type Description
id_group Integer Id of the group created. Used later then we add people into the existing group.
status Varchar
message Varchar

GROUP DELETE (active)

Deletes the entire group from database
https://app.zebrapad.io/api/user_group_delete.php


QUERY PARAMETERS

Field Type Description
id_group Integer ID of the type of the group

RESPONSE

Field Type Description
id_group Integer Id of the group deleted
status Varchar
message Varchar

GROUP USER ADD (active)

Adds the person into the existing group
https://app.zebrapad.io/api/user_group_add.php


QUERY PARAMETERS

Field Type Description
id_group Integer ID of the group into which user will be added
id_person_1 Integer Id of the person 1 who is always the main person (current user adding another person).
id_person_2 Integer Id of the person 2 who is being added by the person 1

RESPONSE

Field Type Description
id_group Integer Id of the group into which user has been inserted. Used later then we add people into the existing group.
id_group_typoe Integer Id type of the group.
status Varchar
message Varchar

GROUP USER REMOVE (active)

Removes the user from existing group
https://app.zebrapad.io/api/user_group_remove.php


QUERY PARAMETERS

Field Type Description
id_group Integer ID of the group into which user will be added
id_person_1 Integer Id of the person 1 who is always the main person (current user adding another person).
id_person_2 Integer Id of the person 2 who is being added by the person 1

RESPONSE

Field Type Description
id_group Integer Id of the group from which user has been deleted.
status Varchar
message Varchar

USER EVENT ADD

Adding the event into db
https://app.zebrapad.io/api/user_event_add.php


QUERY PARAMETERS

Field Type Description
id_user Integer ID of the user who added the event in the DB (logged in user). References to the same table as id_person
id_person Integer ID of the person for which event is added
event_date Date Date of the event
category Varchar
subcategory Varchar
detail Varchar
rating Varchar

RESPONSE

Field Type Description
status Varchar
message Varchar

USER EVENT DELETE

Delete the event from db
https://app.zebrapad.io/api/user_event_delete.php


QUERY PARAMETERS

Field Type Description
id_event Integer ID of the event to be deleted

RESPONSE

Field Type Description
status Varchar
message Varchar

Today

Put the info of today's mood

To be get more information about the "welcome dashboard", you have to make the POST call to the following URL (just after the user's registration, or after an added profile to his/her circle ):
https://app.zebrapad.io/api/get_me_cycleToday


QUERY PARAMETERS

Field Type Description
id_person Number ID parameter of the user. Only applies if user is already registered.

RESPONSE

id_person Number ID of the user
report_name string filter on "today" to show the domain to focus on
domain string the domain of focus
desc string the additional advice related to the domain
mood integer Mood number : 4 (the happiest), 3 (ok), 2 (neutral), 1 (the saddest)

Today (zebra)

Put the info of today's zebra zone

To be get more information about the "welcome dashboard (zebra)", you have to make the POST call to the following URL (just after the user's registration, or after an added profile to his/her circle ):
https://app.zebrapad.io/api/get_me_cycleToday


QUERY PARAMETERS

Field Type Description
id_person Number ID parameter of the user. Only applies if user is already registered.

RESPONSE

id_person Number ID of the user
report_name string filter on "today-zebra" to show the domain to focus on
color string the color of the rectangle
type string the domain of focus : love, work, be careful
mood string Mood number : 4 (the happiest), 3 (ok), 2 (neutral), 1 (the saddest)
desc date text to put in the rectangle

Build astro charts

Put planets and cusps on a chart
for Placidus and whole sign house

The degree starts at Aries at 0°. Each sign is 30°

  • ar 0 29,999
  • ta 30 59,999
  • ge 60 89,999
  • cn 90 119,999
  • le 120 149,999
  • vi 150 179,999
  • li 180 209,999
  • sc 210 239,999
  • sa 240 269,999
  • cp 270 299,999
  • aq 300 329,999
  • pi 330 359,999

To be get more information about "Astro charts", you have to make the POST call to the following URL (just after the user's registration, or after an added profile to his/her circle ):
https://app.zebrapad.io/api/get_astro


QUERY PARAMETERS

Field Type Description
id_person Number ID parameter of the person we want to see the chart for.
id_user Number ID parameter of the user. Only applies if user is already registered.

RESPONSE

id_person Number ID of the user
type string The type is either
  • Planet
  • Cusp
  • system string The current available system are
  • placidus
  • whole sign house
  • distance integer placement on the wheel

    Who am I? (active)

    The "Who am I" api call generates the user's profile divided into various sections :
    "Personality" profiling (energy, temper, traits, love partner search, etc.)
    To be get more information about "Who am I", you have to make the POST call to the following URL (just after the user's registration, or after an added profile to his/her circle ):
    https://app.zebrapad.io/api/get_meFirstTime

    To be get more information about "Who am I", you have to make the POST call to the following URL (once user logs in):
    https://app.zebrapad.io/api/get_me


    QUERY PARAMETERS

    Field Type Description
    id_person Number ID parameter of the user. Only applies if user is already registered.

    RESPONSE

    id_person Number ID of the user
    category string the category has to be filtered for each different visualisation. The list of visualisations to date:
  • "My facets" --> "Perso"
  • "My ideal" --> "Love"
  • "My polarity" --> "Gender"
  • "My quality" --> "Ternaire"
  • "My Elements" --> "Elements"
  • "My involvement" --> "Quadrant"
  • "Introversion/Extraversion"-->"SecteurDay"
  • "Meneur/Suiveur"-->Secteur"
  • "My aptitudes"-->"Metier"
  • traits String description of a facet
    color string color of the Bubble parent
    type String the type defines if this facet is shown as the bubble parent (type = "QQ") or as the bubble child (type = "Q" or type = "D"). For the bubble children, type 'Q' is colored in white, type "D" is colored in dark.
    points_perc integer this is the percentage assigned to the bubble. It is used for the bubble parent size
    ranking integer this is not a mandatory field. This a the relative ranking of the facets through the category.
    id_person_2 Integer List of all ids the people in the group separated by comma.

    My circle profile (active) (not recommmended)

    The "Circle Profile" api call generates (in background) the user's circle profiles.
    It is recommended to get the id_person of each additionnal profile in a circle and run https://app.zebrapad.io/api/get_meFirstTime to calculate the circle profile.

    It actually runs the api "https://app.zebrapad.io/api/get_myCircleFirstTime" for all the id_person of the user's circle


    QUERY PARAMETERS

    Field Type Description
    id_person Number ID parameter of the user. Only applies if user is already registered.

    RESPONSE

    Field Type Description
    id_person integer id_person
    status string the status shows for which id_person a profiling has been created.

    Insight (active)

    The "Insight" api call generates the user's circle profiles comparison divided into various sections :
    "Ressemblance" (compare facets from me versus my circles)
    "Attraction" (compare my ideal partner versus my circles)
    "Adaptation" (rank the persons within a circle with an adaptation scoring for member of teh circle)
    "Popularity" (rank the persons within a circle with an popularity scoring for each member of the circle)
    To be get more information about "Insight", you have to make the POST call to the following URL:
    https://app.zebrapad.io/api/get_me_circle


    QUERY PARAMETERS

    Field Type Description
    id_person Number ID parameter of the user. Only applies if user is already registered.

    RESPONSE

    id_person Number ID of the user
    report_name string the report_name column has to be filtered for each different visualisation. The list of visualisations to date:
  • "me_friends" --> comparison matrix of the facets (mine versus the facets of my circle) :
    use filter : compare = "samesame" or "attactedTo" to show the visualisation for "Ressemblance" or "Attraction"
    use filter type = "QQ" to only show the main facets
    for "Ressemblance", in the first column the user facets (type = "QQ") are all showned (5 facets) dominantes = "Perso", the other column are the facets of my circle, dominantes = "Perso". We only show the facets of the circle if he/she has the same facets type = "QQ" as the user
    for "Attraction", in the first column the user facets (type = "QQ") are all showned (5 facets) dominantes = "Recherchées", the other column are the facets of my circle, dominantes = "Perso". We only show the facets of the circle if he/she has the same facets type = "QQ" as the user search
    columns used : report_name, id_person, name, traits, color, points_perc, type
  • "match_friends" --> comparison matrix of the facets :
    the ordering from the most "alike" or the "most attracted to" is found in the report_name = "match_friends"
    use filter : compare = "samesame" or "attactedTo" to show the visualisation for "Ressemblance" or "Attraction"
    use column "ranking" or "distance" to order the circle
    columns used : id_person, name, compare, same_id_person, match (name of the same_id_person), ranking, distance
  • "ap" --> within a specific circle, we show a ranking of the most adaptative / popular person
    use filter : compare = "samesame" or "attactedTo" to show the visualisation for "Adaptation" or "Popularity"
    columns used : report_name, id_person, name, compare, same_id_person, match (name of the same_id_person), ranking (the highest = the most adaptative or th emost popular)
  • "star_distance" --> for the fun section
  • "barbault" --> (next release)
  • "gift" --> for the viz 1to1 (next release)
  • "1to1"-->for the viz 1to1 (next release)
  • "1to1_ententeIntel"--> for the viz 1to1 (next release)
  • traits String description of a facet
    color string color of the Bubble parent
    type String the type defines if this facet is shown as the bubble parent (type = "QQ") or as the bubble child (type = "Q" or type = "D"). For the bubble children, type 'Q' is colored in white, type "D" is colored in dark.
    points_perc integer this is the percentage assigned to the bubble. It is used for the bubble parent size
    ranking integer this is not a mandatory field. This a the relative ranking of the facets through the category.
    id_person_2 Integer List of all ids the people in the group separated by comma.

    Timeline Zebrazone(active)

    The "Timeline zebrazone" api call generates the user's timeline for 7 weeks
    To be get more information about the "Timeline, you have to make the POST call to the following URL (when the user registers):
    https://app.zebrapad.io/api/get_me_timelineFirstTime
    To be get more information about the "Timeline, you have to make the POST call to the following URL (once the user logs in):
    https://app.zebrapad.io/api/get_me_timelineZebra


    QUERY PARAMETERS

    Field Type Description
    id_person Number ID parameter of the user. Only applies if user is already registered.

    RESPONSE

    id_person Number ID of the user
    category string the category is a concatenation of the domain (Love/Be Careful/Work) and the granularity detail (here only available : day)
  • filter on category containing "day" to create the visualisation detailed in week period
  • x string the value on the abscissa (representing the week number)
    y integer the value on the ordinate (representing the level of energy for a certain domain)
    today date date of Today yyyyMMdd
    x_first date 1st day of the x; format: yyyyMMdd (if in section day)
    x_last date last day of the x; format: yyyyMMdd (if in section day)
    zebrazone string give the dates of the current (if in dark zone) or the next closest dark zone for each category (Love, Work, Be Careful)

    Timeline (active)

    The "Timeline" api call generates the user's timeline for x years, and within each year, the 52 weeks granularity
    To be get more information about the "Timeline, you have to make the POST call to the following URL (when the user registers):
    https://app.zebrapad.io/api/get_me_timelineFirstTime
    To be get more information about the "Timeline, you have to make the POST call to the following URL (once the user logs in):
    https://app.zebrapad.io/api/get_me_timeline


    QUERY PARAMETERS

    Field Type Description
    id_person Number ID parameter of the user. Only applies if user is already registered.

    RESPONSE

    id_person Number ID of the user
    category string the category is a concatenation of the domain (Love/Be Careful/Work) and the granularity detail (year/day)
  • filter on category containing "year" to create the lifetime visualisation
  • filter on category containing "day" to create the visualisation detailed in week period
  • x string the value on the abscissa (representing the year or the week)
    y integer the value on the ordinate (representing the level of energy for a certain domain)
    y_t-1 integer the value on the ordinate (representing the level of energy for a certain domain) for the week before or the year before depending of the category filtered
    y_t+1 integer the value on the ordinate (representing the level of energy for a certain domain) for the week after or the year after depending of the category filtered
    diff integer % of evolution compared to the period t-1
    today date date of Today yyyyMMdd
    x_first date 1st day of the x; format: yyyyMMdd (if in section day)
    x_last date last day of the x; format: yyyyMMdd (if in section day)
    weelyearnr date date of Today yyyyMMdd
    signalyear string available for "week" viz as a reminder of the year position. It indicates the 4 possible positions for a year: same, peak, down, new cycle.
    signalweek string available for "week" viz as a reminder of the week position. It indicates the 4 possible positions for a week: same, peak, down, new cycle.
    desc string show the content of the bubble to give more details about that period

    US (inactive and to be checked by Marie-Ange)

    The US api call generates a report showing the 3 top similar celebrity profiles and the top 3 celebrity profiles that attracts the user most, for each of the following categories :
    Politics, Sports, Music, Entertainment .
    The traits are shown in a matrix of comparison.

    To be get more information about US, you have to make the POST call to the following URL:
    https://mybubblelab.com/api/us


    QUERY PARAMETERS

    Field Type Description
    id Number ID parameter of the user. Only applies if user is already registered.
    bdate String Birth date in format YYYY-MM-DD
    btime String Birth time in format hh:mm. For the moment, local time is being converted to UTC inside API.
    gender String Gender in format M/F/X
    city String City of birth.
    country String Country of birth.
    lat Number Latitude of birthplace
    lon Number Longitude of birthplace

    FRIENDS (inactive and to be checked by Marie-Ange)

    The FRIENDS api call generates a report showing the 3 top similar profiles and the top 3 profiles that attracts the user most, for each of the different groups created by the user :
    friends, colleagues, family, best friends, etc.
    The traits are shown in a matrix of comparison.

    To be get more information about US, you have to make the POST call to the following URL:
    https://mybubblelab.com/api/friends


    QUERY PARAMETERS

    Field Type Description
    id Number ID parameter of the user. Only applies if user is already registered.
    bdate String Birth date in format YYYY-MM-DD
    btime String Birth time in format hh:mm. For the moment, local time is being converted to UTC inside API.
    gender String Gender in format M/F/X
    bplace String Place of birth, preferably in format City, Country
    lat Number Latitude of birthplace
    long Number Longitude of birthplace

    CALENDAR (inactive and to be checked by Marie-Ange)

    The CALENDAR api call generates a score for each calendar day, either positive or negative (Ups and Downs).
    The user can check the results per month to see whether the total score is positive or negative.

    To be get more information about CALENDAR, you have to make the POST call to the following URL:
    https://mybubblelab.com/api/calendar


    QUERY PARAMETERS

    Field Type Description
    id Number ID parameter of the user. Only applies if user is already registered.
    bdate String Birth date in format YYYY-MM-DD
    btime String Birth time in format hh:mm. For the moment, local time is being converted to UTC inside API.
    gender String Gender in format M/F/X
    bplace String Place of birth, preferably in format City, Country
    lat Number Latitude of birthplace
    long Number Longitude of birthplace