{
  "openapi": "3.0.2",
  "info": {
    "title": "Popsink public API",
    "description": "Welcome to Popsink, your go-to SaaS solution for seamless programmatic interaction! With our API service, developers can effortlessly integrate Popsink's powerful features into their applications and workflows. Whether it's automating tasks, accessing data, or managing resources, our API provides a flexible and intuitive interface to unleash the full potential of Popsink. Experience the convenience and efficiency of programmatically interacting with Popsink to streamline your processes and unlock new possibilities.",
    "version": "0.0.1"
  },
  "paths": {
    "/organizations/": {
      "get": {
        "tags": [
          "organizations"
        ],
        "summary": "Get Organizations",
        "description": "Get the organizations of the current user.",
        "operationId": "get_organizations_organizations__get",
        "parameters": [
          {
            "required": false,
            "schema": {
              "title": "Authorization",
              "type": "string",
              "default": ""
            },
            "name": "authorization",
            "in": "header"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "organizations"
        ],
        "summary": "Create Organization",
        "description": "Create an organization.",
        "operationId": "create_organization_organizations__post",
        "parameters": [
          {
            "required": false,
            "schema": {
              "title": "Authorization",
              "type": "string",
              "default": ""
            },
            "name": "authorization",
            "in": "header"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationConfig"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organization_uuid}/": {
      "get": {
        "tags": [
          "organizations"
        ],
        "summary": "Get Organization",
        "description": "Get a specific organization details.",
        "operationId": "get_organization_organizations__organization_uuid___get",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Organization Uuid",
              "type": "string"
            },
            "name": "organization_uuid",
            "in": "path"
          },
          {
            "required": false,
            "schema": {
              "title": "Authorization",
              "type": "string",
              "default": ""
            },
            "name": "authorization",
            "in": "header"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "organizations"
        ],
        "summary": "Delete Organization",
        "description": "Delete a specific organization.",
        "operationId": "delete_organization_organizations__organization_uuid___delete",
        "parameters": [
          {
            "required": true,
            "schema": {
              "title": "Organization Uuid",
              "type": "string"
            },
            "name": "organization_uuid",
            "in": "path"
          },
          {
            "required": false,
            "schema": {
              "title": "Authorization",
              "type": "string",
              "default": ""
            },
            "name": "authorization",
            "in": "header"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/users/me/": {
      "get": {
        "summary": "Get Me",
        "description": "Get the current user.",
        "operationId": "get_me_users_me__get",
        "parameters": [
          {
            "required": false,
            "schema": {
              "title": "Authorization",
              "type": "string",
              "default": ""
            },
            "name": "authorization",
            "in": "header"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/": {
      "get": {
        "summary": "Root",
        "description": "Root message.",
        "operationId": "root__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    },
    "/auth/": {
      "post": {
        "summary": "Auth",
        "description": "Authenticate the user from Auth0.\n\nAuth0 response is like:\n{\n    \"access_token\": \"eyJ...Ggg\",\n    \"expires_in\": 86400,\n    \"scope\": \"read:clients create:clients read:client_keys\",\n    \"token_type\": \"Bearer\"\n}",
        "operationId": "auth_auth__post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Credentials"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Credentials": {
        "title": "Credentials",
        "required": [
          "username",
          "password"
        ],
        "type": "object",
        "properties": {
          "username": {
            "title": "Username",
            "type": "string"
          },
          "password": {
            "title": "Password",
            "type": "string"
          }
        },
        "description": "Define a message event, to send to kafka."
      },
      "HTTPValidationError": {
        "title": "HTTPValidationError",
        "type": "object",
        "properties": {
          "detail": {
            "title": "Detail",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            }
          }
        }
      },
      "OrganizationConfig": {
        "title": "OrganizationConfig",
        "required": [
          "name",
          "region_label"
        ],
        "type": "object",
        "properties": {
          "name": {
            "title": "Name",
            "type": "string"
          },
          "region_label": {
            "title": "Region Label",
            "type": "string"
          }
        },
        "description": "Define a message event, to send to Kafka."
      },
      "ValidationError": {
        "title": "ValidationError",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "type": "object",
        "properties": {
          "loc": {
            "title": "Location",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            }
          },
          "msg": {
            "title": "Message",
            "type": "string"
          },
          "type": {
            "title": "Error Type",
            "type": "string"
          }
        }
      }
    }
  }
}