Pulse-Version header, so you can move one call at a time.
Move your calls
1
Send the header
Use a 2.x SDK, which sends
Pulse-Version: 2 for you, or add the header to each raw HTTP call you move.2
Rename the call
Rename the endpoint, move its options into
config, and read the result from the job’s /result route. The tables below map each name.3
Change the default, if you want
Once every call sends the header, an admin can make version 2 the default.
Which version serves a request
A request withPulse-Version: 2 or Pulse-Version: 1 reaches that version, and any other value is refused with 400. A request without the header reaches your organization’s default version, its default_api_version. When the default is 2 but version 2 has no such route, version 1 serves it.
A few requests don’t follow these rules:
- A job’s routes follow its id. A
parse-…id reaches version 2 with or without the header, and a version 1 job id, a bare UUID, reaches version 1. - Ids don’t cross versions. A version 2 id sent to version 1 is refused, and so is a version 1
extraction_idsent to version 2 as aparse_id. - Saved configs and
/settings/orgexist only in version 2. Without the header they reach version 2; withPulse-Version: 1they’re refused.
Change the default version
New organizations start with version 1 as their default. An organization admin can change it in the dashboard, under Organization Settings → Default API Version, or with a key whose creator is an organization admin:Endpoints
Pay-per-request (MPP) keys also stay on version 1.
What changed on every endpoint
/extract becomes /parse
Every version 2 option below sits insideconfig. Parse describes the rest, such as spreadsheet options and extensions.
/schema becomes /extract
Split, Tables and Charts
SDKs
The 2.x Python SDK,pulse-ai, and the 1.x pulse-python-sdk both install the pulse module, so uninstall the 1.x package first:
TypeScript has the same calls in camelCase. The 2.x SDKs never retry a request on their own: SDKs shows how to retry safely.