{
  "openapi": "3.0.0",
  "info": {
    "description": "Acl Binding Api Documentation",
    "version": "0.1.0",
    "title": "Acl Binding Api Documentation",
    "termsOfService": "urn:tos",
    "contact": {},
    "license": {
      "name": "Apache 2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0"
    }
  },
  "tags": [
    {
      "name": "Acl Binding"
    }
  ],
  "servers": [
    {
      "url": "http://localhost:8080"
    }
  ],
  "paths": {
    "/v1/admin/acl-bindings/list": {
      "post": {
        "tags": [
          "Acl Binding"
        ],
        "summary": "Get ACL Bindings",
        "operationId": "getAclBindings",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AclBindingListingApiRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AclBindingApiResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/acl-bindings/create": {
      "post": {
        "tags": [
          "Acl Binding"
        ],
        "summary": "Create ACL Binding",
        "operationId": "createAclBinding",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AclBindingCreateApiRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "CREATED",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AclBindingApiResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/admin/acl-bindings/delete": {
      "put": {
        "tags": [
          "Acl Binding"
        ],
        "summary": "Delete ACL Binding",
        "operationId": "deleteAclBinding",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AclBindingDeleteApiRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "NO_CONTENT"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AclBindingCreateApiRequest": {
        "type": "object",
        "properties": {
          "principal": {
            "type": "string"
          },
          "host": {
            "type": "string"
          },
          "operation": {
            "type": "string"
          },
          "permissionType": {
            "type": "string"
          },
          "resourceType": {
            "type": "string"
          },
          "resourceName": {
            "type": "string"
          },
          "patternType": {
            "type": "string"
          }
        }
      },
      "AclBindingListingApiRequest": {
        "type": "object",
        "properties": {
          "principal": {
            "type": "string"
          },
          "host": {
            "type": "string"
          },
          "operation": {
            "type": "string"
          },
          "permissionType": {
            "type": "string"
          },
          "resourceType": {
            "type": "string"
          },
          "resourceName": {
            "type": "string"
          },
          "patternType": {
            "type": "string"
          }
        }
      },
      "AclBindingDeleteApiRequest": {
        "type": "object",
        "properties": {
          "principal": {
            "type": "string"
          },
          "host": {
            "type": "string"
          },
          "operation": {
            "type": "string"
          },
          "permissionType": {
            "type": "string"
          },
          "resourceType": {
            "type": "string"
          },
          "resourceName": {
            "type": "string"
          },
          "patternType": {
            "type": "string"
          }
        }
      },
      "AclBindingApiResponse": {
        "type": "object",
        "properties": {
          "principal": {
            "type": "string"
          },
          "host": {
            "type": "string"
          },
          "operation": {
            "type": "string"
          },
          "permissionType": {
            "type": "string"
          },
          "resourceType": {
            "type": "string"
          },
          "resourceName": {
            "type": "string"
          },
          "patternType": {
            "type": "string"
          }
        }
      },
      "CommonMap": {
        "type": "object",
        "additionalProperties": {
          "type": "object"
        }
      },
      "NotBlankString": {
        "type": "string",
        "pattern": "^(?!\\s*$).+"
      }
    }
  }
}