New account required
The legacy Sustainability platform and Deck v2 are separate systems. You will need a new Deck account to use v2.- Data does not transfer. Connections, statements, and historical data from the legacy platform are not accessible in v2.
- API keys are not compatible. Legacy API credentials do not work with v2.
- Create a new account at console.deck.co and generate a v2 API key (
sk_live_).
Architecture differences
The legacy platform was built around pre-defined data products (Sustainability, Bill, Credit Risk) with Deck-managed schemas. v2 is a general-purpose platform where you define your own agents, tasks, and schemas.| Legacy (Sustainability) | Deck v2 | |
|---|---|---|
| Model | Pre-built data products with fixed endpoints | General-purpose agents with custom tasks |
| Auth method | client_id + secret headers | Authorization: Bearer sk_live_... |
| Base URL | https://api.deck.co/ | https://api.deck.co/v2 |
| User linking | Deck Link (drop-in UI or API) | POST /v2/connections with direct credential passing |
| Token model | link_token → public_token → access_token exchange | Single connection_id returned directly |
| Data retrieval | Call product-specific endpoints with access_token | Run tasks against connections, receive structured output via events |
| MFA | Dedicated security question and MFA endpoints | General-purpose interaction system |
| Output format | Fixed response schemas per product | Custom output schemas defined per task |
| Webhooks | Single endpoint, limited event types | Multiple destinations, granular event types, delivery tracking, replay |
| File access | Product-specific file download endpoints | Storage items with download URLs and optional data extraction |
Concept mapping
| Legacy Concept | v2 Concept | Notes |
|---|---|---|
| Data product (Sustainability, Bill, Credit Risk) | Agent | Create one agent per use case. You define what it does. |
| Source (utility provider, bank, etc.) | Source | On the legacy platform, sources were pre-configured by Deck and selected from a catalog. In v2, you create your own sources by providing a URL. You can connect to any website. |
| Link session | Connection | Instead of a multi-step token exchange flow, create a connection directly with credentials in one API call. |
link_token | (not needed) | v2 does not use a token initialization step. |
public_token | (not needed) | v2 does not use a public/private token exchange. |
access_token | Connection ID (conn_) | The connection object is the handle for all subsequent operations. |
Product endpoint (e.g., /sustainability/statements) | Task Run | Define tasks for the data you need. Run them against connections. Results come back as typed JSON. |
| Statement file download | Storage item | Tasks can produce files. Download them via storage item URLs. |
| Security question endpoint | Interaction | v2 handles all mid-flow prompts (MFA, security questions, account selection) through one interaction system. |
| Auto-refresh | Connection scheduling | v2 supports scheduling on connections for recurring data retrieval. |
Source changes
On the legacy platform, sources were pre-configured and managed by Deck. You connected to utility providers, banks, and other institutions from a fixed catalog. You could not add sources yourself. In v2, you create sources directly. Provide a name, type, and URL, and Deck handles the rest:Authentication changes
The legacy platform used a multi-step Link flow to establish connections:connection_id immediately. If MFA is required, the connection status becomes interaction_required and you submit the code through the interaction endpoint.
Data retrieval changes
The legacy platform had fixed endpoints for each data product. You called an endpoint and received data in a predefined format.Legacy pattern
v2 pattern
What v2 gives you
Capabilities in v2 that did not exist on the legacy platform:- Custom agents and tasks. Define exactly what data to fetch and what actions to perform. Not limited to pre-built products.
- Any website as a source. Create your own sources by URL. Not limited to the pre-configured catalog from the legacy platform.
- Workflows. Chain multiple tasks together with branching and conditional logic. Replace manual orchestration of multi-step data collection.
- Typed schemas. Define input and output schemas per task. Deck validates both ends.
- Interaction system. Handle MFA, security questions, and account selection through a single, consistent API.
- Multiple event destinations. Deliver events to webhooks, AWS SQS, GCP Pub/Sub, Azure Service Bus, and more. Subscribe each destination to specific event types.
- Event replay. Replay failed deliveries without re-running tasks.
- Idempotency. All create endpoints accept idempotency keys for safe retries.
- Prefixed resource IDs. Every ID encodes its type (
agt_,conn_,trun_).
Migration checklist
Create a new Deck account
Sign up at console.deck.co. Legacy accounts cannot be upgraded.
Create agents for your use cases
Map your legacy data products to agents. A Sustainability integration becomes an agent with tasks for fetching statements, downloading files, etc.
Create sources
Add the websites you were previously connecting to as sources. Provide the URL and Deck handles the rest.
Define tasks with schemas
Create tasks that replicate the data you were fetching from legacy endpoints. Define input and output schemas that match your application’s needs.
Replace Link with direct connections
Replace the
link_token / public_token / access_token exchange flow with POST /v2/connections. Build your own credential collection UI.Update data retrieval logic
Replace calls to product endpoints with
POST /v2/tasks/{task_id}/run. Results arrive via events, not synchronous responses.Set up event destinations
Create event destinations to receive task results, connection status updates, and other notifications.
Update error handling
v2 uses a consistent error format with
type, code, and message fields. See the API Error Handling page.