---
title: "Mint a Google Picker token"
method: POST
path: "/google-drive/picker-token/"
tags: ["google-drive"]
---

# Mint a Google Picker token

`POST /google-drive/picker-token/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/google-drive/picker-token/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

A short-lived access token, scoped to drive.file, for the browser to render the Google Picker with, plus the app id and developer key the Picker needs. Mint one per open; never cache it.

## Response `200`

Successful Response

- DrivePickerTokenReadSchema: What the browser needs to open the Google Picker.
  - `access_token` string, required: A short-lived token scoped to drive.file. Never store it.
  - `app_id` string, required: The GCP project number, for PickerBuilder.setAppId.
  - `developer_key` string, required: The public browser API key, for PickerBuilder.setDeveloperKey.
  - `expires_at` string, date-time, nullable, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `422`: Drive is not connected.
- `500`: Internal server error.
- `502`: Google rejected the token refresh; the grant is gone.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/4a6bd71e3f02?raw)
