Create Project
curl --request POST \
--url https://api.teleskop.dev/projects \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "Turkish Airlines",
"languages": [
"tr",
"en"
],
"channels": [
"news",
"twitter"
],
"keywords": [
{
"main_keyword": "Turkish Airlines",
"required_keywords": [
"Istanbul Airport"
],
"excluded_keywords": [
"Sabiha Gökçen"
],
"id": "c167d51e-7249-4430-a13e-043eab185b58"
}
],
"members_ids": []
}
'import requests
url = "https://api.teleskop.dev/projects"
payload = {
"name": "Turkish Airlines",
"languages": ["tr", "en"],
"channels": ["news", "twitter"],
"keywords": [
{
"main_keyword": "Turkish Airlines",
"required_keywords": ["Istanbul Airport"],
"excluded_keywords": ["Sabiha Gökçen"],
"id": "c167d51e-7249-4430-a13e-043eab185b58"
}
],
"members_ids": []
}
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: 'Turkish Airlines',
languages: ['tr', 'en'],
channels: ['news', 'twitter'],
keywords: [
{
main_keyword: 'Turkish Airlines',
required_keywords: ['Istanbul Airport'],
excluded_keywords: ['Sabiha Gökçen'],
id: 'c167d51e-7249-4430-a13e-043eab185b58'
}
],
members_ids: []
})
};
fetch('https://api.teleskop.dev/projects', 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.teleskop.dev/projects",
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' => 'Turkish Airlines',
'languages' => [
'tr',
'en'
],
'channels' => [
'news',
'twitter'
],
'keywords' => [
[
'main_keyword' => 'Turkish Airlines',
'required_keywords' => [
'Istanbul Airport'
],
'excluded_keywords' => [
'Sabiha Gökçen'
],
'id' => 'c167d51e-7249-4430-a13e-043eab185b58'
]
],
'members_ids' => [
]
]),
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.teleskop.dev/projects"
payload := strings.NewReader("{\n \"name\": \"Turkish Airlines\",\n \"languages\": [\n \"tr\",\n \"en\"\n ],\n \"channels\": [\n \"news\",\n \"twitter\"\n ],\n \"keywords\": [\n {\n \"main_keyword\": \"Turkish Airlines\",\n \"required_keywords\": [\n \"Istanbul Airport\"\n ],\n \"excluded_keywords\": [\n \"Sabiha Gökçen\"\n ],\n \"id\": \"c167d51e-7249-4430-a13e-043eab185b58\"\n }\n ],\n \"members_ids\": []\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.teleskop.dev/projects")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Turkish Airlines\",\n \"languages\": [\n \"tr\",\n \"en\"\n ],\n \"channels\": [\n \"news\",\n \"twitter\"\n ],\n \"keywords\": [\n {\n \"main_keyword\": \"Turkish Airlines\",\n \"required_keywords\": [\n \"Istanbul Airport\"\n ],\n \"excluded_keywords\": [\n \"Sabiha Gökçen\"\n ],\n \"id\": \"c167d51e-7249-4430-a13e-043eab185b58\"\n }\n ],\n \"members_ids\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.teleskop.dev/projects")
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\": \"Turkish Airlines\",\n \"languages\": [\n \"tr\",\n \"en\"\n ],\n \"channels\": [\n \"news\",\n \"twitter\"\n ],\n \"keywords\": [\n {\n \"main_keyword\": \"Turkish Airlines\",\n \"required_keywords\": [\n \"Istanbul Airport\"\n ],\n \"excluded_keywords\": [\n \"Sabiha Gökçen\"\n ],\n \"id\": \"c167d51e-7249-4430-a13e-043eab185b58\"\n }\n ],\n \"members_ids\": []\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"statusCode": 200,
"data": {
"name": "Turkish Airlines",
"languages": [
"tr",
"en"
],
"channels": [
"news",
"twitter"
],
"keywords": [
{
"main_keyword": "Turkish Airlines",
"required_keywords": [
"Istanbul Airport"
],
"excluded_keywords": [
"Sabiha Gökçen"
],
"id": "c167d51e-7249-4430-a13e-043eab185b58"
}
],
"id": "c0bb3b48-60eb-4afe-a229-3207e7ad800a",
"keywords_count": 1,
"creator_id": "a76ea981-f007-44e6-b4d7-2dbdc61ce338",
"workspace_id": "2cca4ace-63a0-41f0-a73f-0b8abe2909a5",
"workspace_name": "My Organization",
"created_at": "2025-07-29T13:37:12.547Z",
"updated_at": "2025-07-29T13:37:12.547Z",
"members_ids": []
},
"message": "Request successful",
"metadata": {}
}Projects
Create Project
Creates a new project in your workspace.
POST
/
projects
Create Project
curl --request POST \
--url https://api.teleskop.dev/projects \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "Turkish Airlines",
"languages": [
"tr",
"en"
],
"channels": [
"news",
"twitter"
],
"keywords": [
{
"main_keyword": "Turkish Airlines",
"required_keywords": [
"Istanbul Airport"
],
"excluded_keywords": [
"Sabiha Gökçen"
],
"id": "c167d51e-7249-4430-a13e-043eab185b58"
}
],
"members_ids": []
}
'import requests
url = "https://api.teleskop.dev/projects"
payload = {
"name": "Turkish Airlines",
"languages": ["tr", "en"],
"channels": ["news", "twitter"],
"keywords": [
{
"main_keyword": "Turkish Airlines",
"required_keywords": ["Istanbul Airport"],
"excluded_keywords": ["Sabiha Gökçen"],
"id": "c167d51e-7249-4430-a13e-043eab185b58"
}
],
"members_ids": []
}
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: 'Turkish Airlines',
languages: ['tr', 'en'],
channels: ['news', 'twitter'],
keywords: [
{
main_keyword: 'Turkish Airlines',
required_keywords: ['Istanbul Airport'],
excluded_keywords: ['Sabiha Gökçen'],
id: 'c167d51e-7249-4430-a13e-043eab185b58'
}
],
members_ids: []
})
};
fetch('https://api.teleskop.dev/projects', 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.teleskop.dev/projects",
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' => 'Turkish Airlines',
'languages' => [
'tr',
'en'
],
'channels' => [
'news',
'twitter'
],
'keywords' => [
[
'main_keyword' => 'Turkish Airlines',
'required_keywords' => [
'Istanbul Airport'
],
'excluded_keywords' => [
'Sabiha Gökçen'
],
'id' => 'c167d51e-7249-4430-a13e-043eab185b58'
]
],
'members_ids' => [
]
]),
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.teleskop.dev/projects"
payload := strings.NewReader("{\n \"name\": \"Turkish Airlines\",\n \"languages\": [\n \"tr\",\n \"en\"\n ],\n \"channels\": [\n \"news\",\n \"twitter\"\n ],\n \"keywords\": [\n {\n \"main_keyword\": \"Turkish Airlines\",\n \"required_keywords\": [\n \"Istanbul Airport\"\n ],\n \"excluded_keywords\": [\n \"Sabiha Gökçen\"\n ],\n \"id\": \"c167d51e-7249-4430-a13e-043eab185b58\"\n }\n ],\n \"members_ids\": []\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.teleskop.dev/projects")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Turkish Airlines\",\n \"languages\": [\n \"tr\",\n \"en\"\n ],\n \"channels\": [\n \"news\",\n \"twitter\"\n ],\n \"keywords\": [\n {\n \"main_keyword\": \"Turkish Airlines\",\n \"required_keywords\": [\n \"Istanbul Airport\"\n ],\n \"excluded_keywords\": [\n \"Sabiha Gökçen\"\n ],\n \"id\": \"c167d51e-7249-4430-a13e-043eab185b58\"\n }\n ],\n \"members_ids\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.teleskop.dev/projects")
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\": \"Turkish Airlines\",\n \"languages\": [\n \"tr\",\n \"en\"\n ],\n \"channels\": [\n \"news\",\n \"twitter\"\n ],\n \"keywords\": [\n {\n \"main_keyword\": \"Turkish Airlines\",\n \"required_keywords\": [\n \"Istanbul Airport\"\n ],\n \"excluded_keywords\": [\n \"Sabiha Gökçen\"\n ],\n \"id\": \"c167d51e-7249-4430-a13e-043eab185b58\"\n }\n ],\n \"members_ids\": []\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"statusCode": 200,
"data": {
"name": "Turkish Airlines",
"languages": [
"tr",
"en"
],
"channels": [
"news",
"twitter"
],
"keywords": [
{
"main_keyword": "Turkish Airlines",
"required_keywords": [
"Istanbul Airport"
],
"excluded_keywords": [
"Sabiha Gökçen"
],
"id": "c167d51e-7249-4430-a13e-043eab185b58"
}
],
"id": "c0bb3b48-60eb-4afe-a229-3207e7ad800a",
"keywords_count": 1,
"creator_id": "a76ea981-f007-44e6-b4d7-2dbdc61ce338",
"workspace_id": "2cca4ace-63a0-41f0-a73f-0b8abe2909a5",
"workspace_name": "My Organization",
"created_at": "2025-07-29T13:37:12.547Z",
"updated_at": "2025-07-29T13:37:12.547Z",
"members_ids": []
},
"message": "Request successful",
"metadata": {}
}Authorizations
API Key for authentication
Body
application/json
Display name of the project
Example:
"Turkish Airlines"
Selected languages for this project
Example:
["tr", "en"]
Selected channels for this project
Example:
["news", "twitter"]
Array of keyword objects, each containing main_keyword, required_keywords, and excluded_keywords.
Show child attributes
Show child attributes
Response
201 - application/json
Project created successfully
Response status
Available options:
success, error Example:
"success"
HTTP status code
Example:
200
Response data
Show child attributes
Show child attributes
Response message
Example:
"Request successful"
Additional metadata
⌘I