Credit Builder as a Service API-First Documentation
Please note: If your company is integrating our Credit Builder as a Service product using only our APIs, you’re in the right spot!
Environments
There are two types of environments for the Upward Credit Suite:
- Sandbox
You can test out your integration and explore common usage patterns in our sandbox environment. This environment is fully isolated and will not perform any “live” financial transactions.
You can request sandbox access once you have a signed contract.
Important: The Sandbox environment is fully secure, but you should not store any real consumer data here.
- Production
Once you have completed sandbox testing and submitted your test plans, you will be provisioned production access keys. These details will be shared with you via a secure sharing mechanism. All transactions in our production environment are live financial activity.
Authentication
Upward’s API uses OAuth 2.0 to authenticate requests. All API calls must include a token. These authentication tokens are used for machine to machine communication.
Note: An invalid, missing or expired token will result in an {invalid_token} response
URLs
Environment URL Sandbox Authentication https://auth-sandbox.upwardli.com/auth/token
Production Authentication https://auth.upwardli.com/auth/token
Exchanging Partner API Token for a Customer Token
Once a valid token has been obtained using the Authentication API, a limited scope token can be obtained using the token exchange API. This token can be used to make requests for a specific consumer, and is safe to send to the client application/web browser as needed.
To request a token exchange send a POST to our auth server containing the access_token and requested scope.
This token expires after 1 hour and will need to be exchanged for a new token for the customer to continue to have access.
Notes:
- The audience must be for the correct Environment.
- Sandbox:
https://auth-sandbox.upwardli.com - Production:
https://auth.upwardli.com
- Sandbox:
- The upward_consumer_id is the Upward id that you get from the Consumer API or the
consumer.createdwebhook. - The new access token is a significantly longer string than the original access token.
POST https://auth-sandbox.upwardli.com/auth/token/exchange/
Here’s what a successful response looks like:
API Onboarding Flow Specifics
- Create Consumer
- Create Onboarding
- Verify the Consumer’s Identity (KYC)
- Provide Underwriting decision
- Accept Terms
- Submit Loan
Step 1: Create Consumer
Partners must create a consumer via the Create Consumer API before creating the onboarding.
Step 2: Create Onboarding
To start the onboarding workflow for a user, you post a message containing the pcid of the consumer and an onboarding_template_id value of cbaas_onboarding. The API will return a partially hydrated onboarding object containing the consumer’s current onboarding state.
POST https://api-sandbox.upwardli.com/v2/onboarding/
Body
Response
Step 3: Verify the Consumer’s Identity (KYC)
Each consumer will see an entry screen that will highlight the value props and also include the appropriate disclaimers for the product.
POST https://api-sandbox.upwardli.com/v2/onboarding/{onboarding_id}/verify_identity
Response
Step 4: Provide Underwriting Decision
POST https://api-sandbox.upwardli.com/v2/onboarding/{onboarding_id}/perform-underwriting
Body
Response
Step 5: Accept Terms
Once a user has accepted the terms of their loan + CBAAS agreements, you can update their onboarding workflow to reflect the date/time that the agreements were accepted.
POST https://api-sandbox.upwardli.com/v2/onboarding/{onboarding_id}/accept-terms/
Body
Response
Step 6: Submit Loan
Once a user has accepted the terms of their loan + CBAAS agreements, you are ready to submit their loan data. This step will also begin to provision their credit line.
POST https://api-sandbox.upwardli.com/v2/onboarding/{onboarding_id}/submit-loan/
Response

