contract
Create a new subscription for a contract
Create a new subscription for a contract
POST
/
v0
/
contract-subscription
Create a new subscription for a contract
curl --request POST \
--url https://{hostname}.gable.ai/v0/contract-subscription \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"dataContractId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"githubHandle": "<string>",
"slackChannel": "<string>"
}
'import requests
url = "https://{hostname}.gable.ai/v0/contract-subscription"
payload = {
"dataContractId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"githubHandle": "<string>",
"slackChannel": "<string>"
}
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({
dataContractId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
userId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
email: '<string>',
githubHandle: '<string>',
slackChannel: '<string>'
})
};
fetch('https://{hostname}.gable.ai/v0/contract-subscription', 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://{hostname}.gable.ai/v0/contract-subscription",
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([
'dataContractId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'userId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'email' => '<string>',
'githubHandle' => '<string>',
'slackChannel' => '<string>'
]),
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://{hostname}.gable.ai/v0/contract-subscription"
payload := strings.NewReader("{\n \"dataContractId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"email\": \"<string>\",\n \"githubHandle\": \"<string>\",\n \"slackChannel\": \"<string>\"\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://{hostname}.gable.ai/v0/contract-subscription")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"dataContractId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"email\": \"<string>\",\n \"githubHandle\": \"<string>\",\n \"slackChannel\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{hostname}.gable.ai/v0/contract-subscription")
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 \"dataContractId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"email\": \"<string>\",\n \"githubHandle\": \"<string>\",\n \"slackChannel\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dataContractId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"githubHandle": "<string>",
"slackChannel": "<string>"
}{
"message": "<string>",
"id": 123,
"title": "<string>"
}{
"message": "<string>",
"id": 123,
"title": "<string>"
}Authorizations
Body
application/json
Subscription to create
Unique identifier of the contract
The unique identifier of the user
The email address of the subscriber if provided
Pattern:
^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$The GitHub handle of the subscriber
The Slack channel where contract violations will be sent
Response
Contract subscription was successfully created
The unique identifier of the subscription
Unique identifier of the contract
The unique identifier of the user
The email address of the subscriber if provided
Pattern:
^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$The GitHub handle of the subscriber if provided
The Slack channel where contract violations will be sent
⌘I
Create a new subscription for a contract
curl --request POST \
--url https://{hostname}.gable.ai/v0/contract-subscription \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"dataContractId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"githubHandle": "<string>",
"slackChannel": "<string>"
}
'import requests
url = "https://{hostname}.gable.ai/v0/contract-subscription"
payload = {
"dataContractId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"githubHandle": "<string>",
"slackChannel": "<string>"
}
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({
dataContractId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
userId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
email: '<string>',
githubHandle: '<string>',
slackChannel: '<string>'
})
};
fetch('https://{hostname}.gable.ai/v0/contract-subscription', 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://{hostname}.gable.ai/v0/contract-subscription",
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([
'dataContractId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'userId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'email' => '<string>',
'githubHandle' => '<string>',
'slackChannel' => '<string>'
]),
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://{hostname}.gable.ai/v0/contract-subscription"
payload := strings.NewReader("{\n \"dataContractId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"email\": \"<string>\",\n \"githubHandle\": \"<string>\",\n \"slackChannel\": \"<string>\"\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://{hostname}.gable.ai/v0/contract-subscription")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"dataContractId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"email\": \"<string>\",\n \"githubHandle\": \"<string>\",\n \"slackChannel\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{hostname}.gable.ai/v0/contract-subscription")
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 \"dataContractId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"userId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"email\": \"<string>\",\n \"githubHandle\": \"<string>\",\n \"slackChannel\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dataContractId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"githubHandle": "<string>",
"slackChannel": "<string>"
}{
"message": "<string>",
"id": 123,
"title": "<string>"
}{
"message": "<string>",
"id": 123,
"title": "<string>"
}