Sandbox Test Archetypes
Sandbox archetypes let you test your integration against deterministic, repeatable outcomes without relying on external service availability. Submit a valid createLead payload with a specific magic email to receive a predetermined result code instantly.
How It Works
- Build a valid
createLeadpayload with all required fields - Set the
emailfield to one of the archetype addresses listed below - Submit to the sandbox GraphQL endpoint
- Receive an immediate, deterministic
CreateLeadResponse
The archetype interception runs after input validation, so your payload must pass all field-level checks (required fields, formats, etc.) before the archetype response is returned. This ensures you’re testing with realistic payloads.
Email Pattern
All archetype emails follow the pattern:
sandbox+{archetype-key}@test.alleviate.comThe email is case-insensitive. All other fields in the payload should be valid test data.
Available Archetypes
Success Scenarios — Qualified Result Codes
Each qualified result code represents a different qualification tier. Use these to test your handling of every possible qualified outcome.
| Result Code | Lead ID | Bid Value | |
|---|---|---|---|
sandbox+qualified-1013@test.alleviate.com | 1013 | 00000000-0000-0000-0000-000000001013 | 12.00 |
sandbox+qualified-1014@test.alleviate.com | 1014 | 00000000-0000-0000-0000-000000001014 | 18.00 |
sandbox+qualified-1015@test.alleviate.com | 1015 | 00000000-0000-0000-0000-000000001015 | 24.00 |
sandbox+qualified-1016@test.alleviate.com | 1016 | 00000000-0000-0000-0000-000000001016 | 30.00 |
sandbox+qualified-1017@test.alleviate.com | 1017 | 00000000-0000-0000-0000-000000001017 | 35.00 |
sandbox+qualified-no-bid@test.alleviate.com | 1013 | 00000000-0000-0000-0000-000000010013 | null |
All qualified archetypes return "Lead processing complete" as the note. The qualified-bid variant includes a simulated bid value for testing bid display logic.
Failure Scenarios
Credit File Unknown (Result Code 1018)
Simulates a lead where the credit file could not be found.
| Field | Value |
|---|---|
sandbox+qualified-1018@test.alleviate.com | |
| Lead ID | 00000000-0000-0000-0000-000000001018 |
| Result Code | 1018 |
| Note | Lead processing complete |
| Bid Value | null |
Low Score / Low Qualification (Result Code 1019)
Simulates a lead that did not meet qualification thresholds.
| Field | Value |
|---|---|
sandbox+qualified-1019@test.alleviate.com | |
| Lead ID | 00000000-0000-0000-0000-000000001019 |
| Result Code | 1019 |
| Note | Lead processing complete |
| Bid Value | null |
Duplicate Lead (Result Code 1003)
Simulates a lead that is detected as a duplicate during deduplication.
| Field | Value |
|---|---|
sandbox+duplicate@test.alleviate.com | |
| Lead ID | 00000000-0000-0000-0000-000000001003 |
| Result Code | 1003 |
| Note | Lead Processing Failed: Duplicate Lead |
| Bid Value | null |
Duplicate Lead (Result Code 1004)
Simulates a lead that is detected as a duplicate during deduplication.
| Field | Value |
|---|---|
sandbox+duplicate-crm@test.alleviate.com | |
| Lead ID | 00000000-0000-0000-0000-000000001004 |
| Result Code | 1004 |
| Note | Lead Processing Failed: Duplicate Lead |
| Bid Value | null |
Duplicate Re-Purchase (Result Code 1020)
Simulates a duplicate lead that is beyond the purchase window and is re-purchased and submitted to the CRM.
| Field | Value |
|---|---|
sandbox+duplicate-purchase@test.alleviate.com | |
| Lead ID | 00000000-0000-0000-0000-000000001020 |
| Result Code | 1020 |
| Note | Duplicate Lead Re-Purchased, Updating CRM |
| Bid Value | null |
TrustedForm Failed (Result Code 1007)
Simulates a lead where TrustedForm TCPA verification fails.
| Field | Value |
|---|---|
sandbox+trustedform-fail@test.alleviate.com | |
| Lead ID | 00000000-0000-0000-0000-000000001007 |
| Result Code | 1007 |
| Note | Lead Processing Failed: TrustedForm Verification Failed |
| Bid Value | null |
Monevo Failed (Result Code 1006)
Simulates a lead where Monevo credit processing fails.
| Field | Value |
|---|---|
sandbox+monevo-fail@test.alleviate.com | |
| Lead ID | 00000000-0000-0000-0000-000000001006 |
| Result Code | 1006 |
| Note | Lead Processing Failed: Monevo Failed |
| Bid Value | null |
Bid Failed (Result Code 1008)
Simulates a lead where bid calculation fails.
| Field | Value |
|---|---|
sandbox+bid-fail@test.alleviate.com | |
| Lead ID | 00000000-0000-0000-0000-000000001008 |
| Result Code | 1008 |
| Note | Lead Processing Failed: Bid Failed |
| Bid Value | null |
Processing Error (Result Code 9999)
Simulates a general processing error.
| Field | Value |
|---|---|
sandbox+error@test.alleviate.com | |
| Lead ID | 00000000-0000-0000-0000-000000009999 |
| Result Code | 9999 |
| Note | Lead Processing Error |
| Bid Value | null |
CRM Submission Scenarios
CRM Submitted (Result Code 1021)
Simulates a lead that has been processed and auto-submitted to the CRM.
| Field | Value |
|---|---|
sandbox+crm-submitted@test.alleviate.com | |
| Lead ID | 00000000-0000-0000-0000-000000001021 |
| Result Code | 1021 |
| Note | Lead processed and submitted to CRM |
| Bid Value | null |
CRM Already Submitted (Result Code 1022)
Simulates a lead that was previously submitted to the CRM (idempotent response).
| Field | Value |
|---|---|
sandbox+crm-already-submitted@test.alleviate.com | |
| Lead ID | 00000000-0000-0000-0000-000000001022 |
| Result Code | 1022 |
| Note | Lead was previously submitted to CRM |
| Bid Value | null |
Example Payload
The following payload works with any archetype — just swap the email field:
mutation CreateLead($input: LeadInput!) { createLead(input: $input) { id resultCode note partnerLeadId bidValue }}Variables (Qualified 1013 archetype):
{ "input": { "firstName": "Test", "lastName": "Sandbox", "email": "sandbox+qualified-1013@test.alleviate.com", "dateOfBirth": "1990-01-15", "homePhone": "9496779225", "address1": "123 Test Street", "city": "Los Angeles", "state": "CA", "zipCode": "90001", "socialSecurityNumber": "123456789", "grossAnnualIncome": 75000, "loanAmount": 15000, "loanPurposeId": 1, "residenceTypeId": 1, "monthsAtAddress": 24, "monthlyRent": 1500, "incomeSourceId": 1, "payFrequencyId": 4, "monthlyIncome": 6250, "employerName": "Test Company", "monthsAtEmployer": 36, "leadId": "partner-test-001" }}curl -X POST https://leads-sandbox.alleviate.com/graphql \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -d '{ "query": "mutation CreateLead($input: LeadInput!) { createLead(input: $input) { id resultCode note partnerLeadId bidValue } }", "variables": { "input": { "firstName": "Test", "lastName": "Sandbox", "email": "sandbox+qualified-1013@test.alleviate.com", "dateOfBirth": "1990-01-15", "homePhone": "9496779225", "address1": "123 Test Street", "city": "Los Angeles", "state": "CA", "zipCode": "90001", "socialSecurityNumber": "123456789", "grossAnnualIncome": 75000, "loanAmount": 15000, "loanPurposeId": 1, "residenceTypeId": 1, "monthsAtAddress": 24, "monthlyRent": 1500, "incomeSourceId": 1, "payFrequencyId": 4, "monthlyIncome": 6250, "employerName": "Test Company", "monthsAtEmployer": 36, "leadId": "partner-test-001" } } }'Expected Responses
Qualified Lead with Bid
{ "data": { "createLead": { "id": "00000000-0000-0000-0000-000000001013", "resultCode": 1013, "note": "Lead processing complete", "partnerLeadId": "partner-test-001", "bidValue": "12.00" } }}Qualified Lead with No Bid
{ "data": { "createLead": { "id": "00000000-0000-0000-0000-000000010013", "resultCode": 1013, "note": "Lead processing complete", "partnerLeadId": "partner-test-002", "bidValue": "null" } }}Duplicate Lead
{ "data": { "createLead": { "id": "00000000-0000-0000-0000-000000001003", "resultCode": 1003, "note": "Lead Processing Failed: Duplicate Lead", "partnerLeadId": "partner-test-001", "bidValue": null } }}Using getLeadStatus with Archetypes
You can call getLeadStatus with any archetype’s static Lead ID to receive a deterministic status response. No database lookup is performed.
query GetLeadStatus($id: ID!) { getLeadStatus(id: $id) { id resultCode updatedAt partnerLeadId bidValue }}Variables:
{ "id": "00000000-0000-0000-0000-000000001013"}Response:
{ "data": { "getLeadStatus": { "id": "00000000-0000-0000-0000-000000001013", "resultCode": 1013, "updatedAt": "2026-03-12T00:00:00.000Z", "partnerLeadId": null, "bidValue": "12.00" } }}Using submitLead with Archetypes
You can call submitLead with any archetype’s static Lead ID. Qualified archetypes (1013-1017) simulate a successful CRM submission. Non-qualified archetypes return a rejection.
Qualified archetype response (e.g., 1013):
mutation SubmitLead($input: SubmitLeadInput!) { submitLead(input: $input) { leadId statusCode crmRecordId crm note }}Variables:
{ "id": "00000000-0000-0000-0000-000000001013"}Response:
{ "data": { "submitLead": { "leadId": "00000000-0000-0000-0000-000000001013", "statusCode": 1021, "crmRecordId": "sandbox-crm-record", "crm": "AFS", "partnerLeadId": null, "note": "Lead processed and submitted to CRM" } }}Non-qualified archetype response (e.g., 1007 TrustedForm Failed):
{ "data": { "submitLead": { "leadId": "00000000-0000-0000-0000-000000001007", "statusCode": 400, "crmRecordId": null, "crm": null, "partnerLeadId": null, "note": "Lead not qualified for submission" } }}Testing Input Validation
You don’t need a special archetype to test validation errors. Submit intentionally malformed payloads to the sandbox endpoint and the existing validation layer will reject them with descriptive error messages:
| Test Case | How to Trigger |
|---|---|
| Missing required field | Omit firstName, lastName, email, homePhone, address1, city, state, or zipCode |
| Invalid email format | Use a malformed email like not-an-email |
| Invalid phone | Use a phone with fewer than 10 digits or a reserved exchange (e.g., 555, 123) |
| Invalid SSN | Provide an SSN that isn’t exactly 9 digits |
| Invalid state | Use a state code that isn’t 2 characters |
| Invalid date of birth | Use a non-date string for dateOfBirth |
| Negative numeric field | Pass a negative value for grossAnnualIncome, loanAmount, etc. |
Quick Reference
| Result Code | Lead ID | Note | Bid Value | |
|---|---|---|---|---|
sandbox+qualified-1013@test.alleviate.com | 1013 | 00000000-0000-0000-0000-000000001013 | Lead processing complete | 12.00 |
sandbox+qualified-1014@test.alleviate.com | 1014 | 00000000-0000-0000-0000-000000001014 | Lead processing complete | 18.00 |
sandbox+qualified-1015@test.alleviate.com | 1015 | 00000000-0000-0000-0000-000000001015 | Lead processing complete | 24.00 |
sandbox+qualified-1016@test.alleviate.com | 1016 | 00000000-0000-0000-0000-000000001016 | Lead processing complete | 30.00 |
sandbox+qualified-1017@test.alleviate.com | 1017 | 00000000-0000-0000-0000-000000001017 | Lead processing complete | 35.00 |
sandbox+qualified-no-bid@test.alleviate.com | 1013 | 00000000-0000-0000-0000-000000010013 | Lead processing complete | null |
sandbox+qualified-1018@test.alleviate.com | 1018 | 00000000-0000-0000-0000-000000001018 | Lead processing complete | null |
sandbox+qualified-1019@test.alleviate.com | 1019 | 00000000-0000-0000-0000-000000001019 | Lead processing complete | null |
sandbox+duplicate@test.alleviate.com | 1003 | 00000000-0000-0000-0000-000000001003 | Lead Processing Failed: Duplicate Lead | null |
sandbox+duplicate-crm@test.alleviate.com | 1004 | 00000000-0000-0000-0000-000000001004 | Lead Processing Failed: Duplicate Lead | null |
sandbox+duplicate-purchase@test.alleviate.com | 1020 | 00000000-0000-0000-0000-000000001020 | Duplicate Lead Re-Purchased, Updating CRM | null |
sandbox+trustedform-fail@test.alleviate.com | 1007 | 00000000-0000-0000-0000-000000001007 | Lead Processing Failed: TrustedForm Verification Failed | null |
sandbox+monevo-fail@test.alleviate.com | 1006 | 00000000-0000-0000-0000-000000001006 | Lead Processing Failed: Monevo Failed | null |
sandbox+bid-fail@test.alleviate.com | 1008 | 00000000-0000-0000-0000-000000001008 | Lead Processing Failed: Bid Failed | null |
sandbox+error@test.alleviate.com | 9999 | 00000000-0000-0000-0000-000000009999 | Lead Processing Error | null |
sandbox+crm-submitted@test.alleviate.com | 1021 | 00000000-0000-0000-0000-000000001021 | Lead processed and submitted to CRM | null |
sandbox+crm-already-submitted@test.alleviate.com | 1022 | 00000000-0000-0000-0000-000000001022 | Lead was previously submitted to CRM | null |
Related
- Result Codes - Full result code reference