Find people to add
GET
/contacts/search-profiles
curl 'https://api.xholic.ai/v1/contacts/search-profiles?q=%3Cq%3E&listId=%3ClistId%3E' \ -H "Authorization: Bearer $XHOLIC_API_KEY"xholic contacts search-profiles --q '<q>' --list-id '<listId>'{ "name": "contacts_search_profiles", "arguments": { "q": "<q>", "listId": "<listId>" }}const response = await fetch("https://api.xholic.ai/v1/contacts/search-profiles?q=%3Cq%3E&listId=%3ClistId%3E", { headers: { Authorization: `Bearer ${process.env.XHOLIC_API_KEY}` },});const result = await response.json();console.log(result.summary);import axios from "axios";
const { data } = await axios.get("https://api.xholic.ai/v1/contacts/search-profiles", { params: { "q": "<q>", "listId": "<listId>" }, headers: { Authorization: `Bearer ${process.env.XHOLIC_API_KEY}` },});console.log(data.summary);import osimport requests
response = requests.get( "https://api.xholic.ai/v1/contacts/search-profiles", headers={"Authorization": f"Bearer {os.environ['XHOLIC_API_KEY']}"}, params={ "q": "<q>", "listId": "<listId>" },)print(response.json()["summary"])package main
import ( "fmt" "io" "net/http" "os")
func main() { req, _ := http.NewRequest("GET", "https://api.xholic.ai/v1/contacts/search-profiles?q=%3Cq%3E&listId=%3ClistId%3E", nil) req.Header.Set("Authorization", "Bearer "+os.Getenv("XHOLIC_API_KEY")) res, err := http.DefaultClient.Do(req) if err != nil { panic(err) } defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(string(body))}<?php$ch = curl_init("https://api.xholic.ai/v1/contacts/search-profiles?q=%3Cq%3E&listId=%3ClistId%3E");curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('XHOLIC_API_KEY')],]);$result = json_decode(curl_exec($ch), true);echo $result['summary'];require "net/http"require "json"
uri = URI("https://api.xholic.ai/v1/contacts/search-profiles?q=%3Cq%3E&listId=%3ClistId%3E")req = Net::HTTP::Get.new(uri)req["Authorization"] = "Bearer #{ENV.fetch("XHOLIC_API_KEY")}"res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }puts JSON.parse(res.body)["summary"]Search X accounts by name or handle to add to a contact list. Stored profiles first, then a capped live X lookup.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”q
required
string
Example
<q>listId
required
The contact list you’ll add them to.
string format: uuid
The contact list you’ll add them to.
Example
<listId>account
X account to act on, as @handle. Leave it out to use the connection’s default account.
string
X account to act on, as @handle. Leave it out to use the connection’s default account.
Responses
Section titled “Responses”Success
Media typeapplication/json
object
ok
required
boolean
summary
required
One or two readable sentences about the result.
string
data
required
The result. Its shape depends on the action.
ids
object
key
additional properties
any
next
Array<string>
creditsCharged
number
dryRun
boolean
Example
{ "ok": true}default
Section titled “default”Error
Media typeapplication/json
object
ok
required
boolean
error
required
object
code
required
string
message
required
string
scope
required
string
retryAfterSeconds
integer
details
Example
{ "ok": false, "error": { "code": "UNAUTHENTICATED", "scope": "account" }}