Skip to main content
No. Creating an application and submitting it for underwriting are two separate API operations.If all required data and stakeholders are available upfront, you may create the application using createUnderwritingApplication and then immediately submit it in a subsequent request using submitUnderwritingApplication with the returned application ID.
Yes. Stakeholders can be added, updated, or removed after creation using specialized stakeholder inputs via the updateUnderwritingApplication mutation, as long as the application has not reached a final decision.See managing stakeholders for details.
Most core application fields become read-only after submission. Updates may only be permitted if explicitly allowed during underwriting review.However, you can still respond to information requests and provide additional documentation when requested by underwriters.
The only final outcomes are:
  • Approved – The application meets underwriting requirements
  • Declined – The application does not meet underwriting requirements
  • Withdrawn – The application was withdrawn before a final decision
All other statuses (Created, Submitted, Processing, Pending) represent intermediate stages in the underwriting process.
No. Webhooks are the recommended mechanism for tracking application progress and underwriting actions.Polling should be avoided except for recovery or reconciliation scenarios. Webhooks provide:
  • Real-time notifications
  • Lower API load
  • More efficient integrations
  • Immediate reaction to events
No. Webhooks are delivered at least once. Your system should be designed to handle duplicate events idempotently.Use the event ID included in each webhook payload to track which events you’ve already processed and prevent duplicate processing.See webhooks for implementation best practices.
Underwriting timelines vary based on several factors:
  • Automated approval – Applications that pass all automated checks may be approved within minutes
  • Manual review – Applications requiring manual review typically take 1-3 business days
  • Information requests – Timeline depends on how quickly requested information is provided
Use webhooks to receive notifications when decisions are made rather than expecting specific timeframes.
Yes. Tesouro provides sandbox environments for testing underwriting integrations.
  • Use test data to create and submit applications
  • Simulate different verification outcomes
  • Test webhook delivery and processing
  • Practice handling information requests
Contact your Tesouro representative for sandbox access and test data guidelines.
Always test your integration in sandbox before moving to production. This helps identify issues with validation, webhook handling, and error scenarios without affecting real underwriting data.
If you submit an application with incomplete data:
  1. The submitUnderwritingApplication mutation will validate required fields
  2. Validation errors will be returned in the response
  3. The application status will be SUBMISSION_INVALID
  4. You can update the application with missing data using updateUnderwritingApplication
  5. Resubmit the application after corrections
The validation process ensures all required information is present before underwriting begins.
You can have multiple stakeholders with the same role (e.g., two owners each with 50% ownership).When adding stakeholders:
  • Create separate stakeholder entries for each individual
  • Assign appropriate roles to each stakeholder
  • Ensure ownership percentages sum correctly for owners
  • Include all required information for each stakeholder
See managing stakeholders for examples.
If bank account verification fails:
  1. Review the decision component results to understand why
  2. Check for common issues:
    • Incorrect routing or account number
    • Account is closed or frozen
    • Account ownership doesn’t match business name
  3. Update the application with corrected bank account information if needed
  4. The underwriter may create an information request asking for additional documentation
Yes. Applications can be withdrawn before a final decision is reached.Use the updateUnderwritingApplication mutation with the status field set to WITHDRAWN. This is useful when:
  • The merchant no longer wants to proceed
  • Significant changes make the current application obsolete
  • You need to restart the process with corrected information