{ "opencollection": "1.0.0", "info": { "name": "Fence OpenAPI Specification admin/user credentials/google API", "version": "0.1.0" }, "items": [ { "info": { "name": "credentials/google", "type": "folder" }, "items": [ { "info": { "name": "List access keys", "type": "http" }, "http": { "method": "GET", "url": "https://example.domain/credentials/google", "auth": { "type": "oauth2", "flow": "authorization_code", "authorizationUrl": "/oauth/authorize", "accessTokenUrl": "/oauth/token", "credentials": { "clientId": "{{clientId}}", "clientSecret": "{{clientSecret}}" } } }, "docs": "List all the Google access keys for the current user" }, { "info": { "name": "Receive temporary access key", "type": "http" }, "http": { "method": "POST", "url": "https://example.domain/credentials/google", "params": [ { "name": "expires_in", "value": "", "type": "query", "description": "the time (in seconds) during which the access key is valid. Must be less than the configured maximum (default is 10 days). If it's greater, the configured maximum will be used." }, { "name": "userProject", "value": "", "type": "query", "description": "a Google Project to bill for accessing data in requester pays buckets in Google Storage. Will override any configured default billing projects. If Fence is configured to automatically attempt to provide the necessary service account(s) billing permission, the provided Google Project will need to have given the Fence admin service account necessary permissions to create custom roles and set Project IAM policies. Please see README for more information." } ], "auth": { "type": "oauth2", "flow": "authorization_code", "authorizationUrl": "/oauth/authorize", "accessTokenUrl": "/oauth/token", "credentials": { "clientId": "{{clientId}}", "clientSecret": "{{clientSecret}}" } } }, "docs": "Get a new temporary Google access key for the current user. The response from this represents exactly what should be placed in a JSON credentials file to pass to Google's APIs." }, { "info": { "name": "Delete access keys", "type": "http" }, "http": { "method": "DELETE", "url": "https://example.domain/credentials/google", "params": [ { "name": "all", "value": "", "type": "query", "description": "Must be \"true\" to delete all keys" } ], "auth": { "type": "oauth2", "flow": "authorization_code", "authorizationUrl": "/oauth/authorize", "accessTokenUrl": "/oauth/token", "credentials": { "clientId": "{{clientId}}", "clientSecret": "{{clientSecret}}" } } }, "docs": "Delete all Google access key for the current user/client" }, { "info": { "name": "Delete access key", "type": "http" }, "http": { "method": "DELETE", "url": "https://example.domain/credentials/google/:access_key", "params": [ { "name": "access_key", "value": "", "type": "path", "description": "Google Key ID" } ], "auth": { "type": "oauth2", "flow": "authorization_code", "authorizationUrl": "/oauth/authorize", "accessTokenUrl": "/oauth/token", "credentials": { "clientId": "{{clientId}}", "clientSecret": "{{clientSecret}}" } } }, "docs": "Delete a Google access key for the current user" } ] } ], "bundled": true }