REST API

Use the REST API to add new participants, trigger referrals, get campaign data, and get participant data from a secure environment.

Getting started

Note: The REST API is only available to users on a GrowSurf paid plan.

Step 1: Get your API key

  1. Go to your GrowSurf Account page

  2. Generate a new API key (if you don't already have one) or click on your existing API key to copy it to your clipboard

Your API key holds many privileges, so be sure to keep it secure! Do not share your API key in publicly accessible areas such as GitHub, Bitbucket, client code, etc.

Step 2: Set up authentication

The GrowSurf REST API uses your API key to authenticate requests. Here's how to set up authentication:

  1. Set a plain text header named Authorization with the contents being Bearer <YOUR_API_ACCESS_KEY> where <YOUR_API_ACCESS_KEY> is your API key.

Example Authenticated Request

cURL
Java
Node.js
Python
PHP
Go
curl -X "GET" "https://api.growsurf.com/v2/campaign/4pdlhb" -H "Authorization: Bearer TWZ4X4NXESMX03MT66HHS6Z9Z91E"
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://api.growsurf.com/v2/campaign/4pdlhb")
.get()
.addHeader("Authorization", "Bearer TWZ4X4NXESMX03MT66HHS6Z9Z91E")
.build();
Response response = client.newCall(request).execute();
const request = require("request");
const options = {
method: 'GET',
url: 'https://api.growsurf.com/v2/campaign/4pdlhb',
headers: {
Authorization: 'Bearer TWZ4X4NXESMX03MT66HHS6Z9Z91E'
}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import requests
url = "https://api.growsurf.com/v2/campaign/4pdlhb"
headers = {
'Authorization': "Bearer TWZ4X4NXESMX03MT66HHS6Z9Z91E"
}
response = requests.request("GET", url, headers=headers)
print(response.text)
<?php
$request = new HttpRequest();
$request->setUrl('https://api.growsurf.com/v2/campaign/4pdlhb');
$request->setMethod(HTTP_METH_GET);
$request->setHeaders(array(
'Authorization' => 'Bearer TWZ4X4NXESMX03MT66HHS6Z9Z91E'
));
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.growsurf.com/v2/campaign/4pdlhb"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer TWZ4X4NXESMX03MT66HHS6Z9Z91E")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}

Base URL

All endpoints for the GrowSurf REST API start with the same base URL:

https://api.growsurf.com/v2

Next steps

View our Tutorials for implementing REST API methods, or view documentation:

Run in Postman