Users
The Users resource is used for getting and modifying customer-related information. For example, a list of plans for a given customer, a conversation thread between the customer and advisor, etc. For tax return endpoints, see the Tax resource.
List of users
This endpoint lists all the users associated with the partner.
Request
curl https://beta-api.uprise.us/users -H "Authorization: Bearer {token}"
Response
[
{
"id": "b4a2954b-4a6e-47f8-8374-6e11bfa88ee8",
"firstName": "Jordan",
"lastName": "Smith",
"email": "jordan.smith@example.com",
},
{
"id": "9c6df929-8f4f-460c-84dd-ec112798278a",
"firstName": "Alex",
"lastName": "Rivera",
"email": "alex.rivera@example.com",
},
{
"id": "d64f42ac-cb9d-4c78-997c-362887752caa",
"firstName": "Sam",
"lastName": "Chen",
"email": "sam.chen@example.com",
}
]
Create a user
This endpoint registers a new user.
Required attributes
- Name
firstName- Type
- string
- Description
First name of the user.
- Name
lastName- Type
- string
- Description
Last name of the user.
- Name
email- Type
- string
- Description
Email address of the user.
Optional attributes
- Name
mobilePhoneNumber- Type
- integer
- Description
Mobile number of the user.
- Name
isSearchMode- Type
- boolean
- Description
This will enable searching for an account for the given email in the system.
- Name
subscriptionPlanCode- Type
- string
- Description
Code of the subscription plan the user is subscribed to.
Request
curl https://beta-api.uprise.us/users \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"firstName": "Jordan", "lastName" : "Smith", "email" : "jordan.smith@example.com"}'
Response
{
"id": "b4a2954b-4a6e-47f8-8374-6e11bfa88ee8",
}
List of plans
This endpoint lists plans for a given customer.
Required attributes
- Name
customerId- Type
- string
- Description
Unique id of a customer.
Request
curl
https://beta-api.uprise.us/users/{userId}/plans \
-H "Authorization: Bearer {token}"
Response
[
{
"id": "f5e856b6-ecb5-42dd-89d2-a21422435b3d",
"planState": "completed",
"planSubStatus": null,
"planUrl": "https://joinuprise.docsend.com/view/fvd4evwwiyksdej?email={{jordan.smith@example.com}}",
"planDate": "2022-05-15T07:00:00.000Z",
"advisor": "Jordan Smith"
}
]
List of optimizations
This endpoint lists optimization recommendations given to a customer by the advisor.
Required attributes
- Name
customerId- Type
- string
- Description
Unique id of a customer.
Request
curl
https://beta-api.uprise.us/users/{userId}/optimizations \
-H "Authorization: Bearer {token}"
Response
[
{
"taskId": "cb6490c0-7bf2-4874-9205-9516860b5775",
"description": "Adjust your 401k holdings to the portfolio recommended
in this plan.",
"isCompleted": false,
"getStartedUrl": "https://app.partner.com/login",
"category": "Investing",
"status": null,
"planId": "72f5abc7-d6fb-4d05-8f56-7de2cae537d8",
"recommendation": "This is recommendation text.",
"statusComment": "This is status comment.",
"upSellComment": "This is upSell comment.",
},
{
"taskId": "f25b4103-9f93-48ac-8f95-1ee44b7bc0ee",
"description": "Switch your Solo 401k to Traditional and contribute
$22,500/year ($1,875/month).",
"isCompleted": false,
"getStartedUrl": "https://app.partner.com/login",
"category": "Retirement",
"status": null,
"planId": "72f5abc7-d6fb-4d05-8f56-7de2cae537d8",
"recommendation": "This is recommendation text.",
"statusComment": "This is status comment.",
"upSellComment": "This is upSell comment.",
},
{
"taskId": "932e62d6-4d95-45c7-bd76-18405a7eeb09",
"description": "Contribute $6,500/year to your IRA through a Roth IRA
conversion.",
"isCompleted": false,
"getStartedUrl": "",
"category": "Retirement",
"status": null,
"planId": "72f5abc7-d6fb-4d05-8f56-7de2cae537d8",
"recommendation": "This is recommendation text.",
"statusComment": "This is status comment.",
"upSellComment": "This is upSell comment.",
},
]
Save user message
This endpoint saves a user message
Required attributes
- Name
customerId- Type
- string
- Description
Unique id of a customer.
- Name
subject- Type
- string
- Description
Subject for the message thread.
- Name
content- Type
- string
- Description
Message content in the thread.
Optional attributes
- Name
threadId- Type
- string
- Description
Message thread id.
- Name
recipientId- Type
- string
- Description
Id of message recipient id.
- Name
attachments- Type
- array
- Description
Attachments uploaded by the sender.
Request
curl https://beta-api.uprise.us/users/{userId}/messages \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"content": "I want to confirm you received the W-2 I uploaded.","subject":"Question about my uploaded documents"}'
Response
{
"800195e5-5eed-43ed-8c93-b2996bd0e8e9": {
"message": {
"id": "800195e5-5eed-43ed-8c93-b2996bd0e8e9",
"subject": "Question about my uploaded documents",
"content": "I want to confirm you received the W-2 I uploaded.",
"isNotification": false,
"senderId": "84bcf7c9-3ed7-4a1f-a662-d4cfce382f66",
"senderFirstName": "Jordan",
"senderLastName": "Smith",
"senderEmail": "jordan.smith@example.com",
"senderRole": "user",
"recipientId": "f2a17b6d-0aaf-40d1-add5-84c854822801",
"recipientFirstName": "Jordan",
"recipientLastName": "Smith",
"recipientRole": "advisor",
"isRead": false,
"updatedAt": "Sat May 20 2023 06:27:20 GMT-0700 (Pacific Daylight Time)"
}
}
}
List of user messages
This endpoint lists all the message threads between the customer and the advisor.
Required attributes
- Name
customerId- Type
- string
- Description
Unique id of a customer.
Request
curl
https://beta-api.uprise.us/users/{userId}/messages \
-H "Authorization: Bearer {token}"
Response
{
"usrMsgs":{
"45eef879-61d3-44aa-a5df-e04dc75e234c":{
"message":{
"subject":"Your Uprise plan is ready! :tada:",
"content":"Hi Jordan<br/><br/>\n Just
finished up your plan! You can always access the plan in your Uprise account -
on your dashboard homepage.\n <br/><br/>\n
My top priority is that the plan makes sense and is right for you! So please
let me know if you have any questions or want anything adjusted!\n
<br/><br/>\n <br/><br/>\n Thanks a lot!\n
<br/>\n Jordan\n ",
"refEntityName": null,
"refEntityId": null,
"updatedAt": "Sat May 20 2023 06:27:20 GMT-0700 (Pacific Daylight Time)",
"senderFirstName":"Jordan",
"senderLastName":"Smith",
"senderEmail": "jordan.smith@example.com",
"senderRole": "user",
"recipientFirstName":"Jordan",
"recipientLastName":"Smith",
"recipientRole": "advisor",
}
},
"f48be6ae-6a15-48fa-a45c-c51c390526a4":{
"message":{
"subject":"Your Uprise plan is ready! :tada:",
"content":"Hi Jordan<br/><br/>\n Just
finished up your plan! You can always access the plan in your Uprise account -
on your dashboard homepage.\n <br/><br/>\n
My top priority is that the plan makes sense and is right for you! So please
let me know if you have any questions or want anything adjusted!\n
<br/><br/>\n <br/><br/>\n Thanks a lot!\n
<br/>\n Jordan\n ",
"refEntityName": null,
"refEntityId": null,
"updatedAt": "Sat May 20 2023 06:27:20 GMT-0700 (Pacific Daylight Time)",
"senderFirstName":"Jordan",
"senderLastName":"Smith",
"senderEmail": "jordan.smith@example.com",
"senderRole": "user",
"recipientFirstName":"Jordan",
"recipientLastName":"Smith",
"recipientRole": "advisor",
},
"replies":{
"9fd06cd1-dd9e-4f30-b133-86405837978d":{
"message":{
"subject":"Your Uprise plan is ready! :tada:",
"content":"Hi Jordan<br/><br/>\n Just
finished up your plan! You can always access the plan in your Uprise account -
on your dashboard homepage.\n <br/><br/>\n
My top priority is that the plan makes sense and is right for you! So please
let me know if you have any questions or want anything adjusted!\n
<br/><br/>\n <br/><br/>\n Thanks a lot!\n
<br/>\n Jordan\n ",
"refEntityName": null,
"refEntityId": null,
"updatedAt": "Sat May 20 2023 06:27:20 GMT-0700 (Pacific Daylight Time)"
"senderFirstName":"Jordan",
"senderLastName":"Smith",
"senderEmail": "jordan.smith@example.com",
"senderRole": "user",
"recipientFirstName":"Jordan",
"recipientLastName":"Smith",
"recipientRole": "advisor",
"parentMessageId": "800195e5-5eed-43ed-8c93-b2996bd0e8e9",
}
}
}
}
}
}
Get user message by ID
This endpoint retrieves a specific message by its ID for a given user. If the message has replies, it returns the replies; otherwise, it returns the parent message.
Required parameters
- Name
userId- Type
- string
- Description
Unique UUID of the user. Must be a valid UUID format.
- Name
messageId- Type
- string
- Description
Unique id of the message to retrieve.
Response behavior
- Returns 200 with message data if found
- Returns 200 with empty object
{}if message not found - Returns 400 if userId is not a valid UUID
- Returns 400 if user does not exist
- If message has replies, returns the replies object
- If message has no replies, returns the parent message object
Request
curl https://beta-api.uprise.us/users/{userId}/messages/{messageId} \
-H "Authorization: Bearer {token}"
Response (Parent Message)
{
"message": {
"id": "800195e5-5eed-43ed-8c93-b2996bd0e8e9",
"subject": "Question about my uploaded documents",
"content": "I want to confirm you received the W-2 I uploaded.",
"isNotification": false,
"senderId": "84bcf7c9-3ed7-4a1f-a662-d4cfce382f66",
"senderFirstName": "Jordan",
"senderLastName": "Smith",
"senderEmail": "jordan.smith@example.com",
"senderRole": "user",
"recipientId": "f2a17b6d-0aaf-40d1-add5-84c854822801",
"recipientFirstName": "Jordan",
"recipientLastName": "Smith",
"recipientRole": "advisor",
"isRead": false,
"updatedAt": "Sat May 20 2023 06:27:20 GMT-0700 (Pacific Daylight Time)"
}
}
Check-in
This endpoint creates a check-in request.
Request
curl https://beta-api.uprise.us/users/:customerId/check-in \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
Response
{
"id": "53446b1e-50f6-43b6-aa74-94d905962b3c",
}
Get subscription plans
This endpoint lists all the subscription plans offered by partner
Request
curl https://beta-api.uprise.us/subscriptionPlans/ \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
Response
{
"planInfos":[
{
"name":"essential_quarterly",
"displayName":"Essential",
"productName":"essential",
"description":"Essential",
"price":"450.00",
"isUpgradable":true,
"paymentFrequency":"quarterly",
"isShowPlanInfoInPayWall":true
},
{
"name":"premium_quarterly",
"displayName":"Premium",
"productName":"premium_business_owner",
"description":"Premium",
"price":"800.00",
"isUpgradable":true,
"paymentFrequency":"quarterly",
"isShowPlanInfoInPayWall":true
},
{
"name":"complete_quarterly",
"displayName":"Complete",
"productName":"complete",
"description":"Complete",
"price":"1250.00",
"isUpgradable":false,
"paymentFrequency":"quarterly",
"isShowPlanInfoInPayWall":true
}
]
}
Add subscription
This endpoint supports subscribe users to subscription plans offered on the Uprise/partner platform.
Required attributes
- Name
subscriptionPlanName- Type
- string
- Description
The Uprise subscription plan purchased by the end user on the Uprise/partner platform
- Name
subscriptionStartDate- Type
- string
- Description
The date the end user successfully paid and activated an Uprise subscription, or a plan including the Uprise subscription, on the partner platform.
- subscriptionStartDate Format - "YYYY-MM-DD"
- subscriptionStartDate - Default current date will be considered if value not passed or null
- Validation - no more than 30 days in the past
Optional attributes
- Name
comment- Type
- string
- Description
Notes for the Billing team related to new subscription, if any
- Name
context- Type
- object
- Description
Additional payload if requested and agreed between partner and Uprise
- Name
addOns- Type
- array
- Description
Array of additional subscriptions (add-ons or main subscriptions) to create along with the base subscription. Each object in the array should contain:
- subscriptionPlanCode (required) - The subscription plan code for the add-on or additional subscription
- subscriptionStartDate (optional) - Start date for this add-on (defaults to base subscription start date)
- comment (optional) - Notes specific to this add-on
- context (optional) - Additional context specific to this add-on
Request
curl https://beta-api.uprise.us/users/:userId/subscription \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"subscriptionPlanName": "all_access", "subscriptionStartDate" : "2025-01-31" }'
Response (Basic)
{
"id": "53446b1e-50f6-43b6-aa74-94d905962b3c"
}
Response (With Add-ons)
{
"id": "53446b1e-50f6-43b6-aa74-94d905962b3c",
"addOns": [
{
"subscriptionPlanCode": "tax_addon",
"subscriptionId": "7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d",
"isAddOn": true
}
]
}
Response (Add-on with error)
{
"id": "53446b1e-50f6-43b6-aa74-94d905962b3c",
"addOns": [
{
"subscriptionPlanCode": "invalid_addon",
"error": "Subscription plan \"invalid_addon\" not found"
}
]
}
Unsubscribe a user
This endpoint unsubscribes a user from their active subscription plan.
Required attributes
- Name
subscriptionEndDate- Type
- string
- Description
The date the user’s Uprise subscription, or a plan including the Uprise subscription, ends on the partner platform
- Note this date may occur in the past or future and may be different from the date the subscription deletion is requested.
- subscriptionEndDate Format - "YYYY-MM-DD"
- subscriptionEndDate - Default current date will be considered if value not passed or null
- Validation - no more than 30 days in the past
- Name
comment- Type
- string
- Description
Notes for the Billing team related to the subscription deletion, if any
Request
curl https://beta-api.uprise.us/users/:userId/subscription \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"subscriptionEndDate": "2025-01-31", "comment": "requested for canceling subscription" }'
Response
{
"message": "success",
}
Upgrade/Change Plan
This endpoint allows a user to upgrade or change their subscription plan. It is useful when users want to change to a higher-tier plan or switch to a different offering.
Required Attributes
- Name
subscriptionPlanName- Type
- string
- Description
The new Uprise subscription plan purchased by the end user on the Uprise/Partner platform.
- Name
subscriptionStartDate- Type
- string
- Description
The date the user’s Uprise subscription changes on the partner’s platform.
- Note this date may occur in the past or future and may be different from the date the update is requested.
- subscriptionStartDate - Default current date will be considered if value not passed or null
- subscriptionStartDate Format - "YYYY-MM-DD"
- Name
comment- Type
- string
- Description
Notes for the Billing team related to the subscription update, if any
Optional attributes
- Name
context- Type
- object
- Description
Additional payload if requested and agreed between partner and Uprise
Request
curl https://api.example.com/user/12345/subscription \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"subscriptionPlanName": "all_access", "subscriptionStartDate": "2025-01-31", "comment": "requested for upgrading subscription" }'
Response
{
"status": "success",
"message": "Subscription upgraded successfully",
"newPlan": "premium"
}
Get user subscription
This endpoint returns subscription details of a given user. Returns an array of all subscriptions including base subscriptions and add-ons.
Required parameters
- Name
userId- Type
- string
- Description
Unique UUID of the user. Must be a valid UUID format.
Response fields
- Name
id- Type
- string
- Description
Unique UUID of the subscription.
- Name
subscriptionPlan- Type
- object
- Description
Object containing subscription plan details:
- id - UUID of the subscription plan
- name - Name/code of the subscription plan
- Name
startDate- Type
- string
- Description
ISO 8601 formatted subscription start date.
- Name
endDate- Type
- string
- Description
ISO 8601 formatted subscription end date.
- Name
status- Type
- string
- Description
Current status of the subscription (e.g., SUBSCRIBED, RENEWED, UNSUBSCRIBED).
- Name
isAddOn- Type
- boolean
- Description
Indicates whether this subscription is an add-on (true) or a base subscription (false).
Response behavior
- Returns 200 with array of subscriptions sorted by creation date (descending)
- Returns 400 if userId is not a valid UUID
- Returns 400 if user does not exist
- Returns 404 if no subscriptions found
- Returns 500 for server errors
Request
curl https://beta-api.uprise.us/users/{userId}/subscription \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json"
Response
[
{
"id": "7516e998-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"subscriptionPlan": {
"id": "plan-uuid-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "core_monthly"
},
"startDate": "2025-01-28T00:00:00.000Z",
"endDate": "2025-02-28T00:00:00.000Z",
"status": "SUBSCRIBED",
"isAddOn": false
},
{
"id": "addon-uuid-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"subscriptionPlan": {
"id": "addon-plan-uuid-xxxx-xxxx-xxxx",
"name": "tax_addon"
},
"startDate": "2025-01-28T00:00:00.000Z",
"endDate": "2025-02-28T00:00:00.000Z",
"status": "SUBSCRIBED",
"isAddOn": true
}
]
Response (No subscriptions)
{
"message": "Subscription not found"
}
Event Types
The following event types are supported by the Subscription API. These events correspond to specific actions that can occur within the subscription lifecycle.
- Name
plan.created- Description
A new subscription plan was created.
- Name
plan.updated- Description
A subscription plan was updated.
- Name
plan.completed- Description
A subscription plan has been completed or the user has finished their subscription period.
- Name
subscription.updated- Description
A subscription was updated or modified, including changes to the plan or user details.
Example payload
{
"id": "a00a3573-edf1-b0e60bb2392c",
"type": "subscription.updated",
"payload": {
"id": "a00a3573-edf1-b0e60bb2392c",
"userId": "e4bb74a9-f871-9b28-bb6b44ee911e",
"subscriptionPlan": "premium",
"subscriptionStartDate": "2025-01-01"
}
}
Get user meetings
This endpoint retrieves all meetings for a specific user, with optional filtering by meeting status.
Required parameters
- Name
userId- Type
- string
- Description
Unique UUID of the user. Must be a valid UUID format.
Optional query parameters
- Name
status- Type
- string
- Description
Filter meetings by status. Valid values:
SCHEDULED,CANCELLED,COMPLETED. Defaults toSCHEDULEDif not provided.
Response behavior
- Returns 200 with array of meetings (empty array if no meetings found)
- Returns 400 if userId is not a valid UUID
- Returns 400 if businessPartnerId is not a valid UUID
- Returns 400 if status parameter is invalid
- Meetings are sorted by creation date in ascending order
Request
curl https://beta-api.uprise.us/users/{userId}/meetings \
-H "Authorization: Bearer {token}"
Response
[
{
"id": "meeting-uuid-1",
"userId": "84bcf7c9-3ed7-4a1f-a662-d4cfce382f66",
"businessPartnerId": "f2a17b6d-0aaf-40d1-add5-84c854822801",
"status": "SCHEDULED",
"title": "Financial Planning Session",
"description": "Quarterly review of investment portfolio",
"scheduledAt": "2024-02-15T14:00:00.000Z",
"duration": 60,
"meetingUrl": "https://meet.uprise.us/meeting-uuid-1",
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z"
},
{
"id": "meeting-uuid-2",
"userId": "84bcf7c9-3ed7-4a1f-a662-d4cfce382f66",
"businessPartnerId": "f2a17b6d-0aaf-40d1-add5-84c854822801",
"status": "SCHEDULED",
"title": "Tax Planning Discussion",
"description": "Review tax strategies for the upcoming year",
"scheduledAt": "2024-03-01T15:30:00.000Z",
"duration": 45,
"meetingUrl": "https://meet.uprise.us/meeting-uuid-2",
"createdAt": "2024-01-20T09:15:00.000Z",
"updatedAt": "2024-01-20T09:15:00.000Z"
}
]
