curl --request POST \
--url https://api.dub.co/program-applications/approve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"partnerId": "<string>",
"applicationId": "<string>",
"groupId": "<string>",
"tagIds": [
"<string>"
],
"tagNames": [
"<string>"
]
}
'import requests
url = "https://api.dub.co/program-applications/approve"
payload = {
"partnerId": "<string>",
"applicationId": "<string>",
"groupId": "<string>",
"tagIds": ["<string>"],
"tagNames": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
partnerId: '<string>',
applicationId: '<string>',
groupId: '<string>',
tagIds: ['<string>'],
tagNames: ['<string>']
})
};
fetch('https://api.dub.co/program-applications/approve', 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.dub.co/program-applications/approve",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'partnerId' => '<string>',
'applicationId' => '<string>',
'groupId' => '<string>',
'tagIds' => [
'<string>'
],
'tagNames' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.dub.co/program-applications/approve"
payload := strings.NewReader("{\n \"partnerId\": \"<string>\",\n \"applicationId\": \"<string>\",\n \"groupId\": \"<string>\",\n \"tagIds\": [\n \"<string>\"\n ],\n \"tagNames\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.dub.co/program-applications/approve")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"partnerId\": \"<string>\",\n \"applicationId\": \"<string>\",\n \"groupId\": \"<string>\",\n \"tagIds\": [\n \"<string>\"\n ],\n \"tagNames\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dub.co/program-applications/approve")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"partnerId\": \"<string>\",\n \"applicationId\": \"<string>\",\n \"groupId\": \"<string>\",\n \"tagIds\": [\n \"<string>\"\n ],\n \"tagNames\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"partnerId": "<string>"
}{
"error": {
"code": "bad_request",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#bad-request"
}
}{
"error": {
"code": "unauthorized",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#unauthorized"
}
}{
"error": {
"code": "forbidden",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#forbidden"
}
}{
"error": {
"code": "not_found",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#not-found"
}
}{
"error": {
"code": "conflict",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#conflict"
}
}{
"error": {
"code": "invite_expired",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#invite-expired"
}
}{
"error": {
"code": "unprocessable_entity",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#unprocessable-entity"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#rate-limit_exceeded"
}
}{
"error": {
"code": "internal_server_error",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#internal-server_error"
}
}Approve a partner application
Approve a pending partner application to your program. The partner will be enrolled in the specified group and notified of the approval.
curl --request POST \
--url https://api.dub.co/program-applications/approve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"partnerId": "<string>",
"applicationId": "<string>",
"groupId": "<string>",
"tagIds": [
"<string>"
],
"tagNames": [
"<string>"
]
}
'import requests
url = "https://api.dub.co/program-applications/approve"
payload = {
"partnerId": "<string>",
"applicationId": "<string>",
"groupId": "<string>",
"tagIds": ["<string>"],
"tagNames": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
partnerId: '<string>',
applicationId: '<string>',
groupId: '<string>',
tagIds: ['<string>'],
tagNames: ['<string>']
})
};
fetch('https://api.dub.co/program-applications/approve', 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.dub.co/program-applications/approve",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'partnerId' => '<string>',
'applicationId' => '<string>',
'groupId' => '<string>',
'tagIds' => [
'<string>'
],
'tagNames' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.dub.co/program-applications/approve"
payload := strings.NewReader("{\n \"partnerId\": \"<string>\",\n \"applicationId\": \"<string>\",\n \"groupId\": \"<string>\",\n \"tagIds\": [\n \"<string>\"\n ],\n \"tagNames\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.dub.co/program-applications/approve")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"partnerId\": \"<string>\",\n \"applicationId\": \"<string>\",\n \"groupId\": \"<string>\",\n \"tagIds\": [\n \"<string>\"\n ],\n \"tagNames\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dub.co/program-applications/approve")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"partnerId\": \"<string>\",\n \"applicationId\": \"<string>\",\n \"groupId\": \"<string>\",\n \"tagIds\": [\n \"<string>\"\n ],\n \"tagNames\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"partnerId": "<string>"
}{
"error": {
"code": "bad_request",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#bad-request"
}
}{
"error": {
"code": "unauthorized",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#unauthorized"
}
}{
"error": {
"code": "forbidden",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#forbidden"
}
}{
"error": {
"code": "not_found",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#not-found"
}
}{
"error": {
"code": "conflict",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#conflict"
}
}{
"error": {
"code": "invite_expired",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#invite-expired"
}
}{
"error": {
"code": "unprocessable_entity",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#unprocessable-entity"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#rate-limit_exceeded"
}
}{
"error": {
"code": "internal_server_error",
"message": "The requested resource was not found.",
"doc_url": "https://dub.co/docs/api-reference/errors#internal-server_error"
}
}Authorizations
Default authentication mechanism
Body
The ID of the partner to approve.
The ID of the application to approve. If not provided, the partner's most recent pending or rejected application is used. For a partner who is already approved in the program, only a pending application is used.
The ID of the group to assign the partner to. If not provided, the partner will be assigned to the group they applied to, or the program's default group if no application group is set.
The IDs of the partner tags to assign as part of approval. Existing tags are kept. Takes priority over tagNames only when it contains at least one ID.
100The names of the partner tags to assign as part of approval. Existing tags are kept. Ignored only when tagIds contains at least one ID.
100Response
The approved partner
The ID of the approved partner.
Was this page helpful?