Getting started on v2
You can use your existing Deck account. From the Console, create a new v2 organization. Data is not shared between v1 and v2. Agents, sources, credentials, and task history from your v1 organization do not carry over. You’re starting fresh. Your v1 organization continues to work as-is. You can run both versions in parallel while you migrate.Authentication changes
v2 uses a single Bearer token instead of a client ID and secret pair. Generate your API key from the v2 organization in the Console.
Concept mapping
The core ideas are the same, but the naming and structure have changed.Source changes
In v1, sources came from a shared catalog maintained by Deck. You browsed a list of pre-configured sources (Hilton, Hubspot, Coinbase, etc.), picked one by its GUID, and used it. You could not add your own. In v2, sources are yours. You create them by providing a name, type, and URL:API structure changes
v1 had a small number of generic endpoints. v2 has resource-specific endpoints for each object type.v1 pattern
v2 pattern
agt_, src_, cred_, sess_, task_, trun_, stor_, evt_, evtd_).
Webhook and event changes
v1 used a single webhook URL configured in the Console. All events were delivered to that one endpoint. v2 introduces a full event system:- Create multiple event destinations (webhooks, AWS SQS, GCP Pub/Sub, and more)
- Subscribe each destination to specific event types
- Track individual delivery attempts with statuses and retries
- Verify webhook signatures using the Standard Webhooks specification
type field (like credential.verified or task_run.completed) instead of v1’s webhook_type + webhook_code combination.
What v2 gives you
Features available in v2 that do not exist in v1:- Typed input and output schemas. Every task defines exactly what input it expects and what output it returns. Deck validates both ends.
- Interaction system. A general-purpose system for handling MFA, security questions, account selection, and other mid-flow prompts.
- Multiple event destinations. Subscribe different endpoints to different events. Deliver to webhooks, cloud queues, or message brokers.
- Custom extraction schemas. Define your own JSON schemas for document extraction instead of using fixed output formats. (Enterprise)
- Idempotency keys on all create endpoints. v1 only supported idempotency on job submissions.
- Prefixed resource IDs. Every ID tells you what type of resource it is (
agt_,cred_,trun_), making debugging and logging easier.
Migration checklist
1
Create a v2 organization
Log in to the Console and create a new v2 organization.
2
Generate a v2 API key
Get your
sk_live_ API key from the v2 organization settings.3
Recreate your agents and sources
Create agents (previously decks) and sources using the v2 API or Console.
4
Define tasks with schemas
Create tasks with explicit input and output schemas. These replace your v1 job codes.
5
Update your auth flow
Replace
EnsureCredential job submissions with POST /v2/credentials to store credentials. Credentials are verified automatically on first task run.6
Update task execution
Replace
jobs/submit calls with POST /v2/tasks/{task_id}/run. Parse the new response format with typed task run objects.7
Set up event destinations
Create event destinations to replace your v1 webhook configuration. Subscribe to the event types you need.
8
Update error handling
v2 errors use a consistent
errors array with type, code, and message fields. Update your error parsing logic.