Ga naar inhoud

Google Workspace

Agenda, Drive, Gmail en Contacten, per organisatie gekoppeld met je eigen OAuth-client en per medewerker aangezet.

30 endpoints, verdeeld over 1 groep. Een recht geschreven als module.resource.action:own heeft een bereik: :own dekt rijen die van jou zijn, :any die van iedereen, en :any voldoet aan een controle op :own.

EndpointRecht
GET /google/calendar/calendarsgoogle.connection.manage
PUT /google/calendar/calendarsgoogle.connection.manage
GET /google/calendar/channelsgoogle.calendar.read
GET /google/calendar/eventsgoogle.calendar.read
POST /google/calendar/webhookBewust open
GET /google/connectionsgoogle.settings.manage
GET /google/connections/megoogle.connection.manage
PATCH /google/connections/megoogle.connection.manage
POST /google/connections/me/disconnectgoogle.connection.manage
GET /google/drive/browsegoogle.drive.read
DELETE /google/drive/files/{drive_file_id}google.drive.write
PUT /google/drive/foldergoogle.drive.write
POST /google/drive/foldersgoogle.drive.write
GET /google/drive/linksgoogle.drive.read
POST /google/drive/linksgoogle.drive.write
DELETE /google/drive/links/{link_id}google.drive.write
POST /google/drive/provisiongoogle.drive.write
POST /google/drive/provision-allgoogle.settings.manage
GET /google/drive/stategoogle.drive.read
POST /google/drive/upload-sessiongoogle.drive.write
POST /google/gmail/importinteractions.interaction.write
GET /google/gmail/lookupgoogle.connection.manage
POST /google/gmail/refreshgoogle.connection.manage
GET /google/gmail/searchgoogle.connection.manage
GET /google/gmail/statusgoogle.connection.manage
GET /google/gmail/threads/{thread_id}google.connection.manage
GET /google/oauth/callbackgoogle.connection.manage
GET /google/oauth/connectgoogle.connection.manage
GET /google/settingsgoogle.settings.manage
PUT /google/settingsgoogle.settings.manage
Parameters en schema’s per endpoint

