Gradual Public Docs

API References

Update user profile by email

URL: https://api.gradual-api.com/public-api/v1/updateProfileByEmail

HTTP Method: POST

Content type: application/json

Request Body Parameters:

  • email, string, required, this is the unique identifier to find and update user
  • firstName, string
  • lastName, string
  • position, string
  • company, string
  • pictureUrl, string
  • memberType, string (one of “Standard”, “Guest”, or “Limited Approval”)

Response:

{
user: {
id
email
firstName
lastName
position
company
memberType
}
}

Add a new user

URL: https://api.gradual-api.com/public-api/v1/users

HTTP Method: POST

Content type: application/json

Request Body Parameters:

  • email, string, required, this is the unique identifier to find and update user
  • firstName, string, required
  • lastName, string, required
  • position, string, required
  • company, string, required
  • linkedInUrl, string, optional
  • pictureUrl, string, optional

Request Body Example:

{
"email": "[email protected]",
"firstName": "test_first",
"lastName": "test_last",
"company": "test_company",
"position": "test_position",
"linkedInUrl": "",
"pictureUrl": "" }

Response Example:

{
"userEmail": "[email protected]",
"userFirstName": "test_first",
"userLastName": "test_last",
"userTitle": "test_position",
"userCompany": "test_company",
"userLinkedIn": "",
"pictureUrl": "",
"userId": "6553ce608b3f645e79d95034",
"memberType": "Standard",
"approvalStatus": "approved",
"displayName": "test_first test_last",
"spaces": [
"Space 1",
"Space 2"
],
"questionnaire": {}
}

Get a user by user ID

URL: https://api.gradual-api.com/public-api/v1/users/:userId

HTTP Method: GET

Content type: application/json

Path Parameters:

  • userId, string, required, this is the unique identifier to find a user

Response Example:

{
"userEmail": "[email protected]",
"userFirstName": "test_first",
"userLastName": "test_last",
"userTitle": "test_position",
"userCompany": "sbsbsbsbsbsbsbsb",
"userLinkedIn": "",
"userId": "6553ce608b3f645e79d95034",
"memberType": "Standard",
"approvalStatus": "approved",
"displayName": "test_first test_last",
"questionnaire": {},
"signUpAt": "2024-06-12T08:21:16.388Z",
"lastLoginAt": "2024-06-14T16:07:13.786Z",
"onboardingAt": "2024-06-13T04:57:19.262Z"
}

Get a user by email

URL: https://api.gradual-api.com/public-api/v1/users

HTTP Method: GET

Content type: application/json

Query Parameters:

  • email, string, required, this is the unique identifier to find a user

Response Example:

{
"userEmail": "[email protected]",
"userFirstName": "test_first",
"userLastName": "test_last",
"userTitle": "test_position",
"userCompany": "sbsbsbsbsbsbsbsb",
"userLinkedIn": "",
"userId": "6553ce608b3f645e79d95034",
"memberType": "Standard",
"approvalStatus": "approved",
"displayName": "test_first test_last",
"questionnaire": {},
"signUpAt": "2024-06-12T08:21:16.388Z",
"lastLoginAt": "2024-06-14T16:07:13.786Z",
"onboardingAt": "2024-06-13T04:57:19.262Z"
}

Get the events data

URL: https://api.gradual-api.com/public-api/v1/events

HTTP Method: GET

Content type: application/json

Query Parameters:

  • pageNum: number, optional, default 1
  • pageSize: number, optional, default 50
  • title: string, optional, support partial matches

Response Example:

{
"size": 2,
"pageNumber": 1,
"pageSize": 2,
"results": [
{
"eventId": "654180e3566f8d5a7fb49e86",
"eventTitle": "Test Room",
"eventType": "Livestream",
"eventTimezone": "America/Los_Angeles",
"eventStartTime": "2023-10-30T07:00:00.000Z",
"eventEndTime": "2023-11-30T08:00:00.000Z",
"eventCreatedTime": "2023-10-31T22:34:11.099Z",
"eventCreatedFrom": "CommunityDashboard",
"eventSlug": "test-room-2023-10-30",
"eventUrl": "https://test.gradual/home/events/test-room-2023-10-30",
"eventStatus": "Published"
},
{
"eventId": "64adee61dc5dfe85abf9ae3e",
"eventTitle": "Test livestream",
"eventType": "Livestream",
"eventTimezone": "America/Los_Angeles",
"eventStartTime": "2023-07-25T00:00:00.000Z",
"eventEndTime": "2024-09-30T00:00:00.000Z",
"eventCreatedTime": "2023-07-12T00:05:53.487Z",
"eventCreatedFrom": "CommunityDashboard",
"eventSlug": "test-livestream-2023-07-11",
"eventUrl": "https://test.gradual/home/events/test-livestream-2023-07-11",
"eventStatus": "Published"
}
]
}

Get an event by event ID

URL: https://api.gradual-api.com/public-api/v1/events/:eventId

HTTP Method: GET

Content type: application/json

Path Parameters:

  • eventId, string, required, this is the unique identifier to find an event

