github.com/openshift-online/ocm-sdk-go@v0.1.473/openapi/access_transparency/v1/openapi.json (about)

     1  {
     2    "openapi": "3.0.0",
     3    "info": {
     4      "version": "v1",
     5      "title": "access_transparency",
     6      "license": {
     7        "name": "Apache 2.0",
     8        "url": "http://www.apache.org/licenses/LICENSE-2.0"
     9      },
    10      "contact": {
    11        "name": "OCM Feedback",
    12        "email": "ocm-feedback@redhat.com"
    13      }
    14    },
    15    "servers": [
    16      {
    17        "description": "Production",
    18        "url": "https://api.openshift.com"
    19      },
    20      {
    21        "description": "Stage",
    22        "url": "https://api.stage.openshift.com"
    23      }
    24    ],
    25    "paths": {
    26      "/api/access_transparency/v1": {
    27        "get": {
    28          "description": "Retrieves the version metadata.",
    29          "responses": {
    30            "200": {
    31              "description": "Success.",
    32              "content": {
    33                "application/json": {
    34                  "schema": {
    35                    "$ref": "#/components/schemas/Metadata"
    36                  }
    37                }
    38              }
    39            },
    40            "default": {
    41              "description": "Error.",
    42              "content": {
    43                "application/json": {
    44                  "schema": {
    45                    "$ref": "#/components/schemas/Error"
    46                  }
    47                }
    48              }
    49            }
    50          }
    51        }
    52      },
    53      "/api/access_transparency/v1/access_protection": {
    54        "get": {
    55          "description": "Retrieves an Access Protection by organization/cluster/subscription query param.",
    56          "parameters": [
    57            {
    58              "name": "clusterId",
    59              "description": "Check status by Cluter.",
    60              "in": "query",
    61              "schema": {
    62                "type": "string"
    63              }
    64            },
    65            {
    66              "name": "organizationId",
    67              "description": "Check status by Organization.",
    68              "in": "query",
    69              "schema": {
    70                "type": "string"
    71              }
    72            },
    73            {
    74              "name": "subscriptionId",
    75              "description": "Check status by Subscription.",
    76              "in": "query",
    77              "schema": {
    78                "type": "string"
    79              }
    80            }
    81          ],
    82          "responses": {
    83            "200": {
    84              "description": "Success.",
    85              "content": {
    86                "application/json": {
    87                  "schema": {
    88                    "$ref": "#/components/schemas/AccessProtection"
    89                  }
    90                }
    91              }
    92            },
    93            "default": {
    94              "description": "Error.",
    95              "content": {
    96                "application/json": {
    97                  "schema": {
    98                    "$ref": "#/components/schemas/Error"
    99                  }
   100                }
   101              }
   102            }
   103          }
   104        }
   105      },
   106      "/api/access_transparency/v1/access_requests": {
   107        "get": {
   108          "description": "Retrieves the list of access requests.",
   109          "parameters": [
   110            {
   111              "name": "order",
   112              "description": "Order criteria.\n\nThe syntax of this parameter is similar to the syntax of the _order by_ clause of\na SQL statement, but using the names of the attributes of the access request instead of\nthe names of the columns of a table. For example, in order to sort the access requests\ndescending by created_at the value should be:\n\n```sql\ncreated_at desc\n```\n\nIf the parameter isn't provided, or if the value is empty, then the order of the\nresults is undefined.",
   113              "in": "query",
   114              "schema": {
   115                "type": "string"
   116              }
   117            },
   118            {
   119              "name": "page",
   120              "description": "Index of the requested page, where one corresponds to the first page.",
   121              "in": "query",
   122              "schema": {
   123                "type": "integer",
   124                "format": "int32"
   125              }
   126            },
   127            {
   128              "name": "search",
   129              "description": "Search criteria.\n\nThe syntax of this parameter is similar to the syntax of the _where_ clause of an\nSQL statement, but using the names of the attributes of the access request instead of\nthe names of the columns of a table. For example, in order to retrieve all the\naccess requests with a requested_by starting with `my` the value should be:\n\n```sql\nrequested_by like 'my%'\n```\n\nIf the parameter isn't provided, or if the value is empty, then all the access requests\nthat the user has permission to see will be returned.",
   130              "in": "query",
   131              "schema": {
   132                "type": "string"
   133              }
   134            },
   135            {
   136              "name": "size",
   137              "description": "Maximum number of items that will be contained in the returned page.",
   138              "in": "query",
   139              "schema": {
   140                "type": "integer",
   141                "format": "int32"
   142              }
   143            }
   144          ],
   145          "responses": {
   146            "200": {
   147              "description": "Success.",
   148              "content": {
   149                "application/json": {
   150                  "schema": {
   151                    "type": "object",
   152                    "properties": {
   153                      "items": {
   154                        "description": "Retrieved list of access requests.",
   155                        "type": "array",
   156                        "items": {
   157                          "$ref": "#/components/schemas/AccessRequest"
   158                        }
   159                      },
   160                      "page": {
   161                        "description": "Index of the requested page, where one corresponds to the first page.",
   162                        "type": "integer",
   163                        "format": "int32"
   164                      },
   165                      "size": {
   166                        "description": "Maximum number of items that will be contained in the returned page.",
   167                        "type": "integer",
   168                        "format": "int32"
   169                      },
   170                      "total": {
   171                        "description": "Total number of items of the collection that match the search criteria,\nregardless of the size of the page.",
   172                        "type": "integer",
   173                        "format": "int32"
   174                      }
   175                    }
   176                  }
   177                }
   178              }
   179            },
   180            "default": {
   181              "description": "Error.",
   182              "content": {
   183                "application/json": {
   184                  "schema": {
   185                    "$ref": "#/components/schemas/Error"
   186                  }
   187                }
   188              }
   189            }
   190          }
   191        },
   192        "post": {
   193          "description": "Create a new access request and add it to the collection of access requests.",
   194          "requestBody": {
   195            "content": {
   196              "application/json": {
   197                "schema": {
   198                  "$ref": "#/components/schemas/AccessRequestPostRequest"
   199                }
   200              }
   201            }
   202          },
   203          "responses": {
   204            "201": {
   205              "description": "Success.",
   206              "content": {
   207                "application/json": {
   208                  "schema": {
   209                    "$ref": "#/components/schemas/AccessRequest"
   210                  }
   211                }
   212              }
   213            },
   214            "default": {
   215              "description": "Error.",
   216              "content": {
   217                "application/json": {
   218                  "schema": {
   219                    "$ref": "#/components/schemas/Error"
   220                  }
   221                }
   222              }
   223            }
   224          }
   225        }
   226      },
   227      "/api/access_transparency/v1/access_requests/{access_request_id}": {
   228        "get": {
   229          "description": "Retrieves the details of the access request.",
   230          "parameters": [
   231            {
   232              "name": "access_request_id",
   233              "in": "path",
   234              "schema": {
   235                "type": "string"
   236              },
   237              "required": true
   238            }
   239          ],
   240          "responses": {
   241            "200": {
   242              "description": "Success.",
   243              "content": {
   244                "application/json": {
   245                  "schema": {
   246                    "$ref": "#/components/schemas/AccessRequest"
   247                  }
   248                }
   249              }
   250            },
   251            "default": {
   252              "description": "Error.",
   253              "content": {
   254                "application/json": {
   255                  "schema": {
   256                    "$ref": "#/components/schemas/Error"
   257                  }
   258                }
   259              }
   260            }
   261          }
   262        }
   263      },
   264      "/api/access_transparency/v1/access_requests/{access_request_id}/decisions": {
   265        "post": {
   266          "description": "Create a new decision and add it to the collection of decisions of an access request.",
   267          "parameters": [
   268            {
   269              "name": "access_request_id",
   270              "in": "path",
   271              "schema": {
   272                "type": "string"
   273              },
   274              "required": true
   275            }
   276          ],
   277          "requestBody": {
   278            "content": {
   279              "application/json": {
   280                "schema": {
   281                  "$ref": "#/components/schemas/Decision"
   282                }
   283              }
   284            }
   285          },
   286          "responses": {
   287            "201": {
   288              "description": "Success.",
   289              "content": {
   290                "application/json": {
   291                  "schema": {
   292                    "$ref": "#/components/schemas/Decision"
   293                  }
   294                }
   295              }
   296            },
   297            "default": {
   298              "description": "Error.",
   299              "content": {
   300                "application/json": {
   301                  "schema": {
   302                    "$ref": "#/components/schemas/Error"
   303                  }
   304                }
   305              }
   306            }
   307          }
   308        },
   309        "get": {
   310          "description": "Retrieves the list of decisions.",
   311          "parameters": [
   312            {
   313              "name": "access_request_id",
   314              "in": "path",
   315              "schema": {
   316                "type": "string"
   317              },
   318              "required": true
   319            },
   320            {
   321              "name": "order",
   322              "description": "Order criteria.\n\nThe syntax of this parameter is similar to the syntax of the _order by_ clause of\na SQL statement, but using the names of the attributes of the decision instead of\nthe names of the columns of a table. For example, in order to sort the decisions\ndescending by created_at the value should be:\n\n```sql\ncreated_at desc\n```\n\nIf the parameter isn't provided, or if the value is empty, then the order of the\nresults is undefined.",
   323              "in": "query",
   324              "schema": {
   325                "type": "string"
   326              }
   327            },
   328            {
   329              "name": "page",
   330              "description": "Index of the requested page, where one corresponds to the first page.",
   331              "in": "query",
   332              "schema": {
   333                "type": "integer",
   334                "format": "int32"
   335              }
   336            },
   337            {
   338              "name": "search",
   339              "description": "Search criteria.\n\nThe syntax of this parameter is similar to the syntax of the _where_ clause of an\nSQL statement, but using the names of the attributes of the decision instead of\nthe names of the columns of a table. For example, in order to retrieve all the\ndecisions with a decided_by starting with `my` the value should be:\n\n```sql\ndecided_by like 'my%'\n```\n\nIf the parameter isn't provided, or if the value is empty, then all the decisions\nthat the user has permission to see will be returned.",
   340              "in": "query",
   341              "schema": {
   342                "type": "string"
   343              }
   344            },
   345            {
   346              "name": "size",
   347              "description": "Maximum number of items that will be contained in the returned page.",
   348              "in": "query",
   349              "schema": {
   350                "type": "integer",
   351                "format": "int32"
   352              }
   353            }
   354          ],
   355          "responses": {
   356            "200": {
   357              "description": "Success.",
   358              "content": {
   359                "application/json": {
   360                  "schema": {
   361                    "type": "object",
   362                    "properties": {
   363                      "items": {
   364                        "description": "Retrieved list of decisions.",
   365                        "type": "array",
   366                        "items": {
   367                          "$ref": "#/components/schemas/Decision"
   368                        }
   369                      },
   370                      "page": {
   371                        "description": "Index of the requested page, where one corresponds to the first page.",
   372                        "type": "integer",
   373                        "format": "int32"
   374                      },
   375                      "size": {
   376                        "description": "Maximum number of items that will be contained in the returned page.",
   377                        "type": "integer",
   378                        "format": "int32"
   379                      },
   380                      "total": {
   381                        "description": "Total number of items of the collection that match the search criteria,\nregardless of the size of the page.",
   382                        "type": "integer",
   383                        "format": "int32"
   384                      }
   385                    }
   386                  }
   387                }
   388              }
   389            },
   390            "default": {
   391              "description": "Error.",
   392              "content": {
   393                "application/json": {
   394                  "schema": {
   395                    "$ref": "#/components/schemas/Error"
   396                  }
   397                }
   398              }
   399            }
   400          }
   401        }
   402      },
   403      "/api/access_transparency/v1/access_requests/{access_request_id}/decisions/{decision_id}": {
   404        "get": {
   405          "description": "Retrieves the details of the decision.",
   406          "parameters": [
   407            {
   408              "name": "access_request_id",
   409              "in": "path",
   410              "schema": {
   411                "type": "string"
   412              },
   413              "required": true
   414            },
   415            {
   416              "name": "decision_id",
   417              "in": "path",
   418              "schema": {
   419                "type": "string"
   420              },
   421              "required": true
   422            }
   423          ],
   424          "responses": {
   425            "200": {
   426              "description": "Success.",
   427              "content": {
   428                "application/json": {
   429                  "schema": {
   430                    "$ref": "#/components/schemas/Decision"
   431                  }
   432                }
   433              }
   434            },
   435            "default": {
   436              "description": "Error.",
   437              "content": {
   438                "application/json": {
   439                  "schema": {
   440                    "$ref": "#/components/schemas/Error"
   441                  }
   442                }
   443              }
   444            }
   445          }
   446        }
   447      }
   448    },
   449    "components": {
   450      "schemas": {
   451        "Metadata": {
   452          "description": "Version metadata.",
   453          "properties": {
   454            "server_version": {
   455              "description": "Version of the server.",
   456              "type": "string"
   457            }
   458          }
   459        },
   460        "AccessProtection": {
   461          "description": "Representation of an access protection.",
   462          "properties": {
   463            "enabled": {
   464              "type": "boolean"
   465            }
   466          }
   467        },
   468        "AccessRequest": {
   469          "description": "Representation of an access request.",
   470          "properties": {
   471            "kind": {
   472              "description": "Indicates the type of this object. Will be 'AccessRequest' if this is a complete object or 'AccessRequestLink' if it is just a link.",
   473              "type": "string"
   474            },
   475            "id": {
   476              "description": "Unique identifier of the object.",
   477              "type": "string"
   478            },
   479            "href": {
   480              "description": "Self link.",
   481              "type": "string"
   482            },
   483            "cluster_id": {
   484              "description": "Cluster from which the Access Request belongs to.",
   485              "type": "string"
   486            },
   487            "created_at": {
   488              "description": "Date and time when the access request was initially created, using the\nformat defined in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt).",
   489              "type": "string",
   490              "format": "date-time"
   491            },
   492            "deadline": {
   493              "description": "How long the Access Request can be in pending state waiting for a customer decision.",
   494              "type": "string"
   495            },
   496            "deadline_at": {
   497              "description": "Date and time for the deadline that the Access Request needs to be decided, using the\nformat defined in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt).",
   498              "type": "string",
   499              "format": "date-time"
   500            },
   501            "decisions": {
   502              "description": "Decisions attached to the Access Request.",
   503              "type": "array",
   504              "items": {
   505                "$ref": "#/components/schemas/Decision"
   506              }
   507            },
   508            "duration": {
   509              "description": "How long the access will last after it's been approved.",
   510              "type": "string"
   511            },
   512            "internal_support_case_id": {
   513              "description": "Internal support case id linking to jira ticket.",
   514              "type": "string"
   515            },
   516            "justification": {
   517              "description": "Justification of the Access Request.",
   518              "type": "string"
   519            },
   520            "organization_id": {
   521              "description": "Organization from which the Access Request belongs to.",
   522              "type": "string"
   523            },
   524            "requested_by": {
   525              "description": "User that requested the Access.",
   526              "type": "string"
   527            },
   528            "status": {
   529              "description": "Access Request status.",
   530              "$ref": "#/components/schemas/AccessRequestStatus"
   531            },
   532            "subscription_id": {
   533              "description": "Subscription from which the Access Request belongs to.",
   534              "type": "string"
   535            },
   536            "support_case_id": {
   537              "description": "Support case ID linking to JIRA ticket.",
   538              "type": "string"
   539            },
   540            "updated_at": {
   541              "description": "Date and time when the access request was lastly updated, using the\nformat defined in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt).",
   542              "type": "string",
   543              "format": "date-time"
   544            }
   545          }
   546        },
   547        "AccessRequestPostRequest": {
   548          "description": "Representation of an access request post request.",
   549          "properties": {
   550            "cluster_id": {
   551              "description": "Cluster from which the Access Request belongs to.",
   552              "type": "string"
   553            },
   554            "deadline": {
   555              "description": "How long the Access Request can be in pending state waiting for a customer decision.",
   556              "type": "string"
   557            },
   558            "duration": {
   559              "description": "How long the access will last after it's been approved.",
   560              "type": "string"
   561            },
   562            "internal_support_case_id": {
   563              "description": "Internal support case id linking to jira ticket.",
   564              "type": "string"
   565            },
   566            "justification": {
   567              "description": "Justification of the Access Request.",
   568              "type": "string"
   569            },
   570            "subscription_id": {
   571              "description": "Subscription from which the Access Request belongs to.",
   572              "type": "string"
   573            },
   574            "support_case_id": {
   575              "description": "Support case ID linking to JIRA ticket.",
   576              "type": "string"
   577            }
   578          }
   579        },
   580        "AccessRequestState": {
   581          "description": "Possible states to an access request status.",
   582          "type": "string",
   583          "enum": [
   584            "Approved",
   585            "Denied",
   586            "Expired",
   587            "Pending"
   588          ]
   589        },
   590        "AccessRequestStatus": {
   591          "description": "Representation of an access request status.",
   592          "properties": {
   593            "expires_at": {
   594              "description": "Date and time when the access request will expire, using the\nformat defined in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt).",
   595              "type": "string",
   596              "format": "date-time"
   597            },
   598            "state": {
   599              "description": "Current state of the Access Request.",
   600              "$ref": "#/components/schemas/AccessRequestState"
   601            }
   602          }
   603        },
   604        "Decision": {
   605          "description": "Representation of an decision.",
   606          "properties": {
   607            "kind": {
   608              "description": "Indicates the type of this object. Will be 'Decision' if this is a complete object or 'DecisionLink' if it is just a link.",
   609              "type": "string"
   610            },
   611            "id": {
   612              "description": "Unique identifier of the object.",
   613              "type": "string"
   614            },
   615            "href": {
   616              "description": "Self link.",
   617              "type": "string"
   618            },
   619            "created_at": {
   620              "description": "Date and time when the decision was initially created, using the\nformat defined in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt).",
   621              "type": "string",
   622              "format": "date-time"
   623            },
   624            "decided_by": {
   625              "description": "User that decided.",
   626              "type": "string"
   627            },
   628            "decision": {
   629              "description": "State of the decision.",
   630              "$ref": "#/components/schemas/DecisionDecision"
   631            },
   632            "justification": {
   633              "description": "Justification of the decision.",
   634              "type": "string"
   635            },
   636            "updated_at": {
   637              "description": "Date and time when the decision was lastly updated, using the\nformat defined in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt).",
   638              "type": "string",
   639              "format": "date-time"
   640            }
   641          }
   642        },
   643        "DecisionDecision": {
   644          "description": "Possible decisions to a decision status.",
   645          "type": "string",
   646          "enum": [
   647            "Approved",
   648            "Denied",
   649            "Expired"
   650          ]
   651        },
   652        "Error": {
   653          "type": "object",
   654          "properties": {
   655            "kind": {
   656              "description": "Indicates the type of this object. Will always be 'Error'",
   657              "type": "string"
   658            },
   659            "id": {
   660              "description": "Numeric identifier of the error.",
   661              "type": "integer",
   662              "format": "int32"
   663            },
   664            "href": {
   665              "description": "Self link.",
   666              "type": "string"
   667            },
   668            "code": {
   669              "description": "Globally unique code of the error, composed of the unique identifier of the API and the numeric identifier of the error. For example, for if the numeric identifier of the error is `93` and the identifier of the API is `clusters_mgmt` then the code will be `CLUSTERS-MGMT-93`.",
   670              "type": "string"
   671            },
   672            "reason": {
   673              "description": "Human readable description of the error.",
   674              "type": "string"
   675            },
   676            "details": {
   677              "description": "Extra information about the error.",
   678              "type": "object",
   679              "additionalProperties": true
   680            }
   681          }
   682        }
   683      },
   684      "securitySchemes": {
   685        "bearer": {
   686          "type": "http",
   687          "scheme": "bearer",
   688          "bearerFormat": "JWT"
   689        }
   690      }
   691    },
   692    "security": [
   693      {
   694        "bearer": [
   695          
   696        ]
   697      }
   698    ]
   699  }