query contactAuthenticated

Fetches a contact by its ID.

Returns Contact

Arguments

ArgumentTypeDescription
idID!

Example request

curl -X POST 'https://graph.clientloop.com/' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <api-key>' \
  -d '{
    "query": "query Contact($id: ID!) { contact(id: $id) { id orgId ownerId name givenName familyName email phone deletedAt createdAt updatedAt } }",
    "variables": {
      "id": "abc123"
    }
  }'
const response = await fetch('https://graph.clientloop.com/', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <api-key>',
  },
  body: JSON.stringify({
    query: `
      query Contact($id: ID!) {
        contact(id: $id) {
          id
          orgId
          ownerId
          name
          givenName
          familyName
          email
          phone
          deletedAt
          createdAt
          updatedAt
        }
      }
    `,
    variables: {
      "id": "abc123"
    },
  }),
});

const { data, errors } = await response.json();
<?php

$body = <<<'JSON'
{
  "query": "query Contact($id: ID!) { contact(id: $id) { id orgId ownerId name givenName familyName email phone deletedAt createdAt updatedAt } }",
  "variables": {
    "id": "abc123"
  }
}
JSON;

$ch = curl_init('https://graph.clientloop.com/');
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Authorization: Bearer <api-key>',
  ],
  CURLOPT_POSTFIELDS => $body,
]);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

var body = """
{
  "query": "query Contact($id: ID!) { contact(id: $id) { id orgId ownerId name givenName familyName email phone deletedAt createdAt updatedAt } }",
  "variables": {
    "id": "abc123"
  }
}
""";

var request = HttpRequest.newBuilder(URI.create("https://graph.clientloop.com/"))
    .header("Content-Type", "application/json")
    .header("Authorization", "Bearer <api-key>")
    .POST(HttpRequest.BodyPublishers.ofString(body))
    .build();

var response = HttpClient.newHttpClient()
    .send(request, HttpResponse.BodyHandlers.ofString());

System.out.println(response.body());
using System.Net.Http;
using System.Text;

var body = """
{
  "query": "query Contact($id: ID!) { contact(id: $id) { id orgId ownerId name givenName familyName email phone deletedAt createdAt updatedAt } }",
  "variables": {
    "id": "abc123"
  }
}
""";

using var client = new HttpClient();
using var content = new StringContent(body, Encoding.UTF8, "application/json");
client.DefaultRequestHeaders.Add("Authorization", "Bearer <api-key>");

var response = await client.PostAsync("https://graph.clientloop.com/", content);
var result = await response.Content.ReadAsStringAsync();

Types

type Contact

FieldTypeDescription
idID!

Unique ID of the contact.

orgIdID!

ID of the organization that owns the contact.

ownerIdID!

Global ID of the owning organization (Org#<id>). Deprecated; use orgId.

Deprecated: Use `orgId` instead.
nameString!

Full name of the contact.

givenNameString

Given name of the contact.

familyNameString

Family name of the contact.

emailEmail

Email address of the contact.

phonePhone

Phone number of the contact. This will be validated and normalized to the E.164 format.

deletedAtString

Set when the contact has been soft-deleted; null for an active contact.

createdAtString!

Date and time when the contact was created.

updatedAtString!

Date and time when the contact was last updated.

scalar Email

An email address

scalar Phone

E.164 formatted phone number. Ex. +14155554345