Documentation Index Fetch the complete documentation index at: https://lava.so/docs/llms.txt
Use this file to discover all available pages before exploring further.
Google Workspace APIs providing access to Google Drive, Docs, Sheets, and Calendar. Best for workflows that need to manage files, read/write spreadsheets, edit documents, or schedule calendar events — storage, documents, and scheduling in one provider, unlike Notion (structured knowledge only). Gmail is served separately by the Gmail provider.
14 example endpoints available through Lava’s AI Gateway. See the Google Workspace API docs for full documentation.
This provider requires your own credentials — connect your API key or OAuth account before use.
This is a catch-all provider — any valid URL under https://www.googleapis.com is supported. Drive, Docs, Sheets, and Calendar APIs. Multiple base URLs — use get_provider_docs for endpoint reference. The endpoints below are curated examples.
Endpoints
List Drive files
GET https://www.googleapis.com/drive/v3/files — Free
const data = await lava . gateway ( 'https://www.googleapis.com/drive/v3/files' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fwww.googleapis.com%2Fdrive%2Fv3%2Ffiles" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
List calendar events
GET https://www.googleapis.com/calendar/v3/calendars/primary/events — Free
const data = await lava . gateway ( 'https://www.googleapis.com/calendar/v3/calendars/primary/events' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fwww.googleapis.com%2Fcalendar%2Fv3%2Fcalendars%2Fprimary%2Fevents" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
Get spreadsheet data
GET https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId} — Free
const data = await lava . gateway ( 'https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fsheets.googleapis.com%2Fv4%2Fspreadsheets%2F%7BspreadsheetId%7D" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
Get document content
GET https://docs.googleapis.com/v1/documents/{documentId} — Free
const data = await lava . gateway ( 'https://docs.googleapis.com/v1/documents/{documentId}' , { method: 'GET' });
curl "https://api.lava.so/v1/forward?u=https%3A%2F%2Fdocs.googleapis.com%2Fv1%2Fdocuments%2F%7BdocumentId%7D" \
-H "Authorization: Bearer $LAVA_SECRET_KEY "
POST https://www.googleapis.com/drive/v3/files — Free
const data = await lava . gateway ( 'https://www.googleapis.com/drive/v3/files' , {
body: {
"name" : "New Folder" ,
"mimeType" : "application/vnd.google-apps.folder"
},
});
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fwww.googleapis.com%2Fdrive%2Fv3%2Ffiles" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"name":"New Folder","mimeType":"application/vnd.google-apps.folder"}'
PATCH https://www.googleapis.com/drive/v3/files/{fileId} — Free
const data = await lava . gateway ( 'https://www.googleapis.com/drive/v3/files/{fileId}' , { method: 'PATCH' , body: { "name" : "Renamed File" } });
curl -X PATCH "https://api.lava.so/v1/forward?u=https%3A%2F%2Fwww.googleapis.com%2Fdrive%2Fv3%2Ffiles%2F%7BfileId%7D" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"name":"Renamed File"}'
Permanently delete a file from Drive
DELETE https://www.googleapis.com/drive/v3/files/{fileId} — Free
const data = await lava . gateway ( 'https://www.googleapis.com/drive/v3/files/{fileId}' , { method: 'DELETE' });
curl -X DELETE "https://api.lava.so/v1/forward?u=https%3A%2F%2Fwww.googleapis.com%2Fdrive%2Fv3%2Ffiles%2F%7BfileId%7D" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json"
Apply updates to a document (insert text, format, etc.)
POST https://docs.googleapis.com/v1/documents/{documentId}:batchUpdate — Free
const data = await lava . gateway ( 'https://docs.googleapis.com/v1/documents/{documentId}:batchUpdate' , {
body: {
"requests" : [
{
"insertText" : {
"location" : {
"index" : 1
},
"text" : "Hello, world!"
}
}
]
},
});
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fdocs.googleapis.com%2Fv1%2Fdocuments%2F%7BdocumentId%7D%3AbatchUpdate" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"requests":[{"insertText":{"location":{"index":1},"text":"Hello, world!"}}]}'
Append rows to a spreadsheet
POST https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}:append?valueInputOption=USER_ENTERED — Free
const data = await lava . gateway ( 'https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}:append?valueInputOption=USER_ENTERED' , { body: { "values" : [[ "Row 1 Col A" , "Row 1 Col B" ]]} });
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fsheets.googleapis.com%2Fv4%2Fspreadsheets%2F%7BspreadsheetId%7D%2Fvalues%2F%7Brange%7D%3Aappend%3FvalueInputOption%3DUSER_ENTERED" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"values":[["Row 1 Col A","Row 1 Col B"]]}'
Update cell values in a spreadsheet
PUT https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}?valueInputOption=USER_ENTERED — Free
const data = await lava . gateway ( 'https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}?valueInputOption=USER_ENTERED' , { method: 'PUT' , body: { "values" : [[ "Updated value" ]]} });
curl -X PUT "https://api.lava.so/v1/forward?u=https%3A%2F%2Fsheets.googleapis.com%2Fv4%2Fspreadsheets%2F%7BspreadsheetId%7D%2Fvalues%2F%7Brange%7D%3FvalueInputOption%3DUSER_ENTERED" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"values":[["Updated value"]]}'
Create a calendar event
POST https://www.googleapis.com/calendar/v3/calendars/primary/events — Free
const data = await lava . gateway ( 'https://www.googleapis.com/calendar/v3/calendars/primary/events' , {
body: {
"summary" : "Team standup" ,
"start" : {
"dateTime" : "2025-01-15T09:00:00-07:00"
},
"end" : {
"dateTime" : "2025-01-15T09:30:00-07:00"
}
},
});
curl -X POST "https://api.lava.so/v1/forward?u=https%3A%2F%2Fwww.googleapis.com%2Fcalendar%2Fv3%2Fcalendars%2Fprimary%2Fevents" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"summary":"Team standup","start":{"dateTime":"2025-01-15T09:00:00-07:00"},"end":{"dateTime":"2025-01-15T09:30:00-07:00"}}'
Replace a calendar event entirely
PUT https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId} — Free
const data = await lava . gateway ( 'https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId}' , {
method: 'PUT' ,
body: {
"summary" : "Updated meeting" ,
"start" : {
"dateTime" : "2025-01-15T10:00:00-07:00"
},
"end" : {
"dateTime" : "2025-01-15T11:00:00-07:00"
}
},
});
curl -X PUT "https://api.lava.so/v1/forward?u=https%3A%2F%2Fwww.googleapis.com%2Fcalendar%2Fv3%2Fcalendars%2Fprimary%2Fevents%2F%7BeventId%7D" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"summary":"Updated meeting","start":{"dateTime":"2025-01-15T10:00:00-07:00"},"end":{"dateTime":"2025-01-15T11:00:00-07:00"}}'
Partially update a calendar event
PATCH https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId} — Free
const data = await lava . gateway ( 'https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId}' , { method: 'PATCH' , body: { "summary" : "Renamed event" } });
curl -X PATCH "https://api.lava.so/v1/forward?u=https%3A%2F%2Fwww.googleapis.com%2Fcalendar%2Fv3%2Fcalendars%2Fprimary%2Fevents%2F%7BeventId%7D" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json" \
-d '{"summary":"Renamed event"}'
Delete a calendar event
DELETE https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId} — Free
const data = await lava . gateway ( 'https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId}' , { method: 'DELETE' });
curl -X DELETE "https://api.lava.so/v1/forward?u=https%3A%2F%2Fwww.googleapis.com%2Fcalendar%2Fv3%2Fcalendars%2Fprimary%2Fevents%2F%7BeventId%7D" \
-H "Authorization: Bearer $LAVA_SECRET_KEY " \
-H "Content-Type: application/json"
Next Steps
All Providers Browse all supported AI providers
Forward Proxy Learn how to construct proxy URLs and authenticate requests