Skip to main content
API Reference
Cards
Event Subscriptions

Webhooks are event notifications we send to you by HTTPS POST requests. Event Subscriptions are how you configure your application to listen for them. You can create an Event Subscription through your developer dashboard or the API. For more information, see our webhooks guide.

Events
Your application can listen to webhooks about this resource. The events about Event Subscriptions will have the categories "event_subscription.created" or "event_subscription.updated" .
The Event Subscription object
{
  "created_at": "2020-01-31T23:59:59Z",
  "id": "event_subscription_001dzz0r20rcdxgb013zqb8m04g",
  "idempotency_key": null,
  "oauth_connection_id": null,
  "selected_event_categories": null,
  "status": "active",
  "type": "event_subscription",
  "url": "https://website.com/webhooks"
}
Attributes
created_at
string

The time the event subscription was created.

id
string

The event subscription identifier.

idempotency_key
string
Nullable

The idempotency key you chose for this object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about idempotency.

oauth_connection_id
string
Nullable

If specified, this subscription will only receive webhooks for Events associated with this OAuth Connection.

More about OAuth Connections.
selected_event_categories
array
Nullable

If specified, this subscription will only receive webhooks for Events with the specified category.

status
enum

This indicates if we’ll send notifications to this subscription.

type
string

A constant representing the object’s type. For this resource it will always be event_subscription.

url
string

The webhook url where we’ll send notifications.

List Event Subscriptions
curl \
  --url "${INCREASE_URL}/event_subscriptions" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}"
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

