curl --request POST \
--url https://api.sandbox.goteal.co/authorisations/terms \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"name": "Data Sharing Agreement",
"authorisation_text": "I agree to share my payroll data with the lender for the purpose of income verification.",
"authorisation_category": "one_time",
"deactivate_previous": true
}
'import requests
url = "https://api.sandbox.goteal.co/authorisations/terms"
payload = {
"name": "Data Sharing Agreement",
"authorisation_text": "I agree to share my payroll data with the lender for the purpose of income verification.",
"authorisation_category": "one_time",
"deactivate_previous": True
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Data Sharing Agreement',
authorisation_text: 'I agree to share my payroll data with the lender for the purpose of income verification.',
authorisation_category: 'one_time',
deactivate_previous: true
})
};
fetch('https://api.sandbox.goteal.co/authorisations/terms', 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.sandbox.goteal.co/authorisations/terms",
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([
'name' => 'Data Sharing Agreement',
'authorisation_text' => 'I agree to share my payroll data with the lender for the purpose of income verification.',
'authorisation_category' => 'one_time',
'deactivate_previous' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$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.sandbox.goteal.co/authorisations/terms"
payload := strings.NewReader("{\n \"name\": \"Data Sharing Agreement\",\n \"authorisation_text\": \"I agree to share my payroll data with the lender for the purpose of income verification.\",\n \"authorisation_category\": \"one_time\",\n \"deactivate_previous\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
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.sandbox.goteal.co/authorisations/terms")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Data Sharing Agreement\",\n \"authorisation_text\": \"I agree to share my payroll data with the lender for the purpose of income verification.\",\n \"authorisation_category\": \"one_time\",\n \"deactivate_previous\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.goteal.co/authorisations/terms")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Data Sharing Agreement\",\n \"authorisation_text\": \"I agree to share my payroll data with the lender for the purpose of income verification.\",\n \"authorisation_category\": \"one_time\",\n \"deactivate_previous\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "550e8400-e29b-41d4-a716-446655440000",
"is_active": true,
"is_system_term": false,
"authorisation_version": 1,
"created_at": "2019-05-17T00:00:00.000Z",
"name": "Data Sharing Agreement",
"authorisation_text": "I agree to share my payroll data with the lender for the purpose of income verification.",
"authorisation_category": "one_time"
}{
"errors": [
"The request is missing the required field `name`"
]
}{
"errors": [
"No X-API-KEY header provided or wrong value"
]
}{
"errors": [
"This user already exists. [name] and [email] must be a unique combination"
]
}Create an Authorisation Term
curl --request POST \
--url https://api.sandbox.goteal.co/authorisations/terms \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"name": "Data Sharing Agreement",
"authorisation_text": "I agree to share my payroll data with the lender for the purpose of income verification.",
"authorisation_category": "one_time",
"deactivate_previous": true
}
'import requests
url = "https://api.sandbox.goteal.co/authorisations/terms"
payload = {
"name": "Data Sharing Agreement",
"authorisation_text": "I agree to share my payroll data with the lender for the purpose of income verification.",
"authorisation_category": "one_time",
"deactivate_previous": True
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Data Sharing Agreement',
authorisation_text: 'I agree to share my payroll data with the lender for the purpose of income verification.',
authorisation_category: 'one_time',
deactivate_previous: true
})
};
fetch('https://api.sandbox.goteal.co/authorisations/terms', 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.sandbox.goteal.co/authorisations/terms",
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([
'name' => 'Data Sharing Agreement',
'authorisation_text' => 'I agree to share my payroll data with the lender for the purpose of income verification.',
'authorisation_category' => 'one_time',
'deactivate_previous' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$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.sandbox.goteal.co/authorisations/terms"
payload := strings.NewReader("{\n \"name\": \"Data Sharing Agreement\",\n \"authorisation_text\": \"I agree to share my payroll data with the lender for the purpose of income verification.\",\n \"authorisation_category\": \"one_time\",\n \"deactivate_previous\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
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.sandbox.goteal.co/authorisations/terms")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Data Sharing Agreement\",\n \"authorisation_text\": \"I agree to share my payroll data with the lender for the purpose of income verification.\",\n \"authorisation_category\": \"one_time\",\n \"deactivate_previous\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.goteal.co/authorisations/terms")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Data Sharing Agreement\",\n \"authorisation_text\": \"I agree to share my payroll data with the lender for the purpose of income verification.\",\n \"authorisation_category\": \"one_time\",\n \"deactivate_previous\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "550e8400-e29b-41d4-a716-446655440000",
"is_active": true,
"is_system_term": false,
"authorisation_version": 1,
"created_at": "2019-05-17T00:00:00.000Z",
"name": "Data Sharing Agreement",
"authorisation_text": "I agree to share my payroll data with the lender for the purpose of income verification.",
"authorisation_category": "one_time"
}{
"errors": [
"The request is missing the required field `name`"
]
}{
"errors": [
"No X-API-KEY header provided or wrong value"
]
}{
"errors": [
"This user already exists. [name] and [email] must be a unique combination"
]
}Authorizations
Body
Human-readable name for the authorisation term
"Data Sharing Agreement"
The legal authorisation text that users will accept
"I agree to share my payroll data with the lender for the purpose of income verification."
The category of authorisation
one_time, recurring "one_time"
If true, deactivates any existing active term for the same category. Defaults to false.
true
Response
Created
Unique identifier for the authorisation term
"550e8400-e29b-41d4-a716-446655440000"
Whether this authorisation term is currently active and can be accepted
true
True for Teal's default terms, false for client-created terms
false
Auto-incremented version number for the authorisation term
1
When the authorisation term was created
"2019-05-17T00:00:00.000Z"
Human-readable name for the authorisation term
"Data Sharing Agreement"
The legal authorisation text that users will accept
"I agree to share my payroll data with the lender for the purpose of income verification."
The category of authorisation
one_time, recurring "one_time"