Response Example:

{
"eventId": "654180e3566f8d5a7fb49e86",
"eventTitle": "Test Room",
"eventType": "Livestream",
"eventTimezone": "America/Los_Angeles",
"eventStartTime": "2023-10-30T07:00:00.000Z",
"eventEndTime": "2023-11-30T08:00:00.000Z",
"eventCreatedTime": "2023-10-31T22:34:11.099Z",
"eventCreatedFrom": "CommunityDashboard",
"eventSlug": "test-room-2023-10-30",
"eventUrl": "https://test.gradual/home/events/test-room-2023-10-30",
"eventStatus": "Published"
}

Get the event’s attendees’ data

URL: https://api.gradual-api.com/public-api/v1/events/:eventId/attendees

HTTP Method: GET

Content type: application/json

Path Parameters:

  • eventId, string, required, this is the unique identifier to find an event

Query Parameters:

  • pageNum: number, optional, default 1
  • pageSize: number, optional, default 50
  • userEmail: string, optional, filter attendees by their email address
  • userId: string, optional, filter attendees by their user ID

Response Example:

{
"size": 2,
"pageNumber": 1,
"pageSize": 2,
"results": [
{
"attendeeId": "654d66f8ea532ea2ac8cf004",
"userId": "654d6623ea532ea2ac8ced28",
"attendeeFirstName": "Vijay",
"attendeeLastName": "John",
"attendeeDisplayName": "Vijay John",
"attendeeEmail": "[email protected]",
"attendeeType": "USER",
"registeredAt": "2023-11-09T23:10:48.118Z",
"attendeeLinkedUrl": "https://www.linkedin.com/in/xxxxxx",
"attendeeCompanyName": "TestCo",
"attendeePosition": "CEO"
},
{
"attendeeId": "65488c238314ce3add483d54",
"userId": "64bffb03c4ac58e329f0f0b4",
"attendeeFirstName": "Jerry",
"attendeeLastName": "Louis",
"attendeeDisplayName": "Jerry Louis",
"attendeeEmail": "[email protected]",
"attendeeType": "USER",
"registeredAt": "2023-11-06T06:48:03.354Z",
"attendeeLinkedUrl": "https://www.linkedin.com/in/xxxxxx",
"attendeeCompanyName": "Gradual Inc",
"attendeePosition": "Engineering"
}
]
}

Get Attendee by Attendee ID

URL: https://api.gradual-api.com/public-api/v1/events/:eventId/attendees/:attendeeId

HTTP Method: GET

Content type: application/json

Path Parameters:

  • eventId, string, required, this is the unique identifier to find an event
  • attendeeId, string, required, this is the unique identifier to find an attendee

Response Example:

{
"attendeeId": "654d66f8ea532ea2ac8cf004",
"userId": "654d6623ea532ea2ac8ced28",
"attendeeFirstName": "Vijay",
"attendeeLastName": "John",
"attendeeDisplayName": "Vijay John",
"attendeeEmail": "[email protected]",
"attendeeType": "USER",
"registeredAt": "2023-11-09T23:10:48.118Z",
"attendeeLinkedUrl": "https://www.linkedin.com/in/xxxxxx",
"attendeeCompanyName": "TestCo",
"attendeePosition": "CEO"
},

Register User To An Event

URL: https://api.gradual-api.com/public-api/v1/registration

HTTP Method: POST

Content type: application/json

Request Body Parameters:

  • eventSlug: string, required, slug of the event
  • email: string, required, user email
  • firstName: string, required, user first name
  • lastName: string, required, user last name
  • position: string, required, user job title
  • company: string, required, user company name
  • ticketOptionId: string, optional, id of ticket option (available from event dashboard)

Response:

  • success
    • status code = 200 with payload { "message": "Registration successful" }
  • if user already registered:
    • status code = 400 with payload { "message": User with email \"<email_address>\" already registered for this event." }
  • other errors:
    • status code = 400 with error-specific messages.

Get List of All Spaces

URL: https://api.gradual-api.com/public-api/v1/spaces

HTTP Method: GET

Content type: application/json

Response Example:

[
{
"name": "Space 1",
"description": "Space description is optional"
},
{
"name": "Space 2"
}
]

Update User Space Assignments

URL: https://api.gradual-api.com/public-api/v1/updateUserSpacesByEmail

HTTP Method: POST

Content type: application/json

Request Body Parameters:

  • email, string, required, this is the unique identifier to find and update user
  • spaces, [string], array of space names to be assigned
  • mode, string, one of “override” or “add
    • add” mode would add user to all spaces specified in spaces, user’s previous space assignments will not be affected
    • override” mode would wipe out any previous space assignments of this user, before assigning the user to the spaces specified by spaces
    • Use mode = “override” with spaces = [] would remove user from all spaces

Response Example:

{
"userEmail": "[email protected]",
"userId": "654d6623ea532ea2ac8ced28",
"userFirstName": "John",
"userLastName": "Smith",
"oldSpaces": [
"Space 1"
],
"newSpaces": [
"Space 1",
"Space 2"
]
}