// Automatically fetches more pages as needed.
for await (const eventSubscription of client.eventSubscriptions.list()) {
  console.log(eventSubscription.id);
}
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
page = client.event_subscriptions.list()
page = page.data[0]
print(page.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

page = increase.event_subscriptions.list

puts(page)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	page, err := client.EventSubscriptions.List(context.TODO(), increase.EventSubscriptionListParams{})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", page)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.eventsubscriptions.EventSubscriptionListPage;
import com.increase.api.models.eventsubscriptions.EventSubscriptionListParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        EventSubscriptionListPage page = client.eventSubscriptions().list();
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.eventsubscriptions.EventSubscriptionListPage
import com.increase.api.models.eventsubscriptions.EventSubscriptionListParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val page: EventSubscriptionListPage = client.eventSubscriptions().list()
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $page = $client->eventSubscriptions->list(
    cursor: 'cursor', idempotencyKey: 'x', limit: 1
  );

  var_dump($page);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.EventSubscriptions;

IncreaseClient client = new();

EventSubscriptionListParams parameters = new();

var page = await client.EventSubscriptions.List(parameters);
await foreach (var item in page.Paginate())
{
    Console.WriteLine(item);
}
Returns a list response :
{
  "data": [
    { /* Event Subscription object */ },
    { /* Event Subscription object */ }
    /* ... */
  ],
  "next_cursor": "v57w5d",
}
Parameters
idempotency_key
string

Filter records to the one with the specified idempotency_key you chose for that object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about idempotency.

Between 1 and 200 characters
More
cursor
string
limit
integer
Create an Event Subscription
curl -X "POST" \
  --url "${INCREASE_URL}/event_subscriptions" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{
    "url": "https://website.com/webhooks"
  }'
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const eventSubscription = await client.eventSubscriptions.create({
  url: 'https://website.com/webhooks',
});

console.log(eventSubscription.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
event_subscription = client.event_subscriptions.create(
    url="https://website.com/webhooks",
)
print(event_subscription.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

event_subscription = increase.event_subscriptions.create(url: "https://website.com/webhooks")

puts(event_subscription)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	eventSubscription, err := client.EventSubscriptions.New(context.TODO(), increase.EventSubscriptionNewParams{
		URL: increase.F("https://website.com/webhooks"),
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", eventSubscription.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.eventsubscriptions.EventSubscription;
import com.increase.api.models.eventsubscriptions.EventSubscriptionCreateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        EventSubscriptionCreateParams params = EventSubscriptionCreateParams.builder()
            .url("https://website.com/webhooks")
            .build();
        EventSubscription eventSubscription = client.eventSubscriptions().create(params);
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.eventsubscriptions.EventSubscription
import com.increase.api.models.eventsubscriptions.EventSubscriptionCreateParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val params: EventSubscriptionCreateParams = EventSubscriptionCreateParams.builder()
        .url("https://website.com/webhooks")
        .build()
    val eventSubscription: EventSubscription = client.eventSubscriptions().create(params)
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $eventSubscription = $client->eventSubscriptions->create(
    url: 'https://website.com/webhooks',
    oauthConnectionID: 'x',
    selectedEventCategories: [['eventCategory' => 'account.created']],
    sharedSecret: 'x',
    status: 'active',
  );

  var_dump($eventSubscription);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.EventSubscriptions;

IncreaseClient client = new();

EventSubscriptionCreateParams parameters = new()
{
    UrlValue = "https://website.com/webhooks"
};

var eventSubscription = await client.EventSubscriptions.Create(parameters);

Console.WriteLine(eventSubscription);
Parameters
oauth_connection_id
string

If specified, this subscription will only receive webhooks for Events associated with the specified OAuth Connection.

Between 1 and 200 characters
selected_event_categories
array

If specified, this subscription will only receive webhooks for Events with the specified category. If specifying a Real-Time Decision event category, only one Event Category can be specified for the Event Subscription.

shared_secret
string

The key that will be used to sign webhooks. If no value is passed, a random string will be used as default.

Between 1 and 100 characters
status
enum

The status of the event subscription. Defaults to active if not specified.

url
string
Required

The URL you’d like us to send webhooks to.

Retrieve an Event Subscription
curl \
  --url "${INCREASE_URL}/event_subscriptions/event_subscription_001dzz0r20rcdxgb013zqb8m04g" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}"
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const eventSubscription = await client.eventSubscriptions.retrieve(
  'event_subscription_001dzz0r20rcdxgb013zqb8m04g',
);

console.log(eventSubscription.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
event_subscription = client.event_subscriptions.retrieve(
    "event_subscription_001dzz0r20rcdxgb013zqb8m04g",
)
print(event_subscription.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

event_subscription = increase.event_subscriptions.retrieve("event_subscription_001dzz0r20rcdxgb013zqb8m04g")

puts(event_subscription)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	eventSubscription, err := client.EventSubscriptions.Get(context.TODO(), "event_subscription_001dzz0r20rcdxgb013zqb8m04g")
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", eventSubscription.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.eventsubscriptions.EventSubscription;
import com.increase.api.models.eventsubscriptions.EventSubscriptionRetrieveParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        EventSubscription eventSubscription = client.eventSubscriptions().retrieve("event_subscription_001dzz0r20rcdxgb013zqb8m04g");
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.eventsubscriptions.EventSubscription
import com.increase.api.models.eventsubscriptions.EventSubscriptionRetrieveParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val eventSubscription: EventSubscription = client.eventSubscriptions().retrieve("event_subscription_001dzz0r20rcdxgb013zqb8m04g")
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $eventSubscription = $client->eventSubscriptions->retrieve(
    'event_subscription_001dzz0r20rcdxgb013zqb8m04g'
  );

  var_dump($eventSubscription);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.EventSubscriptions;

IncreaseClient client = new();

EventSubscriptionRetrieveParams parameters = new()
{
    EventSubscriptionID = "event_subscription_001dzz0r20rcdxgb013zqb8m04g"
};

var eventSubscription = await client.EventSubscriptions.Retrieve(parameters);

Console.WriteLine(eventSubscription);
Parameters
event_subscription_id
string
Required

The identifier of the Event Subscription.

Update an Event Subscription
curl -X "PATCH" \
  --url "${INCREASE_URL}/event_subscriptions/event_subscription_001dzz0r20rcdxgb013zqb8m04g" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{}'
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const eventSubscription = await client.eventSubscriptions.update(
  'event_subscription_001dzz0r20rcdxgb013zqb8m04g',
);

console.log(eventSubscription.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
event_subscription = client.event_subscriptions.update(
    event_subscription_id="event_subscription_001dzz0r20rcdxgb013zqb8m04g",
)
print(event_subscription.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

event_subscription = increase.event_subscriptions.update("event_subscription_001dzz0r20rcdxgb013zqb8m04g")

puts(event_subscription)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	eventSubscription, err := client.EventSubscriptions.Update(
		context.TODO(),
		"event_subscription_001dzz0r20rcdxgb013zqb8m04g",
		increase.EventSubscriptionUpdateParams{},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", eventSubscription.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.eventsubscriptions.EventSubscription;
import com.increase.api.models.eventsubscriptions.EventSubscriptionUpdateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        EventSubscription eventSubscription = client.eventSubscriptions().update("event_subscription_001dzz0r20rcdxgb013zqb8m04g");
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.eventsubscriptions.EventSubscription
import com.increase.api.models.eventsubscriptions.EventSubscriptionUpdateParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val eventSubscription: EventSubscription = client.eventSubscriptions().update("event_subscription_001dzz0r20rcdxgb013zqb8m04g")
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $eventSubscription = $client->eventSubscriptions->update(
    'event_subscription_001dzz0r20rcdxgb013zqb8m04g', status: 'active'
  );

  var_dump($eventSubscription);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.EventSubscriptions;

IncreaseClient client = new();

EventSubscriptionUpdateParams parameters = new()
{
    EventSubscriptionID = "event_subscription_001dzz0r20rcdxgb013zqb8m04g"
};

var eventSubscription = await client.EventSubscriptions.Update(parameters);

Console.WriteLine(eventSubscription);
Parameters
event_subscription_id
string
Required

The identifier of the Event Subscription.

status
enum

The status to update the Event Subscription with.