Welcome to the GrowSumo Integration Docs

Here you can find guides, documentation, support and FAQs to get you setup on GrowSumo.

Chat with us by clicking the message bubble in the bottom right if you are having any trouble!

Get Started
Suggest Edits

Customers Overview

Create a referred customer in GrowSumo

 

Remember: You must create a customer for all referred users

Customers in GrowSumo are used to connect partners and their referrals.

Description

Customers represent the users who have been referred by a Partner.

Customers are linked to the Partner that referred them through a partner_key which must be provided on the Create Customer endpoint.

The partner_key is retrievable from growsumo.data.partner_key, which is created by the GrowSumoJS snippet.

Model

Attribute
Type
Description
Limit
Example

key

string

A unique identifier used to reference the customer

255

cus_a80cb515fe

provider_key

string

A unique identifier given by a payment provider (Stripe, Recurly, Chargebee etc)

255

name

string

Should be either the customer's name, or the company name

100

John Smith

email

string

The customers email, must be a valid email

255

johnsmith@gmail.com

test

boolean

True if created by a test partner

created_at

unix timestamp

Immutable Unix timestamp in milliseconds taken at time of creation

1472503412153

updated_at

unix timestamp

Unix timestamp in milliseconds taken at time of last update

1472503412153

Suggest Edits

Create Customer

 
posthttps://api.growsumo.com/v1/customers
var request = require("request");

var options = {
  method: 'POST',
  url: 'https://api.growsumo.com/v1/customers',
  auth: {
	  'user': "<GROWSUMO_PUBLIC_KEY>",
	  'pass': "<GROWSUMO_PRIVATE_KEY>"
  },
  body: JSON.stringify({
      key: "cus_a80SV515feLAA",
      partner_key: "bertramgilfoyle",
      email: "johnsmith@gmail.com",
      name: "John Smith"
  }),
 };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request POST \
    -H "Content-Type: application/json" \
    -u <GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY> \
    -d '{"key":"cus_a80SV515feLAA","partner_key":"bertramgilfoyle","email":"johnsmith@gmail.com","name":"John Smith"}' \
    --url "https://api.growsumo.com/v1/customers"
import requests
import json

url = "https://api.growsumo.com/v1/customers"

headers = {'Content-Type': "application/json"}

auth=('<GROWSUMO_PUBLIC_KEY>', '<GROWSUMO_PRIVATE_KEY>')

data=json.dumps({
    "key": "cus_a80SV515feLAA", 
    "partner_key": "bertramgilfoyle",
    "email": "johnsmith@gmail.com",
    "name": "John Smith",
})

response = requests.request("POST", url, headers=headers, auth=auth, data=data)

print(response.text)
function reqListener () {
  console.log(this.responseText);
}

var url = "https://api.growsumo.com/v1/customers";
var auth = "<GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY>"
var data = JSON.stringify({
    key: "cus_a80SV515feLAA",
    partner_key: "bertramgilfoyle",
    email: "johnsmith@gmail.com",
    name: "John Smith",
});

var XMLReq = new XMLHttpRequest();

XMLReq.addEventListener("load", reqListener);
XMLReq.open("POST", url, false);
XMLReq.setRequestHeader("Authorization", "Basic " + btoa(auth));
XMLReq.send(data);
<?php
$ch = curl_init('https://api.growsumo.com/v1/customers');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$auth = '<GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY>';

$data = [
    'key' => 'cus_a80SV515feLAA',
  	'partner_key' => 'bertramgilfoyle',
    'email' => 'johnsmith@gmail.com',
    'name'   => 'John Smith',
];

curl_setopt($ch, CURLOPT_USERPWD, $auth);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$response = curl_exec($ch);

curl_close($ch);

if($response === false || $response['http_code'] != 200) {
	if (curl_error($ch)) {
  	$response .= "\n  ". curl_error($ch); 
  } 
}

echo($response);
?>
A binary file was returned

You couldn't be authenticated

