Files
openclaw-workspace/skills/api-gateway/references/google-contacts.md
2026-04-11 09:45:12 -05:00

3.3 KiB

Google Contacts Routing Reference

App name: google-contacts Base URL proxied: people.googleapis.com

API Path Pattern

/google-contacts/v1/{endpoint}

Common Endpoints

List Contacts

GET /google-contacts/v1/people/me/connections?personFields=names,emailAddresses,phoneNumbers&pageSize=100

Get Contact

GET /google-contacts/v1/people/{resourceName}?personFields=names,emailAddresses,phoneNumbers

Example: GET /google-contacts/v1/people/c1234567890?personFields=names,emailAddresses

Create Contact

POST /google-contacts/v1/people:createContact
Content-Type: application/json

{
  "names": [{"givenName": "John", "familyName": "Doe"}],
  "emailAddresses": [{"value": "john@example.com"}],
  "phoneNumbers": [{"value": "+1-555-0123"}]
}

Update Contact

PATCH /google-contacts/v1/people/{resourceName}:updateContact?updatePersonFields=names,emailAddresses
Content-Type: application/json

{
  "etag": "%EgcBAgkLLjc9...",
  "names": [{"givenName": "John", "familyName": "Smith"}]
}

Delete Contact

DELETE /google-contacts/v1/people/{resourceName}:deleteContact

Batch Get Contacts

GET /google-contacts/v1/people:batchGet?resourceNames=people/c123&resourceNames=people/c456&personFields=names

Batch Create Contacts

POST /google-contacts/v1/people:batchCreateContacts
Content-Type: application/json

{
  "contacts": [{"contactPerson": {"names": [{"givenName": "Alice"}]}}],
  "readMask": "names"
}

Batch Delete Contacts

POST /google-contacts/v1/people:batchDeleteContacts
Content-Type: application/json

{
  "resourceNames": ["people/c123", "people/c456"]
}

Search Contacts

GET /google-contacts/v1/people:searchContacts?query=John&readMask=names,emailAddresses

List Contact Groups

GET /google-contacts/v1/contactGroups?pageSize=100

Get Contact Group

GET /google-contacts/v1/contactGroups/{resourceName}?maxMembers=100

Create Contact Group

POST /google-contacts/v1/contactGroups
Content-Type: application/json

{
  "contactGroup": {"name": "Work Contacts"}
}

Delete Contact Group

DELETE /google-contacts/v1/contactGroups/{resourceName}?deleteContacts=false

Modify Group Members

POST /google-contacts/v1/contactGroups/{resourceName}/members:modify
Content-Type: application/json

{
  "resourceNamesToAdd": ["people/c123"],
  "resourceNamesToRemove": ["people/c456"]
}

List Other Contacts

GET /google-contacts/v1/otherContacts?readMask=names,emailAddresses&pageSize=100

Notes

  • Resource names for contacts: people/c{id} (e.g., people/c1234567890)
  • Resource names for groups: contactGroups/{id} (e.g., contactGroups/starred)
  • System groups: starred, friends, family, coworkers, myContacts, all, blocked
  • personFields parameter is required for most read operations
  • Include etag when updating to prevent concurrent modification issues
  • Pagination uses pageToken parameter

Resources