← providers

Google Contacts

Read and manage Google Contacts and contact groups

Endpoints

Call these through the okoro proxy at https://okoro.ai/p/google-contacts

ActionMethodPathMin scope
List contactsGETread
Search contactsGETread
Batch get contactsGETread
Read contactGETread
Create contactPOSTwrite
Batch create contactsPOSTwrite
Update contactPATCHupdate
Batch update contactsPOSTwrite
Delete contactDELETEdelete
Batch delete contactsPOSTwrite
List other contactsGETread
List contact groupsGETread
Read contact groupGETread
Create contact groupPOSTwrite
Update contact groupPATCHupdate
Delete contact groupDELETEdelete
Modify group membersPOSTwrite

Examples

Every request requires a short-lived operation token scoped to a single action.

1. Get an operation token

Exchange your service token for a short-lived operation token scoped to a single action.

TOKEN=$(curl -sX POST "https://okoro.ai/t/tokens" \
  -H "Authorization: Bearer $OKORO_SERVICE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"provider": "google-contacts", "scope": "read", "intent": "describe what you are doing"}' \
  | jq -r '.token')

2. Call the API

Use the operation token as a Bearer token. The proxy forwards the request to Google Contacts and logs the action.

List contacts
curl -X GET "https://okoro.ai/p/google-contacts/people/me/connections" \
  -H "Authorization: Bearer $TOKEN"
Search contacts
curl -X GET "https://okoro.ai/p/google-contacts/people:searchContacts" \
  -H "Authorization: Bearer $TOKEN"
Batch get contacts
curl -X GET "https://okoro.ai/p/google-contacts/people:getBatchGet" \
  -H "Authorization: Bearer $TOKEN"
Read contact
curl -X GET "https://okoro.ai/p/google-contacts/people/{id}" \
  -H "Authorization: Bearer $TOKEN"
Create contact
curl -X POST "https://okoro.ai/p/google-contacts/people" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Batch create contacts
curl -X POST "https://okoro.ai/p/google-contacts/people:batchCreateContacts" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Update contact
curl -X PATCH "https://okoro.ai/p/google-contacts/people/{id}:updateContact" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Batch update contacts
curl -X POST "https://okoro.ai/p/google-contacts/people:batchUpdateContacts" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Delete contact
curl -X DELETE "https://okoro.ai/p/google-contacts/people/{id}" \
  -H "Authorization: Bearer $TOKEN"
Batch delete contacts
curl -X POST "https://okoro.ai/p/google-contacts/people:batchDeleteContacts" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
List other contacts
curl -X GET "https://okoro.ai/p/google-contacts/otherContacts" \
  -H "Authorization: Bearer $TOKEN"
List contact groups
curl -X GET "https://okoro.ai/p/google-contacts/contactGroups" \
  -H "Authorization: Bearer $TOKEN"
Read contact group
curl -X GET "https://okoro.ai/p/google-contacts/contactGroups/{id}" \
  -H "Authorization: Bearer $TOKEN"
Create contact group
curl -X POST "https://okoro.ai/p/google-contacts/contactGroups" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Update contact group
curl -X PATCH "https://okoro.ai/p/google-contacts/contactGroups/{id}" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Delete contact group
curl -X DELETE "https://okoro.ai/p/google-contacts/contactGroups/{id}" \
  -H "Authorization: Bearer $TOKEN"
Modify group members
curl -X POST "https://okoro.ai/p/google-contacts/contactGroups/{id}/members:modify" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Scopes

Your service token must be configured with at least the required scope level.

read
GET
/people/me/connections /people/* /people:searchContacts /people:getBatchGet /contactGroups /contactGroups/* /otherContacts
write
GET POST
/people /people:batchCreateContacts /contactGroups /contactGroups/*/members:modify
update
GET POST PATCH
/people/* /people:batchUpdateContacts /contactGroups/*
delete
GET POST PATCH DELETE
/people/* /people:batchDeleteContacts /contactGroups/*
all
GET POST PATCH DELETE
/**