files.download returns a completed operation object that can be fetched with operations.get.
Approvals
googleapis method
Endpoint
drive.approvals.start
POST /drive/v3/files/{fileId}/approvals:start
drive.approvals.list
GET /drive/v3/files/{fileId}/approvals
drive.approvals.get
GET /drive/v3/files/{fileId}/approvals/{approvalId}
drive.approvals.approve
POST /drive/v3/files/{fileId}/approvals/{approvalId}:approve
drive.approvals.decline
POST /drive/v3/files/{fileId}/approvals/{approvalId}:decline
drive.approvals.cancel
POST /drive/v3/files/{fileId}/approvals/{approvalId}:cancel
drive.approvals.comment
POST /drive/v3/files/{fileId}/approvals/{approvalId}:comment
drive.approvals.reassign
POST /drive/v3/files/{fileId}/approvals/{approvalId}:reassign
Access Proposals
googleapis method
Endpoint
drive.accessproposals.list
GET /drive/v3/files/{fileId}/accessproposals
drive.accessproposals.get
GET /drive/v3/files/{fileId}/accessproposals/{proposalId}
drive.accessproposals.resolve
POST /drive/v3/files/{fileId}/accessproposals/{proposalId}:resolve
Access proposals are read/resolve-only in the public Drive API, so tests may seed them directly in memory.
Surface coverage
This emulator faithfully replicates the API surface most application code and agents exercise. Anything below the supported lines is either an intentional design choice for a fast, zero-cost local emulator (✓ By design) or a candidate for a future release (⟳ Roadmap) — never a silent inaccuracy.
Legend: ✅ fully supported · ◐ accepted (stored, not strictly enforced) · ✓ by design · ⟳ on the roadmap.
Feature
Status
Notes
In-memory files, folders, metadata, parents, trash, star state
Supported
State is ephemeral and resettable.
JSON metadata create/update
Supported
Field masks are accepted but not interpreted.
Media and multipart upload
Supported
uploadType=media and uploadType=multipart are implemented.
Media download and export
Supported
Returns stored bytes with requested content type for export.
File list paging
Supported
Uses numeric pageToken offsets.
Common Drive q filters
Supported
See Files section for supported clauses.
Permissions
Supported
No real ACL enforcement.
Comments and replies
Supported
Delete marks items deleted like the real API.
Revisions
Supported
Created on media/metadata update. The only revision cannot be deleted.
Shared drives
Supported
Metadata lifecycle only.
Legacy team drives
Supported
Aliased to the same in-memory shared drive store.
Watches/channels
Supported
Stored in memory; no outbound webhook delivery.
Access proposals
Supported
List/get/resolve only, matching the public API surface.
Approvals
Supported
In-memory approval state transitions only.
Long-running operations
Supported
Operations complete immediately.
OAuth, auth scopes, quota enforcement
Intentionally unsupported
The fake trusts all requests.
Resumable uploads
Intentionally unsupported
Use media or multipart uploads for tests.
Google Docs native conversion fidelity
Intentionally unsupported
Export returns stored bytes.
Complex search grammar and fields projection
Intentionally unsupported
Unknown query clauses are treated as matches; responses are full resources.
Common returned reasons include notFound, invalidArgument, parseError, alreadyExists, and methodNotAllowed.
<!-- parlel:testenv:start -->
Configuration — test.env
Copy these into your test.env (used by the bridge sidecar flow). Tokens are Parlel's seeded test credentials — any non-empty value is accepted by the emulator, so you rarely need to change them. Swap in real credentials only when pointing at the live service in prod.env.