Skip to article

What the developer API can do

Short answer

A key lets your code read and change your subscribers, segments, and custom fields, and hear about changes through webhooks. The API follows the same rules as adding someone in Jounce.

The developer API is for code. That might be a script, your website’s server, or a tool a developer builds for you.

Your code shows Jounce a key, then reads and changes your audience in the same ways the app does. If no one writes code for you, Zapier does most of this with no code; see Which integration do you need?

What your code can do

  • Add or update a subscriber by email address. Include a first and last name, custom fields, and the segments they belong in. If the address is already there, Jounce updates that person. It never makes a second copy. A custom field spelled like a built-in one never becomes a field of its own. Sent as first name or last name, it counts as the real one when the request has none. Anything else is left out, and Jounce’s reply says so.
  • Record an unsubscribe, even for an address Jounce hasn’t seen. If that person is added later, they come in as unsubscribed.
  • Move people between segments, and create segments and custom fields. If your code creates a field by a name you already have, Jounce finds that field instead of making a second one. A custom field can’t take a built-in field’s name, such as First name, in any spelling. Jounce refuses the request with a reason your developer can read. It also refuses to create a field your team is still deleting, until the delete is done.
  • Read your forms and automations — their names and whether they’re published or live. Code can’t edit, launch, or pause an automation.
  • Set up webhooks. Then Jounce tells your code the moment a subscriber joins, changes, unsubscribes, or moves; see Webhooks.

Open docs on the Developer API page lists every address and what each request looks like. It also has an example to try a new key with.

The same rules as the app

A subscriber added by code is held to the rules a form or a CSV import follows:

  • Someone who unsubscribed, bounced, or complained keeps that status. An update changes their details, never their status. An address that opted out before is added as unsubscribed; see Subscriber statuses.
  • Jounce refuses an address on a throwaway email domain. It accepts a shared inbox such as info@, with a warning your developer can read.
  • Jounce refuses an address a subscriber used before their email address was changed. That old address stays tied to them, as it does in Add manually and imports; see Change a subscriber’s email address.
  • Your code can ask Jounce to send the person a confirmation email first. Then they’re Unconfirmed until they click the link in it. Every workspace has this email, written and sent by Jounce; see The confirmation email.
  • Putting someone in a segment can start an automation that watches it. That’s the same as adding them in Jounce.

On the subscriber’s own page, Details shows their source as API; see Where a subscriber came from.

What it can’t do

  • Send an email or start a send. Emails go out from Jounce.
  • Create or edit emails, forms, or automations.
  • Reach a workspace other than the one the key was created in.
  • Change anything with a read-only key; see Full access and read-only keys.

Updated

New to Jounce? See what Jounce does