University of Chicago credentials/{provider} API

Other provider credentials

OpenAPI Specification

university-of-chicago-credentials-provider-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Fence OpenAPI Specification admin/user credentials/{provider} API
  version: 0.1.0
  description: Access management for Gen3 data commons. Code is available on [GitHub](https://github.com/uc-cdis/fence).
  termsOfService: http://cdis.uchicago.edu/terms/
  contact:
    email: cdis@uchicago.edu
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://example.domain/
tags:
- name: credentials/{provider}
  description: Other provider credentials
paths:
  /credentials/{provider}:
    get:
      tags:
      - credentials/{provider}
      summary: List access keys
      description: List all the access keys for the current user
      parameters:
      - name: provider
        required: true
        in: path
        description: Storage provider to obtain creds for
        schema:
          type: string
      security:
      - OAuth2:
        - user
      operationId: listGenericKeypairs
      responses:
        '200':
          description: Generic keys info response
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GenericKeys'
    post:
      tags:
      - credentials/{provider}
      summary: Receive access key
      description: Get a new access key for the current user for the given provider
      parameters:
      - name: provider
        required: true
        in: path
        description: Storage provider to obtain creds for
        schema:
          type: string
      security:
      - OAuth2:
        - user
      operationId: getGenericKeypair
      responses:
        '200':
          description: generic keypair for provider
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/GenericKey'
  /credentials/{provider}/{access_key}:
    delete:
      tags:
      - credentials/{provider}
      summary: Delete access key
      description: Delete an access key for the current user
      security:
      - OAuth2:
        - user
      operationId: deleteGenericKeypair
      parameters:
      - name: provider
        required: true
        in: path
        description: Provider of credentials such as API, or Google
        schema:
          type: string
      - name: access_key
        required: true
        in: path
        description: Generic Key ID
        schema:
          type: string
      responses:
        '204':
          description: successful deletion
        '404':
          description: Couldn't find key, unable to delete given key
components:
  schemas:
    GenericKeys:
      type: object
      properties:
        access_keys:
          type: array
          description: List of Generic keys
          items:
            type: object
            properties:
              access_key:
                type: string
                description: access key value
      example:
        access_keys:
        - access_key: 8DGW9LyC0D4nByoWo6pp
    GenericKey:
      type: object
      properties:
        access_key:
          type: string
          description: generic key
        secret_key:
          type: string
          description: generic secret key
      example:
        access_key: 8DGW9LyC0D4nByoWo6pp
        secret_key: 1lnkGScEH8Vr4EC6QnoqLK1PqRWPNqIBJkH6Vpgx
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: /oauth/authorize
          tokenUrl: /oauth/token
          scopes:
            user: generic user access