API v2

Overview

Calls for SparkLoop API v1 are relative to the url https://api.sparkloop.app/v2

API v2 is in active development. Whilst we won't add any breaking changes, expect new endpoint to be added at any time.

Auth

You can find your API key under your Account Page.

Using the API key

Every request sent to Sparkloop API must contain the X-Api-Key header with the value set to your API key. Example:

curl -H "X-Api-Key: 12cf8cf8538c3685b0f36308" https://api.sparkloop.app/v1/campaigns

If you forget to include the X-Api-Key header or use the wrong API key, API will respond with 401 HTTP status code.

Pagination

For any endpoint that can return multiple objects, e.g. /subscribers, /partner_programs etc. pagination can be used.

Pagination params are sent as query parameters — page and per_page

per_page — how many objects you want to fetch. The default is 50, maximum is 200.

pagewhat page you want to fetch. The default is 1.

Requests

For every POST and PUT request set the Content-Type header to:

Content-Type: application/json; charset=utf-8

Responses

When an API call succeeds, the API will return a 200 or 201 HTTP response and a JSON response body unless otherwise noted.

If there's an error, the API will return an HTTP response in the 400 or 500 range and a response body indicating what the error was. For example:

{ error: "Subscriber uuid blank!"} with a 400 error.

Rate limiting

Our rate limit is no more than 60 requests over a rolling 60 second period, for a given api key.

If your request rate exceeds our limits, you will receive a 429 response, which your code should gracefully handle. We recommend spacing out your requests and performing an exponential backoff to keep within the limit.

Internal server errors

If the server is overloaded or you encounter a bug, you will get a 500 error. Try again after a short period, and if you continue to encounter an error, please raise the issue with support.

Last updated