{
  "status": 200,
  "message": "Customer created",
  "rdata": {
      "key": "cus_a80SV515feLAA",
      "provider_key": "cus_A2VAIipQOkS7nV",
      "name": "John Smith",
      "email": "johnsmith@gmail.com",
      "partner_key": "bertramgilfoyle",
    	"test": false,
      "created_at":1472503412153,
      "updated_at":1472503412153
  }
}
{
  "status": 400,
  "error": "Bad Request, illegal input for operation",
  "message": "Bad Request, illegal input for operation"
}
{
  "status": 401,
  "error": "Unauthorized, you credentials were invalid",
  "message": "Unauthorized, you credentials were invalid"
}
{
  "status": 403,
  "error": "Forbidden, you are not allowed to do this",
  "message": "Forbidden, you are not allowed to do this"
}
{
  "status": 404,
  "error": "Not Found, could not find the requested resource",
  "message": "Not Found, could not find the requested resource"
}
{
  "status": 500,
  "error": "Internal Server Error, something went wrong",
  "message": "Internal Server Error, something went wrong"
}

Body Params

key
string
required

(e.g. cus_a80cb515fe) A unique identifier used to reference the customer. This is the same as the "Customer_key" that can be assigned using GrowSumoJS

partner_key
string
required

(e.g. bertramgilfoyle) The key of the partner that is responsible for the customer

email
string
required

(e.g. johnsmith@gmail.com) The customers email, must be a valid email

name
string

(e.g. John Smith) Should be either the customer's name, or the company name

 
Suggest Edits

Get Customers

Returns a list of all your customers

 
gethttps://api.growsumo.com/v1/customers
var request = require("request");

var options = { 
  method: 'GET',
  url: 'https://api.growsumo.com/v1/customers',
  auth: {
	  'user': "<GROWSUMO_PUBLIC_KEY>",
	  'pass': "<GROWSUMO_PRIVAE_KEY"
  }
 };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request GET \
    -u <GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY> \
    --url https://api.growsumo.com/v1/customers
import requests

url = "https://api.growsumo.com/v1/customers"

headers = {
    'Cache-Control': "no-cache",
    }

auth=('<GROWSUMO_PUBLIC_KEY>', '<GROWSUMO_PRIVATE_KEY>')

response = requests.request("GET", url, headers=headers, auth=auth)

print(response.text)
function reqListener () {
  console.log(this.responseText);
}

var url = "https://api.growsumo.com/v1/customers";
var auth = "<GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY>"

var XMLReq = new XMLHttpRequest();

XMLReq.addEventListener("load", reqListener);
XMLReq.open("GET", url, false);
XMLReq.setRequestHeader("Authorization", "Basic " + btoa(auth));
XMLReq.send(null);
<?php
$ch = curl_init('https://api.growsumo.com/v1/customers');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$auth = '<GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY>';

curl_setopt($ch, CURLOPT_USERPWD, $auth);

$response = curl_exec($ch);

curl_close($ch);

if($response === false || $response['http_code'] != 200) {
	if (curl_error($ch)) {
  	$response .= "\n  ". curl_error($ch); 
  } 
}

echo($response);
?>
A binary file was returned

You couldn't be authenticated

{
  "status": 200,
  "message": "Customers returned",
  "rdata": [
   	{
      "key": "cus_a80SV515feLAA",
      "provider_key": "cus_A2VAIipQOkS7nV",
      "name": "John Smith",
      "email": "johnsmith@gmail.com",
      "partner_key": "bertramgilfoyle",
    	"test": false,
      "created_at":1472503412153,
      "updated_at":1472503412153
  	},
    {...},
    {...}
  ]
}
{
  "status": 400,
  "error": "Bad Request, illegal input for operation",
  "message": "Bad Request, illegal input for operation"
}
{
  "status": 401,
  "error": "Unauthorized, you credentials were invalid",
  "message": "Unauthorized, you credentials were invalid"
}
{
  "status": 403,
  "error": "Forbidden, you are not allowed to do this",
  "message": "Forbidden, you are not allowed to do this"
}
{
  "status": 404,
  "error": "Not Found, could not find the requested resource",
  "message": "Not Found, could not find the requested resource"
}
{
  "status": 500,
  "error": "Internal Server Error, something went wrong",
  "message": "Internal Server Error, something went wrong"
}
 
