POST /v1/programsPrograms & award pools
Create a program, set its total award pool and participant cap, attach the right agreements. Stretch keeps the ledger.
Partner API · Highnote-native
Stretch exposes one REST API for milestone-based disbursement — programs, pools, participants, tasks, and card funding — and orchestrates the corresponding Highnote calls for issuance and transfers.
Integration shape
You integrate once — with Stretch. Stretch handles the Highnote-side API calls, webhook subscriptions, and reconciliation. No Highnote client code in your service.
Calls Stretch. No Highnote code.
Owns the milestone ledger and Highnote hand-off.
Your existing contract, untouched.
Card issuance workflow
How it works
From config to disbursed milestone, each step is a single Stretch API call. Highnote calls happen under the hood.
Point Stretch at your Highnote card product and funding account. Done once via PUT /v1/configurations.
Set the award pool, participant cap, and the agreements participants must accept.
Create participants, capture consent, submit card applications on your Highnote product.
Create milestone tasks with monetary values. Stretch reserves funds against the program pool on assignment.
PUT /v1/usertasks/{id}/complete triggers a Highnote funding transfer and resolves the reservation.
Capabilities
POST /v1/programsCreate a program, set its total award pool and participant cap, attach the right agreements. Stretch keeps the ledger.
POST /v1/usersEnroll users, capture consent, and attach agreements — the artifacts you need before money moves.
POST /v1/tasksEach task carries a dollar amount. Assigning it to a participant reserves funds against the program pool.
POST /v1/applicationsWhen a participant needs a card, Stretch creates the application on your Highnote card product and tracks KYC to approval.
POST /v1/cardsIssue cards through your Highnote program. Virtual cards ready instantly; physical cards via USPS Express.
PUT /v1/usertasks/{id}/completeMark a milestone complete — Stretch performs the funding transfer on your Highnote program and emits the event.
POST /v1/webhooks/webhook-configurationStretch subscribes to your Highnote webhook stream, reconciles card lifecycle events, and surfaces clean events to you.
GET /v1/programs/{id}/statisticsPer-program totals for enrollment, pending / completed milestones, and funds disbursed — ready for your dashboards.
Full list of 42 endpoints in the API reference.
Webhook reconciliation
Stretch consumes your Highnote webhook stream on your behalf, ties each event back to the originating program, milestone, and participant, and fires a single clean event to your webhook endpoint.
CARD_PRODUCT_APPLICATION_APPROVEDStretch creates the participant’s financial account automatically.
INTERNAL_TRANSFER_*_COMPLETEDStretch marks the milestone disbursement settled and emits a clean event to your webhook.
INTERNAL_TRANSFER_*_PENDING / FAILEDStretch surfaces the state so your UI can show “processing” or retry cleanly.
| Highnote event | What Stretch does |
|---|---|
CARD_PRODUCT_APPLICATION_APPROVED | Stretch creates the participant’s financial account automatically. |
INTERNAL_TRANSFER_*_COMPLETED | Stretch marks the milestone disbursement settled and emits a clean event to your webhook. |
INTERNAL_TRANSFER_*_PENDING / FAILED | Stretch surfaces the state so your UI can show “processing” or retry cleanly. |
Stretch calls Highnote using your credentials and card product. Your BIN, issuer, and commercial relationship don't change.
Versioned agreements and timestamped consent records per participant — the audit trail program auditors expect.
OAuth2 client credentials with RSA-wrapped secrets. JWT access tokens, refresh flow, idempotent writes.
Tell us about your Highnote card product and the program you want to run. We'll send sandbox keys and a scoping doc within a business day.