Calendar List — The viewer’s own calendarList — the selection UI’s read (#440). Briefly cached; the existing calendar.events scope covers it, so no re-consent is needed.

Recht: google.connection.manage

Antwoord: 200 · CalendarListEntry[]

Set Calendar Selection — Choose which shared calendars sync for the viewer. Deselecting removes the calendar’s cached events on the spot; selecting queues a sync so the agenda fills without waiting.

Recht: google.connection.manage

Request body: CalendarSelection

Antwoord: 200 · CalendarListEntry[]

Calendar Channels — The viewer’s selection off the database alone — what the Agenda’s feeds menu reads on every open, so it never costs a Google call.

Recht: google.calendar.read

Antwoord: 200 · SelectedCalendar[]

Calendar Events — The viewer’s own cached Google events. Reads the local cache, never Google live.

Recht: google.calendar.read

Queryparameters:

NaamTypeBetekenis
date_fromstring · verplicht
date_tostring · verplicht

Antwoord: 200 · CalendarFeedItem[]

Calendar Webhook

Recht: Bewust open

Antwoord: 200

List Connections

Recht: google.settings.manage

Antwoord: 200 · app__integrations__google__schemas__ConnectionRead[]

My Connection

Recht: google.connection.manage

Antwoord: 200 · MyConnectionRead

Update My Connection

Recht: google.connection.manage

Request body: MyConnectionUpdate

Antwoord: 200 · MyConnectionRead

POST /api/v1/google/connections/me/disconnect

Section titled “POST /api/v1/google/connections/me/disconnect”

Disconnect My Connection

Recht: google.connection.manage

Antwoord: 204

Browse — Live folder contents as the viewing user — Drive’s permissions are authoritative.

Recht: google.drive.read

Queryparameters:

NaamTypeBetekenis
folder_idstring
qstring
refreshboolean(default false)

Antwoord: 200 · DriveBrowseResult

DELETE /api/v1/google/drive/files/{drive_file_id}

Section titled “DELETE /api/v1/google/drive/files/{drive_file_id}”

Trash File — Move a Drive file to Drive’s bin — the other half of unlink (#394).

Recht: google.drive.write

Padparameters: drive_file_id

Antwoord: 204

Set Folder — Point a record at an existing Drive folder — the picker’s target.

Recht: google.drive.write

Request body: DriveFolderSet

Antwoord: 200 · DriveLinkRead

Create Folder — Create a subfolder inside the folder being browsed, as the viewing user (issue #21).

Recht: google.drive.write

Request body: DriveFolderCreate

Antwoord: 201 · DriveFolder

List Links

Recht: google.drive.read

Queryparameters:

NaamTypeBetekenis
entity_typestring · verplicht
entity_idstring · verplicht
rollupboolean(default false)
limitintegerCap the page a panel draws (#407); ask for one more than you keep to learn there are more. Absent means every link, which is what the roll-up view needs — a roll-up folds a project’s tasks in after the query and cannot be cut before it.

Antwoord: 200 · DriveLinkRead[]

Create Link

Recht: google.drive.write

Request body: DriveLinkCreate

Antwoord: 201 · DriveLinkRead

Section titled “DELETE /api/v1/google/drive/links/{link_id}”

Delete Link — Unlink only. The Drive file is never touched (issue #21 — the dialog says so too).

Recht: google.drive.write

Padparameters: link_id

Antwoord: 204

Provision Entity — Queue one entity’s folder — the panel’s “create folder” button.

Recht: google.drive.write

Request body: DriveProvisionRequest

Antwoord: 202

Provision All — Backfill: a folder for every client that has none (Instellingen → Google).

Recht: google.settings.manage

Antwoord: 200 · DriveBulkProvisionResult

Drive State — Provisioning readiness + this entity’s folder-job status, for the panels (#444).

Recht: google.drive.read

Queryparameters:

NaamTypeBetekenis
entity_typestring
entity_idstring

Antwoord: 200 · DriveStateRead

Create Upload Session

Recht: google.drive.write

Request body: DriveUploadSessionCreate

Antwoord: 200 · DriveUploadSession

Import Gmail Message — Log one message the poller skipped, filed where the caller says.

Recht: interactions.interaction.write

Request body: GmailImportRequest

Antwoord: 201 · GmailImportResult

Lookup Gmail Message — Resolve a pasted reference to the message(s) it names, in the caller’s own mailbox.

Recht: google.connection.manage

Queryparameters:

NaamTypeBetekenis
referencestring · verplichtA Gmail link, a message/thread id, or an RFC-822 Message-ID

Antwoord: 200 · GmailLookupResult

Refresh Gmail — Poll this mailbox once, now — rate-limited to one manual poll per minute.

Recht: google.connection.manage

Antwoord: 200 · GmailRefreshResult

Search Gmail — Find a message in the caller’s own mailbox, by who it was with and when (#372).

Recht: google.connection.manage

Queryparameters:

NaamTypeBetekenis
participantstring
subjectstring
afterstring
beforestring

Antwoord: 200 · GmailSearchResult

Read Gmail Status — When this mailbox was last polled, and whether asking for another one is worth it.

Recht: google.connection.manage

Antwoord: 200 · GmailSyncStatus

GET /api/v1/google/gmail/threads/{thread_id}

Section titled “GET /api/v1/google/gmail/threads/{thread_id}”

Read Gmail Thread — Every message of one conversation, marked with what is already on the timeline.

Recht: google.connection.manage

Padparameters: thread_id

Antwoord: 200 · GmailLookupResult

Google Oauth Callback — Store the grant and land the browser back where the connect started.

Recht: google.connection.manage

Antwoord: 200

Oauth Connect — 302 to Google’s consent screen, asking exactly the enabled surfaces’ scopes.

Recht: google.connection.manage

Queryparameters:

NaamTypeBetekenis
include_gmailboolean(default false)
include_marketingboolean(default false)
include_analyticsboolean(default false)
include_search_consoleboolean(default false)
include_adsboolean(default false)
include_tag_managerboolean(default false)
nextstring(default “)

Antwoord: 200

Get Settings

Recht: google.settings.manage

Antwoord: 200 · GoogleSettingsRead

Save Settings

Recht: google.settings.manage

Request body: GoogleSettingsWrite

Antwoord: 200 · GoogleSettingsRead