Suggest Edits

Update Customer

Updates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

 
patchhttps://api.growsumo.com/v1/customers/key
var request = require("request");

var options = {
  method: 'PATCH',
  url: 'https://api.growsumo.com/v1/customers/cus_a80SV515feLAA',
  auth: {
	  'user': "<GROWSUMO_PUBLIC_KEY>",
	  'pass': "<GROWSUMO_PRIVATE_KEY>"
  },
  body: JSON.stringify({
      key: "cus_a80SV515feLAA",
      email: "johnsmith@gmail.com",
      name: "John Smith"
  }),
 };


request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request PATCH \
    -H "Content-Type: application/json" \
    -u <GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY> \
    -d '{"key":"cus_a80SV515feLAA","email":"johnsmith@gmail.com","name":"John Smith"}' \
    --url "https://api.growsumo.com/v1/customers/cus_a80SV515feLAA"
import requests
import json

url = "https://api.growsumo.com/v1/customers/cus_a80SV515feLAA"

headers = {'Content-Type': "application/json"}

auth=('<GROWSUMO_PUBLIC_KEY>', '<GROWSUMO_PRIVATE_KEY>')

data=json.dumps({
    "key": "cus_a80SV515feLAA",
    "email": "johnsmith@gmail.com",
    "name": "John Smith",
})

response = requests.request("POST", url, headers=headers, auth=auth, data=data)

print(response.text)

function reqListener () {
  console.log(this.responseText);
}

var url = "https://api.growsumo.com/v1/customers/cus_a80SV515feLAA";
var auth = "<GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY>"
var data = JSON.stringify({
    key: "cus_a80SV515feLAA",
    email: "johnsmith@gmail.com",
    name: "John Smith",
});

var XMLReq = new XMLHttpRequest();

XMLReq.addEventListener("load", reqListener);
XMLReq.open("PATCH", url, false);
XMLReq.setRequestHeader("Authorization", "Basic " + btoa(auth));
XMLReq.send(data);
<?php
$ch = curl_init('https://api.growsumo.com/v1/customers/cus_a80SV515feLAA');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$auth = '<GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY>';

$data = [
    'key' => 'cus_a80SV515feLAA',
    'email' => 'johnsmith@gmail.com',
    'name'   => 'John Smith',
];

curl_setopt($ch, CURLOPT_USERPWD, $auth);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$response = curl_exec($ch);

curl_close($ch);

if($response === false || $response['http_code'] != 200) {
	if (curl_error($ch)) {
  	$response .= "\n  ". curl_error($ch); 
  } 
}

echo($response);
?>
A binary file was returned

You couldn't be authenticated

{
  "status": 200,
  "message": "Customer updated",
  "rdata": {
      "key": "cus_a80SV515feLAA",
      "provider_key": "cus_A2VAIipQOkS7nV",
      "name": "John Smith",
      "email": "johnsmith@gmail.com",
      "partner_key": "bertramgilfoyle",
    	"test": false,
      "created_at":1472503412153,
      "updated_at":1472503412153
  }
}
{
  "status": 400,
  "error": "Bad Request, illegal input for operation",
  "message": "Bad Request, illegal input for operation"
}
{
  "status": 401,
  "error": "Unauthorized, you credentials were invalid",
  "message": "Unauthorized, you credentials were invalid"
}
{
  "status": 403,
  "error": "Forbidden, you are not allowed to do this",
  "message": "Forbidden, you are not allowed to do this"
}
{
  "status": 404,
  "error": "Not Found, could not find the requested resource",
  "message": "Not Found, could not find the requested resource"
}
{
  "status": 500,
  "error": "Internal Server Error, something went wrong",
  "message": "Internal Server Error, something went wrong"
}

Path Params

key
string
required

