Views
Create contact view
Creates a TalkToHumans contact view from specific contacts.
POST
https://api.talktohumans.app
/
v1
/
views
Create contact view
curl --request POST \
--url https://api.talktohumans.app/v1/views \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"account_id": "42",
"type": "contact",
"name": "Relevant leads",
"description": "Leads found in my network",
"filters": {
"specific_contacts": {
"contact_ids": [
"123",
"456"
]
}
}
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
account_id: '42',
type: 'contact',
name: 'Relevant leads',
description: 'Leads found in my network',
filters: {specific_contacts: {contact_ids: ['123', '456']}}
})
};
fetch('https://api.talktohumans.app/v1/views', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.talktohumans.app/v1/views"
payload = {
"account_id": "42",
"type": "contact",
"name": "Relevant leads",
"description": "Leads found in my network",
"filters": { "specific_contacts": { "contact_ids": ["123", "456"] } }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.talktohumans.app/v1/views"
payload := strings.NewReader("{\n \"account_id\": \"42\",\n \"type\": \"contact\",\n \"name\": \"Relevant leads\",\n \"description\": \"Leads found in my network\",\n \"filters\": {\n \"specific_contacts\": {\n \"contact_ids\": [\n \"123\",\n \"456\"\n ]\n }\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))
}{
"data": {
"view": {
"id": "789",
"public_id": "mem_2f5e3a4b",
"type": "contact",
"view_kind": "member",
"name": "Relevant leads",
"description": "Leads found in my network",
"account": {
"account_id": "42",
"display_name": "Jane Doe",
"provider_account_id": "ACoAA000000",
"owner_user_id": "7"
},
"selected_contact_ids": [
"123",
"456"
],
"simple_filters_json": "{\"combinator\":\"and\",\"not\":false,\"rules\":[{\"field\":\"specific_contacts\",\"operator\":\"contains\",\"value\":[\"linkedin:participant:urn:li:fsd_profile:abc\"],\"id\":\"8f20a6c8-9f18-4db6-931f-a018f815c604\",\"valueSource\":\"value\"}]}",
"app_url": "https://app.talktohumans.app/contacts/mem_2f5e3a4b",
"created_at": "2026-05-12T12:00:00Z",
"updated_at": "2026-05-12T12:00:00Z"
}
}
}Authorizations
Pass API key as Authorization: Bearer <api_key>.
Body
application/json
Required string length:
1 - 120Show child attributes
Show child attributes
LinkedIn account ID returned by GET /v1/accounts. Required when the organization has multiple LinkedIn accounts.
Pattern:
^[1-9][0-9]*$V1 supports contact views only.
Available options:
contact, member Advanced alias for the underlying TalkToHumans saved-view kind. V1 supports member only.
Available options:
member Response
Contact view created.
Show child attributes
Show child attributes
⌘I
Create contact view
curl --request POST \
--url https://api.talktohumans.app/v1/views \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"account_id": "42",
"type": "contact",
"name": "Relevant leads",
"description": "Leads found in my network",
"filters": {
"specific_contacts": {
"contact_ids": [
"123",
"456"
]
}
}
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
account_id: '42',
type: 'contact',
name: 'Relevant leads',
description: 'Leads found in my network',
filters: {specific_contacts: {contact_ids: ['123', '456']}}
})
};
fetch('https://api.talktohumans.app/v1/views', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.talktohumans.app/v1/views"
payload = {
"account_id": "42",
"type": "contact",
"name": "Relevant leads",
"description": "Leads found in my network",
"filters": { "specific_contacts": { "contact_ids": ["123", "456"] } }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.talktohumans.app/v1/views"
payload := strings.NewReader("{\n \"account_id\": \"42\",\n \"type\": \"contact\",\n \"name\": \"Relevant leads\",\n \"description\": \"Leads found in my network\",\n \"filters\": {\n \"specific_contacts\": {\n \"contact_ids\": [\n \"123\",\n \"456\"\n ]\n }\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))
}{
"data": {
"view": {
"id": "789",
"public_id": "mem_2f5e3a4b",
"type": "contact",
"view_kind": "member",
"name": "Relevant leads",
"description": "Leads found in my network",
"account": {
"account_id": "42",
"display_name": "Jane Doe",
"provider_account_id": "ACoAA000000",
"owner_user_id": "7"
},
"selected_contact_ids": [
"123",
"456"
],
"simple_filters_json": "{\"combinator\":\"and\",\"not\":false,\"rules\":[{\"field\":\"specific_contacts\",\"operator\":\"contains\",\"value\":[\"linkedin:participant:urn:li:fsd_profile:abc\"],\"id\":\"8f20a6c8-9f18-4db6-931f-a018f815c604\",\"valueSource\":\"value\"}]}",
"app_url": "https://app.talktohumans.app/contacts/mem_2f5e3a4b",
"created_at": "2026-05-12T12:00:00Z",
"updated_at": "2026-05-12T12:00:00Z"
}
}
}