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 userfirstName
, stringlastName
, stringposition
, stringcompany
, stringpictureUrl
, stringmemberType
, string (one of “Standard”, “Guest”, or “Limited Approval”)
Response:
{user: {idfirstNamelastNamepositioncompanymemberType}}
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 userfirstName
, string, requiredlastName
, string, requiredposition
, string, requiredcompany
, string, requiredlinkedInUrl
, string, optionalpictureUrl
, string, optional
Request Body Example:
{"firstName": "test_first","lastName": "test_last","company": "test_company","position": "test_position","linkedInUrl": "","pictureUrl": "" }
Response Example:
{"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:
{"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:
{"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","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","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 eventattendeeId
, string, required, this is the unique identifier to find an attendee
Response Example:
{"attendeeId": "654d66f8ea532ea2ac8cf004","userId": "654d6623ea532ea2ac8ced28","attendeeFirstName": "Vijay","attendeeLastName": "John","attendeeDisplayName": "Vijay John","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 eventemail
: string, required, user emailfirstName
: string, required, user first namelastName
: string, required, user last nameposition
: string, required, user job titlecompany
: string, required, user company nameticketOptionId
: string, optional, id of ticket option (available from event dashboard)
Response:
- success
- status code = 200 with payload
{ "message": "Registration successful" }
- status code = 200 with payload
- if user already registered:
- status code = 400 with payload
{ "message": User with email \"<email_address>\" already registered for this event." }
- status code = 400 with payload
- 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 userspaces
, [string], array of space names to be assignedmode
, 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”
withspaces = []
would remove user from all spaces
- “add” mode would add user to all spaces specified in
Response Example:
{"userId": "654d6623ea532ea2ac8ced28","userFirstName": "John","userLastName": "Smith","oldSpaces": ["Space 1"],"newSpaces": ["Space 1","Space 2"]}