(e.g. cus_a80cb515fe) A unique identifier used to reference the customer

Body Params

key
string

(e.g. cus_a80cb515fe) A unique identifier used to reference the customer

email
string

(e.g. johnsmith@gmail.com) The customers email, must be a valid email

name
string

(e.g. John Smith) Should be either the customer's name, or the company name

 
Suggest Edits

Archive Customer

Archives the specified customer

 
deletehttps://api.growsumo.com/v1/customers/key
var request = require("request");

var options = {
  method: 'DELETE',
  url: 'https://api.growsumo.com/v1/customers/cus_a80SV515feLAA',
  auth: {
	  'user': "<GROWSUMO_PUBLIC_KEY>",
	  'pass': "<GROWSUMO_PRIVATE_KEY>"
  }
 };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request DELETE \
    -u <GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY> \
    --url "https://api.growsumo.com/v1/customers/cus_a80SV515feLAA"
import requests
import json

url = "https://api.growsumo.com/v1/customers/cus_a80SV515feLAA"

headers = {'Content-Type': "application/json"}

auth=('<GROWSUMO_PUBLIC_KEY>', '<GROWSUMO_PRIVATE_KEY>')

response = requests.request("POST", url, headers=headers, auth=auth)

print(response.text)
function reqListener () {
  console.log(this.responseText);
}

var url = "https://api.growsumo.com/v1/customers/cus_a80SV515feLAA";
var auth = "<GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY>"

var XMLReq = new XMLHttpRequest();

XMLReq.addEventListener("load", reqListener);
XMLReq.open("DELETE", url, false);
XMLReq.setRequestHeader("Authorization", "Basic " + btoa(auth));
XMLReq.send();
<?php
$ch = curl_init('https://api.growsumo.com/v1/customers/cus_a80SV515feLAA');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$auth = '<GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY>';

curl_setopt($ch, CURLOPT_USERPWD, $auth);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");

$response = curl_exec($ch);

curl_close($ch);

if($response === false || $response['http_code'] != 200) {
	if (curl_error($ch)) {
  	$response .= "\n  ". curl_error($ch); 
  } 
}

echo($response);
?>
A binary file was returned

You couldn't be authenticated

{
  "status": 200,
  "message": "Customer archived"
}
{
  "status": 400,
  "error": "Bad Request, illegal input for operation",
  "message": "Bad Request, illegal input for operation"
}
{
  "status": 401,
  "error": "Unauthorized, you credentials were invalid",
  "message": "Unauthorized, you credentials were invalid"
}
{
  "status": 403,
  "error": "Forbidden, you are not allowed to do this",
  "message": "Forbidden, you are not allowed to do this"
}
{
  "status": 404,
  "error": "Not Found, could not find the requested resource",
  "message": "Not Found, could not find the requested resource"
}
{
  "status": 500,
  "error": "Internal Server Error, something went wrong",
  "message": "Internal Server Error, something went wrong"
}

Path Params

key
string
required

(e.g. cus_a80cb515fe) A unique identifier used to reference the customer

 
Suggest Edits

Actions Overview

Tell GrowSumo a customer has taken a specific action

 

Description

Actions represent a rewardable action a customer has made.
Actions are linked to customers through the customer_key listed below.

Model

Attribute
Type
Description
Limit
Example

name

string

Name of the reward action in GrowSumo

255

downloadEbook

customer_key

string

Key of the customer the action is tied to

255

cus_a80cb515fe

amount

integer

An optional counter

1000000

2

Suggest Edits

Create Action

Give a reward for a specific action

 
posthttps://api.growsumo.com/v1/actions
var request = require("request");

var options = {
  method: 'POST',
  url: 'https://api.growsumo.com/v1/actions',
  auth: {
	  'user': "<GROWSUMO_PUBLIC_KEY>",
	  'pass': "<GROWSUMO_PRIVATE_KEY>"
  },
  body: JSON.stringify({
      customer_key: "cus_a80SV515feLAAas",
      name: "Purchase Success",
      value: 20,
  }),
 };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request POST \
    -H "Content-Type: application/json" \
    -u <GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY> \
    -d '{"customer_key":"cus_a80SV515feLAA","name":"Payment Success","value":20}' \
    --url "https://api.growsumo.com/v1/actions"
