openapi: 3.0.0 info: title: Fence OpenAPI Specification admin/user graphql 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: graphql description: GraphQL Queries paths: /graphql: post: tags: - graphql summary: Perform a GraphQL Query description: Perform a graphql query over the data commons given a query, variables, and name. responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/QueryOutputRef' '400': description: Invalid input '403': description: Invalid authorization token requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryInputInfo' description: The GraphQL query and parameters required: true /getschema: get: tags: - graphql summary: Returns the data dictionary schema json description: The data dictionary for the data commons is internally converted from yaml files to json. This endpoint returns the json schema for the dictionary for use in generating queries. responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/SchemaOutputRef' components: schemas: QueryInputInfo: type: object properties: query: type: string description: the text of the GraphQL query variables: type: string description: variables for the GraphQL query operationName: type: string description: the name of the operation example: query: '{ project {project_id} }' operationName: null variables: null SchemaOutputRef: type: object properties: data: type: object description: the json schema for the data dictionary QueryOutputRef: type: object properties: data: type: object description: the results of the GraphQL query securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: /oauth/authorize tokenUrl: /oauth/token scopes: user: generic user access