curl --request GET \
--url https://api.zapier.com/v2/promotions/{enrollment_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.zapier.com/v2/promotions/{enrollment_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.zapier.com/v2/promotions/{enrollment_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.zapier.com/v2/promotions/{enrollment_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.zapier.com/v2/promotions/{enrollment_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.zapier.com/v2/promotions/{enrollment_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zapier.com/v2/promotions/{enrollment_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"promotion_id": "test_promo",
"enrollment_date": "2026-04-28T00:00:00Z",
"expiration_date": "2026-07-26T23:59:59Z",
"task_limit_per_month": 5,
"tasks_used_this_month": 0,
"status": "enrolled"
}{
"errors": [
{
"status": "401",
"code": "not_authenticated",
"title": "User Not Authenticated",
"detail": "User must be authenticated to access this resource. No valid user access token was provided."
}
]
}{
"errors": [
{
"status": "403",
"code": "permission_denied",
"title": "Permission Denied",
"detail": "You do not have permission to perform this action."
}
]
}{
"errors": [
{
"status": "<string>",
"code": "<string>",
"title": "<string>",
"detail": "<string>"
}
]
}{
"errors": [
{
"status": "<string>",
"code": "<string>",
"title": "<string>",
"detail": "<string>"
}
]
}Get promotion enrollment
Retrieve promotion enrollment details by enrollment ID.
Endpoint available to Partners only. The request must be authenticated by a user access token that the user has granted to the Partner for the account.
If the promotion has an enrollment expiration period, expiration_date is the
date and time the enrollment expires, and status is expired once that
date has passed. expiration_date is null when the promotion has no
expiration period.
OAuth
This endpoint requires the promotions:read OAuth scope.
curl --request GET \
--url https://api.zapier.com/v2/promotions/{enrollment_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.zapier.com/v2/promotions/{enrollment_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.zapier.com/v2/promotions/{enrollment_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.zapier.com/v2/promotions/{enrollment_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.zapier.com/v2/promotions/{enrollment_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.zapier.com/v2/promotions/{enrollment_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zapier.com/v2/promotions/{enrollment_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"promotion_id": "test_promo",
"enrollment_date": "2026-04-28T00:00:00Z",
"expiration_date": "2026-07-26T23:59:59Z",
"task_limit_per_month": 5,
"tasks_used_this_month": 0,
"status": "enrolled"
}{
"errors": [
{
"status": "401",
"code": "not_authenticated",
"title": "User Not Authenticated",
"detail": "User must be authenticated to access this resource. No valid user access token was provided."
}
]
}{
"errors": [
{
"status": "403",
"code": "permission_denied",
"title": "Permission Denied",
"detail": "You do not have permission to perform this action."
}
]
}{
"errors": [
{
"status": "<string>",
"code": "<string>",
"title": "<string>",
"detail": "<string>"
}
]
}{
"errors": [
{
"status": "<string>",
"code": "<string>",
"title": "<string>",
"detail": "<string>"
}
]
}Authorizations
The user access token for the user you would like to enroll. See our OAuth2 authentication documentation.
Path Parameters
Response
Succcessful retrieval of promotion details
Succcessful retrieval of promotion details
The unique identifier for the promotion
Date and time of enrollment
Date and time when the enrollment expires. null when the promotion has no enrollment expiration period.
Maximum number of tasks allowed per monthly billing cycle
Number of tasks already used this monthly billing cycle (may not align with calendar month)
Current status of the enrollment. enrolled while the account is enrolled and within the task limit, expired once the enrollment expiration date has passed, and task_limit_exceeded when the account has used its promotional task limit for the billing cycle.
Was this page helpful?