import requests
import json

url = "https://api.growsumo.com/v1/actions"

headers = {
    'Content-Type': "application/json"
    }

auth=('<GROWSUMO_PUBLIC_KEY>', '<GROWSUMO_PRIVATE_KEY>')

data=json.dumps({
    "customer_key": "cus_a80SV515feLAAas",
    "name": "Payment Success",
    "value": 20
})

response = requests.request("POST", url, headers=headers, auth=auth, data=data)

print(response.text)
function reqListener () {
  console.log(this.responseText);
}

var url = "https://api.growsumo.com/v1/actions";
var auth = "<GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY>"
var data = JSON.stringify({
    customer_key: "cus_a80SV515feLAA",
    name: "Payment Success",
  	value: 20
});

var XMLReq = new XMLHttpRequest();

XMLReq.addEventListener("load", reqListener);
XMLReq.open("POST", url, false);
XMLReq.setRequestHeader("Authorization", "Basic " + btoa(auth));
XMLReq.send(data);
<?php
$ch = curl_init('https://api.growsumo.com/v1/actions');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$auth = '<GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY>';

$data = [
    'customer_key' => 'cus_a80SV515feLAA',
    'name'   => 'Payment Success',
  	'value' => 20
];

curl_setopt($ch, CURLOPT_USERPWD, $auth);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$response = curl_exec($ch);

curl_close($ch);

if($response === false || $response['http_code'] != 200) {
	if (curl_error($ch)) {
  	$response .= "\n  ". curl_error($ch); 
  } 
}

echo($response);
?>
A binary file was returned

You couldn't be authenticated

{
    "adata": null,
    "bdata": null,
    "message": "Event tracked",
    "rdata": null,
    "status": 200
}

Body Params

customer_key
string
required

The customer that took the action

name
string
required

The name of the action. Should match the reward trigger setup in GrowSumo.

value
int32

Optional counter of action taken

 
Suggest Edits

Transactions Overview

Tell GrowSumo a customer has made a purchase

 

Description

Transactions represent a purchase that a Customer has made. They are linked through the customer_key listed below.

A Transaction has a key that uniquely identifies it.

Model

Attribute
Type
Description
Limit
Example

key

string

Unique immutable identifier set on creation

255

tran_a80cb515fe

customer_key

string

Key of the customer the transaction is tied to

255

cus_a80cb515fe

partner_key

string

Key of the partner who referred the customer

255

bertramgilfoyle

amount

integer

The amount of the transaction in cents. For example, 9000 == $90.00

1000000

9000

currency

string

Must be the ISO 3 character code

3

USD

test

boolean

True if created in test environment

true

created_at

unix timestamp

Immutable Unix timestamp in milliseconds taken at time of last update

1472503412153

updated_at

unix timestamp

Unix timestamp in milliseconds taken at time of last update

1472503412153

Suggest Edits

Create Transaction

Creates a new Subscription

 
posthttps://api.growsumo.com/v1/customers/customer_key/transactions
var request = require("request");

var options = {
  method: 'POST',
  url: 'https://api.growsumo.com/v1/customers/cus_A2ns20a2L93/transactions',
  auth: {
	  'user': "<GROWSUMO_PUBLIC_KEY>",
	  'pass': "<GROWSUMO_PRIVATE_KEY>"
  },
  body: JSON.stringify({
      customer_key: "cus_A2ns20a2L93",
      amount: 3000,
      currency: "USD",
  }),
 };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request POST \
    -H "Content-Type: application/json" \
    -u <GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY> \
    -d '{"key":"tran_a80cb515fe","amount":3000,"currency":"USD"}' \
    --url "https://api.growsumo.com/v1/customers/cus_A2ns20a2L93/transactions"
import requests
import json

url = "https://api.growsumo.com/v1/customers/cus_A2ns20a2L93/transactions"

headers = {'Content-Type': "application/json"}

auth=('<GROWSUMO_PUBLIC_KEY>', '<GROWSUMO_PRIVATE_KEY>')

data=json.dumps({
    "key": "tran_a80cb515fe",
    "amount":3000,
    "currency": "USD",
})

response = requests.request("POST", url, headers=headers, auth=auth, data=data)

print(response.text)
function reqListener () {
  console.log(this.responseText);
}

var url = "https://api.growsumo.com/v1/customers/cus_A2ns20a2L93/transactions";
var auth = "<GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY>"
var data = JSON.stringify({
    key: "tran_a80cb515fe",
    amount:3000,
    currency: "USD",
});

var XMLReq = new XMLHttpRequest();

XMLReq.addEventListener("load", reqListener);
XMLReq.open("POST", url, false);
XMLReq.setRequestHeader("Authorization", "Basic " + btoa(auth));
XMLReq.send(data);
<?php
$ch = curl_init('https://api.growsumo.com/v1/customers/cus_a80SV515feLAA/transactions');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$auth = '<GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY>';

$data = [
    'key': 'tran_a80cb515fe',
    'amount':3000,
    'currency': 'USD',
];

curl_setopt($ch, CURLOPT_USERPWD, $auth);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$response = curl_exec($ch);

curl_close($ch);

if($response === false || $response['http_code'] != 200) {
	if (curl_error($ch)) {
  	$response .= "\n  ". curl_error($ch); 
  } 
}

echo($response);
?>
A binary file was returned

You couldn't be authenticated

{
  "status": 200,
  "message": "Transaction created",
  "rdata": {
    "key": "tran_a80cb515fe",
    "customer_key": "cus_A2ns20a2L93",
    "partner_key": "bertramgilfoyle",
    "amount":3000,
    "currency": "USD",
    "created_at":1472503412153,
    "updated_at":1472503412153,
    "test": false,
  }
}
{
  "status": 400,
  "error": "Bad Request, illegal input for operation",
  "message": "Bad Request, illegal input for operation"
}
{
  "status": 401,
  "error": "Unauthorized, you credentials were invalid",
  "message": "Unauthorized, you credentials were invalid"
}
{
  "status": 403,
  "error": "Forbidden, you are not allowed to do this",
  "message": "Forbidden, you are not allowed to do this"
}
{
  "status": 404,
  "error": "Not Found, could not find the requested resource",
  "message": "Not Found, could not find the requested resource"
}
{
  "status": 500,
  "error": "Internal Server Error, something went wrong",
  "message": "Internal Server Error, something went wrong"
}

Path Params

customer_key
string
required

(e.g. cus_a80cb515fe) A unique identifier used to reference the customer

Body Params

key
string

(e.g. tran_a80cb515fe) A unique identifier used to reference the Transaction

amount
int32

(e.g. 2000) The amount of the transaction in cents. For example, 2000 == $20.00

currency
string

(e.g. USD) Must be the ISO 3 character code, a list of supported currencies can be found in API Summary

product_key
string

(e.g. productABC ) Only required for Custom Product offers. A unique identifier used to reference a product.

 
Suggest Edits

Archive Transaction

 
deletehttps://api.growsumo.com/v1/customers/customer_key/transactions/transaction_key
var request = require("request");

var options = {
  method: 'DELETE',
  url: 'https://api.growsumo.com/v1/customers/cus_a80SV515feLAAas/transactions/tran_a80cb515fe',
  auth: {
	  'user': "<GROWSUMO_PUBLIC_KEY>",
	  'pass': "<GROWSUMO_PRIVATE_KEY>"
  },
 };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
curl --request DELETE \
    -H "Content-Type: application/json" \
    -u <GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY> \
    -d '{"customer_key":"cus_A2ns20a2L93","transaction_key":"tran_a80cb515fe"}' \
    --url "https://api.growsumo.com/v1/customers/cus_A2ns20a2L93/transactions/tran_a80cb515fe"
import requests
import json

url = "https://api.growsumo.com/v1/customers/cus_a80SV515feLAAas/transactions/tran_a80cb515fe"

headers = {'Content-Type': "application/json"}

auth=('<GROWSUMO_PUBLIC_KEY>', '<GROWSUMO_PRIVATE_KEY>')

response = requests.request("DELETE", url, headers=headers, auth=auth)

print(response.text)
function reqListener () {
  console.log(this.responseText);
}

var url = "https://api.growsumo.com/v1/customers/cus_A2ns20a2L93/transactions/tran_a80cb515fe";
var auth = "<GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY>"

var XMLReq = new XMLHttpRequest();

XMLReq.addEventListener("load", reqListener);
XMLReq.open("DELETE", url, false);
XMLReq.setRequestHeader("Authorization", "Basic " + btoa(auth));
XMLReq.send();
<?php
$ch = curl_init('https://api.growsumo.com/v1/customers/cus_a80SV515feLAA/transactions/tran_a80cb515fe');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$auth = '<GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY>';

curl_setopt($ch, CURLOPT_USERPWD, $auth);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");

$response = curl_exec($ch);

curl_close($ch);

if($response === false || $response['http_code'] != 200) {
	if (curl_error($ch)) {
  	$response .= "\n  ". curl_error($ch); 
  } 
}

echo($response);
?>
A binary file was returned

You couldn't be authenticated

{
  "status": 200,
  "message": "Transaction archived",
}
{
  "status": 400,
  "error": "Bad Request, illegal input for operation",
  "message": "Bad Request, illegal input for operation"
}
{
  "status": 401,
  "error": "Unauthorized, you credentials were invalid",
  "message": "Unauthorized, you credentials were invalid"
}
{
  "status": 403,
  "error": "Forbidden, you are not allowed to do this",
  "message": "Forbidden, you are not allowed to do this"
}
{
  "status": 404,
  "error": "Not Found, could not find the requested resource",
  "message": "Not Found, could not find the requested resource"
}
{
  "status": 500,
  "error": "Internal Server Error, something went wrong",
  "message": "Internal Server Error, something went wrong"
}

Path Params

customer_key
string
required

(e.g. cus_a80cb515fe) A unique identifier used to reference the customer

transaction_key
string
required

(e.g. tran_a80cb515fe) A unique identifier used to reference the Transaction

 
Suggest Edits

Partnerships Overview

Create a partner within GrowSumo

 

Description

Partners represent users on GrowSumo that will be promoting your company.

Partners created through this endpoint will not join your program until they accept the invitation sent to their email.

Arttribute
Type
Description
Limit

first_name

string

The first name the partner

30

last_name

string

The last name of the partner

40

email

string

The email of the partner

200

group

string

Name of the group that you wish this partner to be placed into. Group must already be created within GrowSumo (if excluded partner will be placed into default group)

partner_key

string

The partner_key you wish to use for this partner. If included, must be unique to this partner. For more information on partner_key see GrowSumoJS

255

meta

object

Contains ref value used for internal tracking.

Example,
"partner_LP_v2"

Suggest Edits

Create Partnership

 
posthttps://api.growsumo.com/v1/partnerships/public_key
// JSON 
var request = require("request");

var options = {
  method: 'POST',
  url: 'https://api.growsumo.com/v1/partnerships/<PUBLIC_KEY>',
    body: JSON.stringify({
      first_name: "John",
      last_name: "Smith",
      partner_key: "jsmith",
      group: "Top Earners",
      email: "johnsmith@gmail.com",
      metadata: {'ref': 'landing_page'}
  }),
 };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

// Form data
var formData = require('form-data');
var form = new FormData();

form.append('first_name', 'John');
form.append('last_name', 'Smith');
form.append('partner_key', 'jsmith');
form.append('group', 'Top Earners');
form.append('email', 'johnsmith@gmail.com');
form.append('metadata', {'ref': 'landing_page'});

form.submit('https://api.growsumo.com/v1/partnerships/<PUBLIC_KEY>', function(err, res) {
  console.log(res.statusCode);
});
curl --request POST \
    -H "Content-Type: application/json" \
    -d '{"partner_key":"jsmith","email":"johnsmith@gmail.com","first_name":"John", "last_name":"Smith","group":"Top Earners", "metadata": {"ref":"landing_page"}}' \
    --url "https://api.growsumo.com/v1/partnerships/<PUBLIC_KEY>"
import requests
import json

url = "https://api.growsumo.com/v1/partnerships/<PUBLIC_KEY>"

headers = {'Content-Type': "application/json"}

# May also attach as form data (without doing json.dumps)
data=json.dumps({
    "first_name": "John",
    "last_name": "Smith",
    "partner_key": "jsmith",
    "group": "Top Earners",
    "email": "johnsmith@gmail.com",
    "metadata": {'ref': 'landing_page'}
})

response = requests.request("POST", url, headers=headers, data=data)

print(response.text)
function reqListener () {
  console.log(this.responseText);
}
// JSON
var data = JSON.stringify({
      first_name: "John",
      last_name: "Smith",
      partner_key: "jsmith",
      group: "Top Earners",
      email: "johnsmith@gmail.com",
      metadata: {'ref': 'landing_page'}
  }),
var XMLReq = new XMLHttpRequest();

XMLReq.addEventListener("load", reqListener);
XMLReq.open("POST","https://api.growsumo.com/v1/partnerships/<PUBLIC_KEY>",false);
XMLReq.send(data);

// Form Data
var XMLReq = new XMLHttpRequest();
var form = new FormData();
form.append('first_name', 'John');
form.append('last_name', 'Smith');
form.append('partner_key', 'jsmith');
form.append('group', 'Top Earners');
form.append('email', 'johnsmith@gmail.com');
form.append('metadata', {'ref': 'landing_page'});
XMLReq.open("POST","https://api.growsumo.com/v1/partnerships/<PUBLIC_KEY>",false););
XMLReq.send(form);
<?php
$ch = curl_init('https://api.growsumo.com/v1/partnerships/<GROWSUMO_PUBLIC_KEY>');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$auth = '<GROWSUMO_PUBLIC_KEY>:<GROWSUMO_PRIVATE_KEY>'

$data = [
    'first_name' => 'John',
  	'last_name' => 'Smith',
  	'partner_key' => 'jsmith',
  	'group' => 'Top Earners',
    'email' => 'johnsmith@gmail.com',
    'metadata' => {'ref' => 'landing_page'},
];

curl_setopt($ch, CURLOPT_USERPWD, $auth);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$response = curl_exec($ch);

curl_close($ch);

if($response === false || $response['http_code'] != 200) {
	if (curl_error($ch)) {
  	$response .= "\n  ". curl_error($ch); 
  } 
}

echo($response);
?>
A binary file was returned

You couldn't be authenticated

{
  "status": 200,
  "message": "Signup Successful!",
}
{
  "status": 400,
  "error": "Bad Request, illegal input for operation",
  "message": "Bad Request, illegal input for operation"
}
{
  "status": 500,
  "error": "Internal Server Error, something went wrong",
  "message": "Internal Server Error, something went wrong"
}

Path Params

public_key
string
required

(e.g. "pk_UIWXFxmzXSnp4TSBdWYhgGwhT9yVkeoS") Your live production public key found in your integration settings.

Body Params

email
string
required

(e.g. johnsmith@gmail.com) The email of the person you want to create a partnership with

first_name
string

(e.g. John) The first name of the person you want to make a partnership with

last_name
string

(e.g. Smith) The last name of the person you want to make a partnership with

group
string

(e.g. Top Earners) The name of the group within GrowSumo that you want this partner to be placed into

partner_key
string

(e.g. jsmith) The partner_key that you want to assign to this partner, note that this must be unique from any other partner_key in your program. If left empty GrowSumo will create a partner_key

metadata
object

(e.g. {ref:landing_page}) An internal reference that you wish to apply to this partnership for tracking purposes