IllumiDesk icon

IllumiDesk

Connect to IllumiDesk with 1 MCP tools for AI-powered API automation.

COMMUNITYAPI KEY0 INSTALLS
OpenAPI Specificationv3.0
{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "api.illumidesk.com",
  "info": {
    "title": "IllumiDesk",
    "version": "1.0",
    "x-apisguru-categories": [
      "open_data"
    ],
    "x-logo": {
      "backgroundColor": "#FFFFFF",
      "url": "https://api.apis.guru/v2/cache/logo/https_avatars3.githubusercontent.com_u_12212444.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/3Blades/openapi/master/tbs_swagger.yml",
        "version": "2.0"
      }
    ],
    "x-providerName": "illumidesk.com"
  },
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json",
    "text/html"
  ],
  "securityDefinitions": {
    "jwt": {
      "description": "A valid JSON Web Token (JWT) must be passed for all operations except for those in the `/auth` route. A JWT can be retrieved from the `/auth/jwt-token-auth` endpoint.\n\nThe following syntax is required:\n\n  Authorization: Bearer <token>\n",
      "in": "header",
      "name": "Authorization",
      "type": "apiKey"
    }
  },
  "security": [
    {
      "jwt": []
    }
  ],
  "paths": {
    "/auth/jwt-token-auth/": {
      "post": {
        "operationId": "auth_jwt-token-auth",
        "parameters": [
          {
            "in": "body",
            "name": "jwt_data",
            "schema": {
              "$ref": "#/definitions/JWTData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "JWT created",
            "examples": {
              "application/json": {
                "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ"
              }
            },
            "schema": {
              "$ref": "#/definitions/JWT"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/JWTError"
            }
          }
        },
        "security": [],
        "summary": "Create JSON Web Token (JWT)",
        "tags": [
          "auth"
        ]
      }
    },
    "/auth/jwt-token-refresh/": {
      "post": {
        "description": "Obtains a new JSON Web Token using existing user credentials.",
        "operationId": "auth_jwt-token-refresh",
        "parameters": [
          {
            "in": "body",
            "name": "refreshjwt_data",
            "schema": {
              "$ref": "#/definitions/RefreshJSONWebTokenData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "RefreshJSONWebToken created",
            "schema": {
              "$ref": "#/definitions/RefreshJSONWebToken"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/RefreshJSONWebTokenError"
            }
          }
        },
        "security": [],
        "summary": "Refresh a JSON Web Token (JWT)",
        "tags": [
          "auth"
        ]
      }
    },
    "/auth/jwt-token-verify/": {
      "post": {
        "description": "Checks veraciy of token.",
        "operationId": "auth_jwt-token-verify",
        "parameters": [
          {
            "in": "body",
            "name": "verifyjwt_data",
            "schema": {
              "$ref": "#/definitions/VerifyJSONWebTokenData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "VerifyJSONWebToken created",
            "examples": {
              "application/json": {
                "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ"
              }
            },
            "schema": {
              "$ref": "#/definitions/VerifyJSONWebToken"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/VerifyJSONWebTokenError"
            }
          }
        },
        "security": [],
        "summary": "Validate JSON Web Token (JWT)",
        "tags": [
          "auth"
        ]
      }
    },
    "/auth/login/{provider}/": {
      "get": {
        "operationId": "oauth_login",
        "parameters": [
          {
            "description": "OAuth2 provider",
            "enum": [
              "github",
              "google",
              "slack"
            ],
            "in": "path",
            "name": "provider",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "302": {
            "description": "Redirect to backend auth page"
          }
        },
        "tags": [
          "auth"
        ]
      }
    },
    "/auth/register/": {
      "post": {
        "description": "User registration requires confirming email address to activate user.",
        "operationId": "auth_register",
        "parameters": [
          {
            "in": "body",
            "name": "user_data",
            "schema": {
              "$ref": "#/definitions/UserData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "User created",
            "examples": {
              "application/json": {
                "email": "user@email.com",
                "first_name": "John",
                "id": "536686d7-0096-4c72-a4c3-5d710a361a0a",
                "last_name": "Doe",
                "profile": {
                  "avatar_url": "http://example.com/",
                  "bio": "I like tests",
                  "company": "IllumiDesk",
                  "location": "Atlanta, GA",
                  "timezone": "America/New_York",
                  "url": "http://about.me/myprofile"
                },
                "username": "johndoe"
              }
            },
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/UserError"
            }
          }
        },
        "security": [],
        "summary": "Register a user",
        "tags": [
          "auth"
        ]
      }
    },
    "/v1/me": {
      "get": {
        "operationId": "me",
        "responses": {
          "200": {
            "description": "User information retrieved.",
            "examples": {
              "application/json": {
                "email": "johndoe@email.com",
                "first_name": "John",
                "id": "66949654-1f75-4c6f-a5c5-e3572eae6527",
                "last_name": "Doe",
                "profile": {
                  "avatar_url": "http://example.com/",
                  "bio": "I like tests",
                  "company": "3Blades",
                  "location": "Atlanta, GA",
                  "timezone": "America/New_York",
                  "url": "http://about.me/myprofile"
                },
                "username": "johndoe"
              }
            },
            "schema": {
              "$ref": "#/definitions/User"
            }
          }
        },
        "summary": "A convenience endpoint that is equivalent to GET /v1/users/profiles/<my user id>/",
        "tags": [
          "users"
        ]
      }
    },
    "/v1/servers/options/server-size/": {
      "get": {
        "operationId": "servers_options_sizes_list",
        "parameters": [
          {
            "description": "Set limit when retrieving items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when retrieving items.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Set order when retrieving items.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Server size list.",
            "examples": {
              "application/json": []
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/ServerSize"
              },
              "type": "array"
            }
          }
        },
        "summary": "Retrieve available server sizes",
        "tags": [
          "servers"
        ]
      },
      "post": {
        "description": "Only super users with on-premises version have acceess to this endpoint.",
        "operationId": "servers_options_server_size_create",
        "parameters": [
          {
            "in": "body",
            "name": "serversize_data",
            "schema": {
              "$ref": "#/definitions/ServerSizeData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "ServerSize created. This operation is available only to super users.",
            "examples": {
              "application/json": {
                "active": true,
                "cpu": 1,
                "id": "2f4a5830-169d-4111-b913-e68c7b94fdbe",
                "memory": 512,
                "name": "myResource"
              }
            },
            "schema": {
              "$ref": "#/definitions/ServerSize"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/ServerSizeError"
            }
          }
        },
        "summary": "Create a new server size item",
        "tags": [
          "servers"
        ]
      }
    },
    "/v1/servers/options/server-size/{size}/": {
      "delete": {
        "description": "Only super users with on-premises version have acceess to this endpoint.",
        "operationId": "servers_options_server_size_delete",
        "parameters": [
          {
            "description": "Server size unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "size",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Server size deleted. This operation is available only to super users"
          },
          "404": {
            "description": "ServerSize not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete a server size by id",
        "tags": [
          "servers"
        ]
      },
      "get": {
        "operationId": "servers_options_resources_read",
        "parameters": [
          {
            "description": "Server size unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "size",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Environment resource retrieved.",
            "examples": {
              "application/json": {
                "active": true,
                "cpu": 1,
                "id": "2f4a5830-169d-4111-b913-e68c7b94fdbe",
                "memory": 512,
                "name": "myResource"
              }
            },
            "schema": {
              "$ref": "#/definitions/ServerSize"
            }
          },
          "404": {
            "description": "Environment resource not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Get a server size by id",
        "tags": [
          "servers"
        ]
      },
      "patch": {
        "description": "Only super users with on-premises version have acceess to this endpoint.",
        "operationId": "servers_options_server_size_update",
        "parameters": [
          {
            "description": "Server size unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "size",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "serversize_data",
            "schema": {
              "$ref": "#/definitions/ServerSizeData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Server size updated. This operation is available only to super users.",
            "examples": {
              "application/json": {
                "active": true,
                "cpu": 1,
                "id": "b673c7ab-65ad-4d6e-859e-0483eea86ad6",
                "memory": 512,
                "name": "myServerSizeWithPatch"
              }
            },
            "schema": {
              "$ref": "#/definitions/ServerSize"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/ServerSizeError"
            }
          },
          "404": {
            "description": "Server size not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Update a server size by id",
        "tags": [
          "servers"
        ]
      },
      "put": {
        "description": "Only super users with on-premises version have acceess to this endpoint.",
        "operationId": "servers_options_server_size_replace",
        "parameters": [
          {
            "description": "Server size unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "size",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "serversize_data",
            "schema": {
              "$ref": "#/definitions/ServerSizeData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Server size replaced. This operation is available only to super users.",
            "examples": {
              "application/json": {
                "active": true,
                "cpu": 1,
                "id": "b673c7ab-65ad-4d6e-859e-0483eea86ad6",
                "memory": 512,
                "name": "myResourceWithPut"
              }
            },
            "schema": {
              "$ref": "#/definitions/ServerSize"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/ServerSizeError"
            }
          },
          "404": {
            "description": "ServerSize not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Replace a server size by id",
        "tags": [
          "servers"
        ]
      }
    },
    "/v1/teams/": {
      "get": {
        "operationId": "teams_list",
        "parameters": [
          {
            "description": "Limit when getting data.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when getting data.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Team list",
            "examples": {
              "application/json": []
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/Team"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get teams",
        "tags": [
          "teams"
        ]
      },
      "post": {
        "operationId": "teams_create",
        "parameters": [
          {
            "in": "body",
            "name": "team_data",
            "schema": {
              "$ref": "#/definitions/TeamData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Team created",
            "schema": {
              "$ref": "#/definitions/Team"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/TeamError"
            }
          }
        },
        "summary": "Create a new team",
        "tags": [
          "teams"
        ]
      }
    },
    "/v1/teams/{team}/": {
      "delete": {
        "operationId": "teams_delete",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Team deleted."
          },
          "404": {
            "description": "Team not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete a team",
        "tags": [
          "teams"
        ]
      },
      "get": {
        "operationId": "teams_read",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Team retrieved successfully.",
            "schema": {
              "$ref": "#/definitions/Team"
            }
          },
          "404": {
            "description": "Team not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Get a team",
        "tags": [
          "teams"
        ]
      },
      "patch": {
        "operationId": "teams_update",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "team_data",
            "schema": {
              "$ref": "#/definitions/TeamData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Team updated",
            "schema": {
              "$ref": "#/definitions/Team"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/TeamError"
            }
          },
          "404": {
            "description": "Team not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Update a team",
        "tags": [
          "teams"
        ]
      },
      "put": {
        "operationId": "teams_replace",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "team_data",
            "schema": {
              "$ref": "#/definitions/TeamData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Team updated",
            "schema": {
              "$ref": "#/definitions/Team"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/TeamError"
            }
          }
        },
        "summary": "Replace a team",
        "tags": [
          "teams"
        ]
      }
    },
    "/v1/teams/{team}/billing/invoices/": {
      "get": {
        "operationId": "teams_billing_invoices_list",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limit when getting items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when getting items.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Invoice list.",
            "examples": {
              "application/json": []
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/Invoice"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get team invoices",
        "tags": [
          "teams",
          "billing"
        ]
      }
    },
    "/v1/teams/{team}/billing/invoices/{id}/": {
      "get": {
        "operationId": "teams_billing_invoices_read",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          },
          {
            "description": "Invoice unique identifier expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Team invoice retrieved.",
            "schema": {
              "$ref": "#/definitions/Invoice"
            }
          },
          "404": {
            "description": "Team invoice not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Get an invoice",
        "tags": [
          "teams",
          "billing"
        ]
      }
    },
    "/v1/teams/{team}/billing/invoices/{invoice_id}/invoice-items/": {
      "get": {
        "operationId": "teams_billing_invoice_items_list",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          },
          {
            "description": "Invoice id, expressed as UUID.",
            "in": "path",
            "name": "invoice_id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limit when getting items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when getting items.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Ordering when getting items.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Team invoiceItem list.",
            "examples": {
              "application/json": []
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/InvoiceItem"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get team invoice items for a given invoice.",
        "tags": [
          "teams",
          "billing"
        ]
      }
    },
    "/v1/teams/{team}/billing/invoices/{invoice_id}/invoice-items/{id}": {
      "get": {
        "operationId": "teams_billing_invoice_items_read",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          },
          {
            "description": "Invoice id, expressed as UUID.",
            "in": "path",
            "name": "invoice_id",
            "required": true,
            "type": "string"
          },
          {
            "description": "InvoiceItem id, expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Team invoiceItem retrieved.",
            "schema": {
              "$ref": "#/definitions/InvoiceItem"
            }
          },
          "404": {
            "description": "InvoiceItem not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Get a specific team InvoiceItem.",
        "tags": [
          "teams",
          "billing"
        ]
      }
    },
    "/v1/teams/{team}/billing/subscriptions/": {
      "get": {
        "operationId": "teams_billing_subscriptions_list",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limit when getting items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when getting items.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Ordering when getting items.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Teams subscription list.",
            "examples": {
              "application/json": [
                {
                  "application_fee_percent": 0,
                  "cancel_at_period_end": false,
                  "canceled_at": "",
                  "created": "2017-07-24T17:25:04Z",
                  "current_period_end": "2017-07-31T17:25:04Z",
                  "current_period_start": "2017-07-24T17:25:04Z",
                  "ended_at": "",
                  "id": "579208c3-4f5c-4b5d-baa3-309a06db681c",
                  "livemode": false,
                  "plan": "efb36cb0-0ef2-4af3-ae5d-10d9ae73845d",
                  "quantity": 1,
                  "start": "2017-07-24T17:25:04Z",
                  "status": "trialing",
                  "stripe_id": "sub_B5KyO9BZ6lUNPP",
                  "trial_end": "2017-07-31T17:25:04Z",
                  "trial_start": "2017-07-24T17:25:04Z"
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/Subscription"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get active team subscriptons",
        "tags": [
          "teams",
          "billing"
        ]
      },
      "post": {
        "operationId": "teams_billing_subscriptions_create",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "subscription_data",
            "schema": {
              "$ref": "#/definitions/SubscriptionData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Team subscription created",
            "examples": {
              "application/json": {
                "application_fee_percent": 0,
                "cancel_at_period_end": false,
                "canceled_at": "",
                "created": "2017-07-24T17:25:04Z",
                "current_period_end": "2017-07-31T17:25:04Z",
                "current_period_start": "2017-07-24T17:25:04Z",
                "ended_at": "",
                "id": "579208c3-4f5c-4b5d-baa3-309a06db681c",
                "livemode": false,
                "plan": "efb36cb0-0ef2-4af3-ae5d-10d9ae73845d",
                "quantity": 1,
                "start": "2017-07-24T17:25:04Z",
                "status": "trialing",
                "stripe_id": "sub_B5KyO9BZ6lUNPP",
                "trial_end": "2017-07-31T17:25:04Z",
                "trial_start": "2017-07-24T17:25:04Z"
              }
            },
            "schema": {
              "$ref": "#/definitions/Subscription"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/SubscriptionError"
            }
          }
        },
        "summary": "Create a new team subscription",
        "tags": [
          "teams",
          "billing"
        ]
      }
    },
    "/v1/teams/{team}/billing/subscriptions/{id}/": {
      "delete": {
        "operationId": "teams_billing_subscriptions_delete",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription unique identifier expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Subscription deleted."
          },
          "404": {
            "description": "Subscription not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete a subscription",
        "tags": [
          "teams",
          "billing"
        ]
      },
      "get": {
        "operationId": "teams_billing_subscriptions_read",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          },
          {
            "description": "Unique identifier expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Team subscription retrieved.",
            "schema": {
              "$ref": "#/definitions/Subscription"
            }
          },
          "404": {
            "description": "Subscription not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Get team subscriptions",
        "tags": [
          "teams",
          "billing"
        ]
      }
    },
    "/v1/teams/{team}/groups/": {
      "get": {
        "operationId": "teams_groups_list",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limit when getting data.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when getting data.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Team groups list",
            "schema": {
              "items": {
                "$ref": "#/definitions/Group"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get team groups",
        "tags": [
          "teams"
        ]
      }
    },
    "/v1/teams/{team}/groups/{group}/": {
      "delete": {
        "operationId": "teams_groups_delete",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          },
          {
            "description": "Group unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "group",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Group deleted"
          },
          "404": {
            "description": "Group not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete team group",
        "tags": [
          "teams"
        ]
      },
      "get": {
        "operationId": "teams_groups_read",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          },
          {
            "description": "Group unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "group",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Group retrieved.",
            "schema": {
              "$ref": "#/definitions/Group"
            }
          }
        },
        "summary": "Get team group",
        "tags": [
          "teams"
        ]
      },
      "patch": {
        "operationId": "teams_groups_update",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          },
          {
            "description": "Group unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "group",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "group_data",
            "schema": {
              "$ref": "#/definitions/GroupData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Group updated",
            "schema": {
              "$ref": "#/definitions/Group"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/GroupError"
            }
          },
          "404": {
            "description": "Group not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Patch team group",
        "tags": [
          "teams"
        ]
      },
      "put": {
        "operationId": "teams_groups_replace",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          },
          {
            "description": "Group unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "group",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "group_data",
            "schema": {
              "$ref": "#/definitions/GroupData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Group replaced",
            "schema": {
              "$ref": "#/definitions/Group"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/GroupError"
            }
          }
        },
        "summary": "Patch team group",
        "tags": [
          "teams"
        ]
      }
    },
    "/v1/teams/{team}/groups/{group}/add/": {
      "post": {
        "operationId": "teams_groups_add_to_group",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          },
          {
            "description": "Group unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "group",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User added to group.",
            "schema": {
              "$ref": "#/definitions/GroupUser"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/GroupUserError"
            }
          },
          "404": {
            "description": "Group not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Add user to group",
        "tags": [
          "teams"
        ]
      }
    },
    "/v1/teams/{team}/groups/{group}/remove/": {
      "post": {
        "operationId": "teams_groups_remove_from_group",
        "parameters": [
          {
            "description": "Team unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "team",
            "required": true,
            "type": "string"
          },
          {
            "description": "Group unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "group",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User removed from group."
          },
          "400": {
            "description": "Invalid data supplied"
          },
          "404": {
            "description": "Group not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "User removed from group",
        "tags": [
          "teams"
        ]
      }
    },
    "/v1/users/profiles/": {
      "get": {
        "operationId": "users_list",
        "parameters": [
          {
            "description": "Limit user list.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when getting users.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "User username.",
            "in": "query",
            "name": "username",
            "required": false,
            "type": "string"
          },
          {
            "description": "User email.",
            "in": "query",
            "name": "email",
            "required": false,
            "type": "string"
          },
          {
            "description": "Ordering when getting users.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User list",
            "examples": {
              "application/json": [
                {
                  "email": "johndoe@email.com",
                  "first_name": "John",
                  "id": "66949654-1f75-4c6f-a5c5-e3572eae6527",
                  "last_name": "Doe",
                  "profile": {
                    "avatar_url": "http://example.com/",
                    "bio": "I like tests",
                    "company": "3Blades",
                    "location": "Atlanta, GA",
                    "timezone": "America/New_York",
                    "url": "http://about.me/myprofile"
                  },
                  "username": "johndoe"
                },
                {
                  "email": "janedoe@email.com",
                  "first_name": "John",
                  "id": "66949654-1f75-4c6f-a5c5-e3572eae6527",
                  "last_name": "Doe",
                  "profile": {
                    "avatar_url": "http://example.com/",
                    "bio": "I like tests",
                    "company": "3Blades",
                    "location": "Atlanta, GA",
                    "timezone": "America/New_York",
                    "url": "http://about.me/myprofile"
                  },
                  "username": "janedoe"
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/User"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get user list",
        "tags": [
          "users"
        ]
      },
      "post": {
        "description": "Only admin users can create new users. New users have active status by default.",
        "operationId": "users_create",
        "parameters": [
          {
            "in": "body",
            "name": "user_data",
            "schema": {
              "$ref": "#/definitions/UserData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "User created",
            "examples": {
              "application/json": {
                "email": "johndoe@email.com",
                "first_name": "John",
                "id": "66949654-1f75-4c6f-a5c5-e3572eae6527",
                "last_name": "Doe",
                "profile": {
                  "avatar_url": "http://example.com/",
                  "bio": "I like tests",
                  "company": "3Blades",
                  "location": "Atlanta, GA",
                  "timezone": "America/New_York",
                  "url": "http://about.me/myprofile"
                },
                "username": "johndoe"
              }
            },
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/UserError"
            }
          }
        },
        "summary": "Create new user",
        "tags": [
          "users"
        ]
      }
    },
    "/v1/users/profiles/{user}/": {
      "delete": {
        "operationId": "users_delete",
        "parameters": [
          {
            "description": "User identifier expressed as UUID or username.",
            "in": "path",
            "name": "user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "User deleted."
          },
          "404": {
            "description": "User not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete a user",
        "tags": [
          "users"
        ]
      },
      "get": {
        "operationId": "users_read",
        "parameters": [
          {
            "description": "Unique identifier expressed as UUID or username.",
            "in": "path",
            "name": "user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User retrieved.",
            "examples": {
              "application/json": {
                "email": "johndoe@email.com",
                "first_name": "John",
                "id": "66949654-1f75-4c6f-a5c5-e3572eae6527",
                "last_name": "Doe",
                "profile": {
                  "avatar_url": "http://example.com/",
                  "bio": "I like tests",
                  "company": "3Blades",
                  "location": "Atlanta, GA",
                  "timezone": "America/New_York",
                  "url": "http://about.me/myprofile"
                },
                "username": "johndoe"
              }
            },
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          "404": {
            "description": "User not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Retrieve a user",
        "tags": [
          "users"
        ]
      },
      "patch": {
        "operationId": "users_update",
        "parameters": [
          {
            "description": "User unique identifier expressed as UUID or username.",
            "in": "path",
            "name": "user",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "user_data",
            "schema": {
              "$ref": "#/definitions/UserData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "User updated.",
            "examples": {
              "application/json": {
                "email": "runB@email.com",
                "first_name": "John",
                "id": "66949654-1f75-4c6f-a5c5-e3572eae6527",
                "last_name": "Doe",
                "profile": {
                  "avatar_url": "http://example.com/",
                  "bio": "Data updated with patch",
                  "company": "3Blades",
                  "location": "Atlanta, GA",
                  "timezone": "America/New_York",
                  "url": "http://about.me/myprofile"
                },
                "username": "johndoe"
              }
            },
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/UserError"
            }
          },
          "404": {
            "description": "User not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Update a user",
        "tags": [
          "users"
        ]
      }
    },
    "/v1/users/{user}/api-key/": {
      "get": {
        "operationId": "users_api-key_list",
        "parameters": [
          {
            "description": "User unique identifier expressed as UUID or username.",
            "in": "path",
            "name": "user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Api Key"
          }
        },
        "summary": "Retrieve account's API key",
        "tags": [
          "users"
        ]
      }
    },
    "/v1/users/{user}/avatar/": {
      "delete": {
        "operationId": "user_avatar_delete",
        "parameters": [
          {
            "description": "User unique identifier expressed as UUID or username.",
            "in": "path",
            "name": "user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Avatar deleted"
          },
          "404": {
            "description": "Avatar not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete avatar",
        "tags": [
          "users"
        ]
      },
      "get": {
        "operationId": "user_avatar_get",
        "parameters": [
          {
            "description": "User unique identifier expressed as UUIDor username.",
            "in": "path",
            "name": "user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User avatar"
          }
        },
        "summary": "Retrieve user's avatar",
        "tags": [
          "users"
        ]
      },
      "patch": {
        "consumes": [
          "multipart/form-data"
        ],
        "operationId": "user_avatar_update",
        "parameters": [
          {
            "description": "User unique identifier expressed as UUID or username.",
            "in": "path",
            "name": "user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Avatar updated.",
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/UserError"
            }
          },
          "404": {
            "description": "Avatar not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Update a project file",
        "tags": [
          "users"
        ]
      },
      "post": {
        "consumes": [
          "multipart/form-data"
        ],
        "operationId": "user_avatar_set",
        "parameters": [
          {
            "description": "User unique identifier expressed as UUID or username.",
            "in": "path",
            "name": "user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Added user avatar",
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          "400": {
            "description": "Invalid data supplied"
          }
        },
        "summary": "Add user avatar",
        "tags": [
          "users"
        ]
      }
    },
    "/v1/users/{user}/emails/": {
      "get": {
        "operationId": "users_emails_list",
        "parameters": [
          {
            "description": "User unique identifier as expressed as UUID or username.",
            "in": "path",
            "name": "user",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limite when getting email list.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when getting email list.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Ordering when getting email list.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Email list",
            "examples": {
              "application/json": []
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/Email"
              },
              "type": "array"
            }
          }
        },
        "summary": "Retrieve account email addresses",
        "tags": [
          "users"
        ]
      },
      "post": {
        "operationId": "users_emails_create",
        "parameters": [
          {
            "description": "User unique identifier expressed as UUID or username.",
            "in": "path",
            "name": "user",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "email_data",
            "schema": {
              "$ref": "#/definitions/EmailData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Email created",
            "examples": {
              "application/json": {
                "address": "post@email.com",
                "id": "383e0d16-2052-4196-95b8-d9d73ed043a9",
                "public": true,
                "unsubscribed": false
              }
            },
            "schema": {
              "$ref": "#/definitions/Email"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/EmailError"
            }
          }
        },
        "summary": "Create an email address",
        "tags": [
          "users"
        ]
      }
    },
    "/v1/users/{user}/emails/{email_id}/": {
      "delete": {
        "operationId": "users_emails_delete",
        "parameters": [
          {
            "description": "Email unique identifier expressed as UUID.",
            "in": "path",
            "name": "email_id",
            "required": true,
            "type": "string"
          },
          {
            "description": "User unique identifier expressed as UUID or username.",
            "in": "path",
            "name": "user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Email deleted."
          },
          "404": {
            "description": "Email not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete an email address",
        "tags": [
          "users"
        ]
      },
      "get": {
        "operationId": "users_emails_read",
        "parameters": [
          {
            "description": "Email unique identifier expressed as UUID.",
            "in": "path",
            "name": "email_id",
            "required": true,
            "type": "string"
          },
          {
            "description": "User unique identifier expressed as UUID or username.",
            "in": "path",
            "name": "user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Email retrieved",
            "examples": {
              "application/json": {
                "address": "post@email.com",
                "id": "383e0d16-2052-4196-95b8-d9d73ed043a9",
                "public": true,
                "unsubscribed": false
              }
            },
            "schema": {
              "$ref": "#/definitions/Email"
            }
          },
          "404": {
            "description": "Email not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Retrieve a user's email addresses",
        "tags": [
          "users"
        ]
      },
      "patch": {
        "operationId": "users_emails_update",
        "parameters": [
          {
            "description": "Email unique identifier expressed as UUID.",
            "in": "path",
            "name": "email_id",
            "required": true,
            "type": "string"
          },
          {
            "description": "User unique identifier expressed as UUID or username.",
            "in": "path",
            "name": "user",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "email_data",
            "schema": {
              "$ref": "#/definitions/EmailData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Email updated",
            "examples": {
              "application/json": {
                "address": "patch@email.com",
                "id": "383e0d16-2052-4196-95b8-d9d73ed043a9",
                "public": false,
                "unsubscribed": false
              }
            },
            "schema": {
              "$ref": "#/definitions/Email"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/EmailError"
            }
          },
          "404": {
            "description": "Email not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Update an email address",
        "tags": [
          "users"
        ]
      },
      "put": {
        "operationId": "users_emails_replace",
        "parameters": [
          {
            "description": "Email unique identifier expressed as UUID.",
            "in": "path",
            "name": "email_id",
            "required": true,
            "type": "string"
          },
          {
            "description": "User unique identifier expressed as UUID or username.",
            "in": "path",
            "name": "user",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "email_data",
            "schema": {
              "$ref": "#/definitions/EmailData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Email updated",
            "examples": {
              "application/json": {
                "address": "put@email.com",
                "id": "383e0d16-2052-4196-95b8-d9d73ed043a9",
                "public": false,
                "unsubscribed": true
              }
            },
            "schema": {
              "$ref": "#/definitions/Email"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/EmailError"
            }
          }
        },
        "summary": "Replace an email address",
        "tags": [
          "users"
        ]
      }
    },
    "/v1/users/{user}/ssh-key/": {
      "get": {
        "operationId": "users_ssh-key_list",
        "parameters": [
          {
            "description": "User unique identifier expressed as UUID or username.",
            "in": "path",
            "name": "user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "SSH Key.",
            "examples": {
              "application/json": {
                "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqadyIPIEOF4M7SDoI+MHnAj6q2CY2j62Eg0sNbBbjnuekxnhSWVVKPte+NVtK4MWIyw3wnCCzTjwe0p2pQpMqxjqnCAkBPGhOjrRWTvV54hHTihBxiAEmXqbaBg5e6SaXcqP1OajWYzDqhts4ISer0uymzi0hW65At5i5k87Xu9HSM/Q0ySVJGm0rMuDCIoaTIeQdTkAI9ww/cmOM7uvIDO0OJv2xai9xLB9APVq8zCtqWdivMaqo2waPDT/I9bwtSZxRsnRMakGmj3CWvciHv13UsGlbB7nTeDKX0eyQl/5SADLO0bU+hY/8BpRjjtdq57Pqn/Xyw22YarDkG74gjLG5GBFZkBxcpENoUtCUyE2bhBT4x9yXlTeycMBTopGtzTfIHrJtIgNCFMhg9LbK4IKP/1pLj8SrVaQ9/k/QkxmDFoqfwdGd3AWOghMCAbAB7KaDKrj/XBf/KgTd8ZozjvkTzu2YRf4o3DebxRJipPQumrH3iXX5Kfe9lBWkR7Smewwp2XZrdgBeXN/54hd+Ic3upi528IGzEzu3/xtLT/e7kLi1QH7CVVN1sskZkIRr7aukw4YiVWgVOAlqKzJEoE/BPZSOA0NlgG0h37ZmyhdY1VqtoD+Vnj7Qh272PlTB14ndEVTqGuZhsCSxIhXev+METZ6XezK5n1VQeHGveQ=="
              }
            }
          }
        },
        "summary": "Retrieve an SSH key",
        "tags": [
          "users"
        ]
      }
    },
    "/v1/users/{user}/ssh-key/reset/": {
      "post": {
        "operationId": "users_ssh-key_reset",
        "parameters": [
          {
            "description": "User unique identifier expressed as UUID or username.",
            "in": "path",
            "name": "user",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Reset SSH Key successfully.",
            "examples": {
              "application/json": {
                "key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDhMvg2+n2yNu0H2Hg8uiXfQtAid0WGRigNckb5J0T9GFINmqkYalI/AsWZbl4UfNMviD73h9xowUx+d7s2vB3E8bFxB9OWM22eLSp8fnbuhdI5mKBflq0jr6ms1cR/SD3YsbZ9sX6BqycQrjjYYl7WLM9rgec6b+EYyr/6nbDH/wql06TrNl6LUNkqI+YIqjRvqMeNEY9ux3sB+f46FRKO683u/cRCcp1eWAYf1ByYupIGREbQFLxhYv/NcKD8uIo7DRAuutwHKGOgnAl4WGUVsT5dplhaDYKlDTf2iMiJ+QDT25QABdrkHcIsu5D21AIdH3FI5UQnnu4unyEA77IDLp2EwKRr9k1XQc1o3zQ61+9Gm7Rt80WWgRsnhmshvAIDNcBv1+82kmA9jyeUf3M7KoRJLk6nIbZ1NwoVCX0VF3lRIB0Hvm/dL7Rpk8m/hE0SIIWIGaXbOT4ANFj+TxcF1Mfk7C3/T5/AYLHcq9ocYFKe4Q3Jv7tuHm600edpUfORdpCpjytcKStza07dRDa+OU577r6a1zHMrEMh8oEUtVO5pC1+EaRijTVaOR62DoarHdxJ23Ctk44o0JZfzj9VoVaAwVAhL1aT3pAQxQlWiTKpmYaHUYUp9SRJhyeFr/gpeIGTydKdawkh9Mz8KMlnu1GUolDDuOvSnvidzWaEaw=="
              }
            }
          },
          "400": {
            "description": "Invalid data supplied."
          }
        },
        "summary": "Recreate an SSH key",
        "tags": [
          "users"
        ]
      }
    },
    "/v1/{namespace}/billing/cards/": {
      "get": {
        "operationId": "billing_cards_list",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Set limit when retrieving credit or debit cards.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Set offset when retriving cards.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Order when retrieving cards.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Card list",
            "examples": {
              "application/json": []
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/Card"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get credit cards",
        "tags": [
          "billing"
        ]
      },
      "post": {
        "operationId": "billing_cards_create",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "card_data",
            "schema": {
              "$ref": "#/definitions/CardDataPost"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Card created",
            "examples": {
              "application/json": {
                "address_city": "Atlanta",
                "address_country": "United States",
                "address_line1": "3423 Piedmont Rd NE",
                "address_line1_check": "pass",
                "address_line2": "",
                "address_state": "Georgia",
                "address_zip": "30305",
                "address_zip_check": "pass",
                "brand": "Visa",
                "created": "2017-07-24T15:16:07.995380Z",
                "customer": "7e102c7b-55cd-49a0-9b23-58865eba1cc3",
                "cvc_check": "",
                "exp_month": 1,
                "exp_year": 2019,
                "fingerprint": "WpZ4zQymdmF5LhbH",
                "funding": "credit",
                "id": "4126086e-525a-4027-b9e7-ae8de47210b2",
                "last4": "4242",
                "name": "John Doe",
                "stripe_id": "card_1Aj8HuLUHPUzUsaQlDbaXjzA"
              }
            },
            "schema": {
              "$ref": "#/definitions/Card"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/CardError"
            }
          }
        },
        "summary": "Create new credit card",
        "tags": [
          "billing"
        ]
      }
    },
    "/v1/{namespace}/billing/cards/{id}/": {
      "delete": {
        "operationId": "billing_cards_delete",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Card unique identifier expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Card deleted."
          },
          "404": {
            "description": "Card not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete a credit card",
        "tags": [
          "billing"
        ]
      },
      "get": {
        "operationId": "billing_cards_read",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "User unique identifier expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Card retrieved.",
            "examples": {
              "application/json": {
                "address_city": "Atlanta",
                "address_country": "United States",
                "address_line1": "3423 Piedmont Rd NE",
                "address_line1_check": "pass",
                "address_line2": "",
                "address_state": "Georgia",
                "address_zip": "30305",
                "address_zip_check": "pass",
                "brand": "Visa",
                "created": "2017-07-24T15:16:07.995380Z",
                "customer": "7e102c7b-55cd-49a0-9b23-58865eba1cc3",
                "cvc_check": "",
                "exp_month": 1,
                "exp_year": 2019,
                "fingerprint": "WpZ4zQymdmF5LhbH",
                "funding": "credit",
                "id": "4126086e-525a-4027-b9e7-ae8de47210b2",
                "last4": "4242",
                "name": "John Doe",
                "stripe_id": "card_1Aj8HuLUHPUzUsaQlDbaXjzA"
              }
            },
            "schema": {
              "$ref": "#/definitions/Card"
            }
          },
          "404": {
            "description": "Card not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Get credit card by id",
        "tags": [
          "billing"
        ]
      },
      "patch": {
        "operationId": "billing_cards_update",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Card unique identifier.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "card_data",
            "schema": {
              "$ref": "#/definitions/CardDataPutandPatch"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Card updated",
            "examples": {
              "application/json": {
                "address_city": "Atlanta",
                "address_country": "United States",
                "address_line1": "3423 Piedmont Rd NE",
                "address_line1_check": "pass",
                "address_line2": "",
                "address_state": "Georgia",
                "address_zip": "30305",
                "address_zip_check": "pass",
                "brand": "Visa",
                "created": "2017-07-24T15:16:10.806003Z",
                "customer": "7e102c7b-55cd-49a0-9b23-58865eba1cc3",
                "cvc_check": "",
                "exp_month": 1,
                "exp_year": 2025,
                "fingerprint": "WpZ4zQymdmF5LhbH",
                "funding": "credit",
                "id": "4126086e-525a-4027-b9e7-ae8de47210b2",
                "last4": "4242",
                "name": "John Doe",
                "stripe_id": "card_1Aj8HuLUHPUzUsaQlDbaXjzA"
              }
            },
            "schema": {
              "$ref": "#/definitions/Card"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/CardUpdateError"
            }
          },
          "404": {
            "description": "Card not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Update a credit card",
        "tags": [
          "billing"
        ]
      },
      "put": {
        "operationId": "billing_cards_replace",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "card_data",
            "schema": {
              "$ref": "#/definitions/CardDataPutandPatch"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Card updated",
            "examples": {
              "application/json": {
                "address_city": "Atlanta",
                "address_country": "United States",
                "address_line1": "3423 Piedmont Rd NE",
                "address_line1_check": "pass",
                "address_line2": "",
                "address_state": "Georgia",
                "address_zip": "30305",
                "address_zip_check": "pass",
                "brand": "Visa",
                "created": "2017-07-24T15:16:07.995380Z",
                "customer": "7e102c7b-55cd-49a0-9b23-58865eba1cc3",
                "cvc_check": "",
                "exp_month": 1,
                "exp_year": 2027,
                "fingerprint": "WpZ4zQymdmF5LhbH",
                "funding": "credit",
                "id": "4126086e-525a-4027-b9e7-ae8de47210b2",
                "last4": "4242",
                "name": "John Doe",
                "stripe_id": "card_1Aj8HuLUHPUzUsaQlDbaXjzA"
              }
            },
            "schema": {
              "$ref": "#/definitions/Card"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/CardError"
            }
          }
        },
        "summary": "Replace a credit card",
        "tags": [
          "billing"
        ]
      }
    },
    "/v1/{namespace}/billing/invoices/": {
      "get": {
        "operationId": "billing_invoices_list",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limit when getting items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when getting items.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Ordering when getting items.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Invoice list.",
            "examples": {
              "application/json": []
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/Invoice"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get invoices",
        "tags": [
          "billing"
        ]
      }
    },
    "/v1/{namespace}/billing/invoices/{id}/": {
      "get": {
        "operationId": "billing_invoices_read",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Invoice unique identifier expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Invoice retrieved.",
            "schema": {
              "$ref": "#/definitions/Invoice"
            }
          },
          "404": {
            "description": "Invoice not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Get an invoice",
        "tags": [
          "billing"
        ]
      }
    },
    "/v1/{namespace}/billing/invoices/{invoice_id}/invoice-items/": {
      "get": {
        "operationId": "billing_invoice_items_list",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Invoice id, expressed as UUID.",
            "in": "path",
            "name": "invoice_id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limit when getting items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when getting items.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Ordering when getting items.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "InvoiceItem list.",
            "examples": {
              "application/json": []
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/InvoiceItem"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get invoice items for a given invoice.",
        "tags": [
          "billing"
        ]
      }
    },
    "/v1/{namespace}/billing/invoices/{invoice_id}/invoice-items/{id}": {
      "get": {
        "operationId": "billing_invoice_items_read",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Invoice id, expressed as UUID.",
            "in": "path",
            "name": "invoice_id",
            "required": true,
            "type": "string"
          },
          {
            "description": "InvoiceItem id, expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "InvoiceItem retrieved.",
            "schema": {
              "$ref": "#/definitions/InvoiceItem"
            }
          },
          "404": {
            "description": "InvoiceItem not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Get a specific InvoiceItem.",
        "tags": [
          "billing"
        ]
      }
    },
    "/v1/{namespace}/billing/plans/": {
      "get": {
        "operationId": "billing_plans_list",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limit when getting items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when getting items.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Ordering when getting items.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Plan list.",
            "examples": {
              "application/json": [
                {
                  "amount": 20,
                  "created": "2017-07-24T15:46:39Z",
                  "currency": "usd",
                  "id": "d5791ab3-aefb-45af-80fc-2c7a166d78eb",
                  "interval": "year",
                  "interval_count": 1,
                  "livemode": false,
                  "metadata": {},
                  "name": "patch_billing_plan",
                  "statement_descriptor": "",
                  "stripe_id": "post_billing_plan",
                  "trial_period_days": 7
                },
                {
                  "amount": 20,
                  "created": "2017-07-24T15:46:48Z",
                  "currency": "usd",
                  "id": "256fd63a-9d6b-48d2-8ff5-f56eaf54c59b",
                  "interval": "week",
                  "interval_count": 52,
                  "livemode": false,
                  "metadata": {},
                  "name": "post_billing_plan_2",
                  "statement_descriptor": "",
                  "stripe_id": "post_billing_plan_2",
                  "trial_period_days": 7
                },
                {
                  "amount": 20,
                  "created": "2017-07-24T15:46:52Z",
                  "currency": "usd",
                  "id": "5915a2ae-12f5-4927-bb26-3b0609228791",
                  "interval": "month",
                  "interval_count": 12,
                  "livemode": false,
                  "metadata": {},
                  "name": "post_billing_plan_3",
                  "statement_descriptor": "",
                  "stripe_id": "post_billing_plan_3",
                  "trial_period_days": 7
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/Plan"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get billing plans",
        "tags": [
          "billing"
        ]
      }
    },
    "/v1/{namespace}/billing/plans/{id}/": {
      "get": {
        "operationId": "billing_plans_read",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Plan unique identifier expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Plan retrieved",
            "examples": {
              "application/json": {
                "amount": 20,
                "created": "2017-07-24T15:46:39Z",
                "currency": "usd",
                "id": "d5791ab3-aefb-45af-80fc-2c7a166d78eb",
                "interval": "year",
                "interval_count": 1,
                "livemode": false,
                "metadata": {},
                "name": "post_billing_plan",
                "statement_descriptor": "",
                "stripe_id": "post_billing_plan",
                "trial_period_days": 7
              }
            },
            "schema": {
              "$ref": "#/definitions/Plan"
            }
          },
          "404": {
            "description": "Plan not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Get a billing plan",
        "tags": [
          "billing"
        ]
      }
    },
    "/v1/{namespace}/billing/subscriptions/": {
      "get": {
        "operationId": "billing_subscriptions_list",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limit when getting items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when getting items.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Ordering when getting items.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Subscription list.",
            "examples": {
              "application/json": [
                {
                  "application_fee_percent": 0,
                  "cancel_at_period_end": false,
                  "canceled_at": "",
                  "created": "2017-07-24T17:25:04Z",
                  "current_period_end": "2017-07-31T17:25:04Z",
                  "current_period_start": "2017-07-24T17:25:04Z",
                  "ended_at": "",
                  "id": "579208c3-4f5c-4b5d-baa3-309a06db681c",
                  "livemode": false,
                  "plan": "efb36cb0-0ef2-4af3-ae5d-10d9ae73845d",
                  "quantity": 1,
                  "start": "2017-07-24T17:25:04Z",
                  "status": "trialing",
                  "stripe_id": "sub_B5KyO9BZ6lUNPP",
                  "trial_end": "2017-07-31T17:25:04Z",
                  "trial_start": "2017-07-24T17:25:04Z"
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/Subscription"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get active subscriptons",
        "tags": [
          "billing"
        ]
      },
      "post": {
        "operationId": "billing_subscriptions_create",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "subscription_data",
            "schema": {
              "$ref": "#/definitions/SubscriptionData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Subscription created",
            "examples": {
              "application/json": {
                "application_fee_percent": 0,
                "cancel_at_period_end": false,
                "canceled_at": "",
                "created": "2017-07-24T17:25:04Z",
                "current_period_end": "2017-07-31T17:25:04Z",
                "current_period_start": "2017-07-24T17:25:04Z",
                "ended_at": "",
                "id": "579208c3-4f5c-4b5d-baa3-309a06db681c",
                "livemode": false,
                "plan": "efb36cb0-0ef2-4af3-ae5d-10d9ae73845d",
                "quantity": 1,
                "start": "2017-07-24T17:25:04Z",
                "status": "trialing",
                "stripe_id": "sub_B5KyO9BZ6lUNPP",
                "trial_end": "2017-07-31T17:25:04Z",
                "trial_start": "2017-07-24T17:25:04Z"
              }
            },
            "schema": {
              "$ref": "#/definitions/Subscription"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/SubscriptionError"
            }
          }
        },
        "summary": "Create a new subscription",
        "tags": [
          "billing"
        ]
      }
    },
    "/v1/{namespace}/billing/subscriptions/{id}/": {
      "delete": {
        "operationId": "billing_subscriptions_delete",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subscription unique identifier expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Subscription deleted."
          },
          "404": {
            "description": "Subscription not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete a subscription",
        "tags": [
          "billing"
        ]
      },
      "get": {
        "operationId": "billing_subscriptions_read",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Unique identifier expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Subscription retrieved.",
            "schema": {
              "$ref": "#/definitions/Subscription"
            }
          },
          "404": {
            "description": "Subscription not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Get a subscriptions",
        "tags": [
          "billing"
        ]
      }
    },
    "/v1/{namespace}/notifications/": {
      "get": {
        "operationId": "notifications_list",
        "parameters": [
          {
            "description": "User or team data.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limit when getting items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when getting items.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Ordering when getting items.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          },
          {
            "description": "When true, get only read notifications. When false, get only unread notifications. Default behavior is to return both read and unread.",
            "in": "query",
            "name": "read",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "List of notifications",
            "schema": {
              "items": {
                "$ref": "#/definitions/Notification"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get notifications of all types and entities for the authenticated user.",
        "tags": [
          "notifications"
        ]
      },
      "patch": {
        "operationId": "notifications_update_list",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "notification_data",
            "required": true,
            "schema": {
              "$ref": "#/definitions/NotificationListUpdateData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Notification updated",
            "schema": {
              "$ref": "#/definitions/Notification"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/NotificationError"
            }
          }
        },
        "summary": "Mark a list of notifications as either read or unread.",
        "tags": [
          "notifications"
        ]
      }
    },
    "/v1/{namespace}/notifications/entity/{entity}": {
      "get": {
        "operationId": "notifications_list_entity",
        "parameters": [
          {
            "description": "User or team data.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limit when getting items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when getting items.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Ordering when getting items.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          },
          {
            "description": "Entity to filter notifications by.",
            "enum": [
              "billing"
            ],
            "in": "path",
            "name": "entity",
            "required": true,
            "type": "string"
          },
          {
            "description": "When true, get only read notifications. When false, get only unread notifications. Default behavior is to return both read and unread.",
            "in": "query",
            "name": "read",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "List of notifications",
            "schema": {
              "items": {
                "$ref": "#/definitions/Notification"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get notifications of all types and entities for the authenticated user.",
        "tags": [
          "notifications"
        ]
      },
      "patch": {
        "operationId": "notifications_update_entity_list",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Entity to filter notifications by.",
            "enum": [
              "billing"
            ],
            "in": "path",
            "name": "entity",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "notification_data",
            "required": true,
            "schema": {
              "$ref": "#/definitions/NotificationListUpdateData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Notification updated",
            "schema": {
              "$ref": "#/definitions/Notification"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/NotificationError"
            }
          }
        },
        "summary": "Mark a list of notifications as either read or unread.",
        "tags": [
          "notifications"
        ]
      }
    },
    "/v1/{namespace}/notifications/settings/": {
      "get": {
        "operationId": "notification_settings_read",
        "parameters": [
          {
            "description": "User or team data.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Global notification settings",
            "schema": {
              "items": {
                "$ref": "#/definitions/NotificationSettings"
              },
              "type": "array"
            }
          },
          "404": {
            "description": "Notification not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Retrieve global notification settings for the authenticated user",
        "tags": [
          "notifications"
        ]
      },
      "patch": {
        "operationId": "notification_settings_update",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "notification_settings_data",
            "schema": {
              "$ref": "#/definitions/NotificationSettingsData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Notification Settings updated",
            "schema": {
              "$ref": "#/definitions/NotificationSettings"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/NotificationSettingsError"
            }
          },
          "404": {
            "description": "Notification Settings not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Modify global notification settings.",
        "tags": [
          "notifications"
        ]
      },
      "post": {
        "operationId": "notification_settings_create",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "notification_settings_data",
            "required": true,
            "schema": {
              "$ref": "#/definitions/NotificationSettingsData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Global Notification Settings created successfully.",
            "schema": {
              "$ref": "#/definitions/NotificationSettings"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/NotificationSettingsError"
            }
          }
        },
        "summary": "Create global notification settings",
        "tags": [
          "notifications"
        ]
      }
    },
    "/v1/{namespace}/notifications/settings/entity/{entity}": {
      "get": {
        "operationId": "notification_settings_entity_read",
        "parameters": [
          {
            "description": "User or team data.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Entity whose settings should be retrieved.",
            "enum": [
              "billing"
            ],
            "in": "path",
            "name": "entity",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Global notification settings",
            "schema": {
              "items": {
                "$ref": "#/definitions/NotificationSettings"
              },
              "type": "array"
            }
          },
          "404": {
            "description": "Notification not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Retrieve global notification settings for the authenticated user",
        "tags": [
          "notifications"
        ]
      },
      "patch": {
        "operationId": "notification_settings_entity_update",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Entity whose settings should be retrieved.",
            "enum": [
              "billing"
            ],
            "in": "path",
            "name": "entity",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "notification_settings_data",
            "schema": {
              "$ref": "#/definitions/NotificationSettingsData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Notification Settings updated",
            "schema": {
              "$ref": "#/definitions/NotificationSettings"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/NotificationSettingsError"
            }
          },
          "404": {
            "description": "Notification Settings not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Modify global notification settings.",
        "tags": [
          "notifications"
        ]
      },
      "post": {
        "operationId": "notification_settings_entity_create",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Entity whose settings should be retrieved.",
            "enum": [
              "billing"
            ],
            "in": "path",
            "name": "entity",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "notification_settings_data",
            "schema": {
              "$ref": "#/definitions/NotificationSettingsData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Global Notification Settings created successfully.",
            "schema": {
              "$ref": "#/definitions/NotificationSettings"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/NotificationSettingsError"
            }
          }
        },
        "summary": "Create global notification settings",
        "tags": [
          "notifications"
        ]
      }
    },
    "/v1/{namespace}/notifications/{notification_id}": {
      "get": {
        "operationId": "notification_read",
        "parameters": [
          {
            "description": "User or team data.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Notification UUID.",
            "in": "path",
            "name": "notification_id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieve a notification.",
            "schema": {
              "$ref": "#/definitions/Notification"
            }
          },
          "404": {
            "description": "Notification not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Retrieve a specific notification.",
        "tags": [
          "notifications"
        ]
      },
      "patch": {
        "operationId": "notification_update",
        "parameters": [
          {
            "description": "User or team data.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Notification UUID.",
            "in": "path",
            "name": "notification_id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "notification_data",
            "schema": {
              "$ref": "#/definitions/NotificationUpdateData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Notification updated",
            "schema": {
              "$ref": "#/definitions/Notification"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/NotificationError"
            }
          },
          "404": {
            "description": "Notification not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Mark a specific notification as either read or unread.",
        "tags": [
          "notifications"
        ]
      }
    },
    "/v1/{namespace}/oauth/applications/": {
      "get": {
        "operationId": "oauth_applications_list",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Set limit when retrieving items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when retrieving items.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Set order when retrieving items.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OAuth2 application list",
            "examples": {
              "application/json": [
                {
                  "authorization_grant_type": "client-credentials",
                  "client_id": "CsJiQuhq66C6QP7ZKYzclOwrSVKctdYAbAXu7iHm",
                  "client_secret": "iIzh1cidklpF6eoCin986j0YTDS3hjgH1JDs4Wv4jriG7yXpJu8TfoKmtMC4QTRBbF2IzJnfRLBGdZvKm1koyS9xfGfdTDSi5JAVJAwTrxw0VAkZZr0u80afSQ9OVKvJ",
                  "client_type": "confidential",
                  "id": "7011a6e6-b4ea-4600-8ab1-01127e1ccdda",
                  "name": "Test",
                  "redirect_uris": ""
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/Application"
              },
              "type": "array"
            }
          }
        },
        "summary": "Retrieve oauth applications",
        "tags": [
          "oauth"
        ]
      },
      "post": {
        "description": "",
        "operationId": "oauth_application_create",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "application_data",
            "schema": {
              "$ref": "#/definitions/ApplicationData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Application created.",
            "examples": {
              "application/json": {
                "authorization_grant_type": "client-credentials",
                "client_id": "CsJiQuhq66C6QP7ZKYzclOwrSVKctdYAbAXu7iHm",
                "client_secret": "iIzh1cidklpF6eoCin986j0YTDS3hjgH1JDs4Wv4jriG7yXpJu8TfoKmtMC4QTRBbF2IzJnfRLBGdZvKm1koyS9xfGfdTDSi5JAVJAwTrxw0VAkZZr0u80afSQ9OVKvJ",
                "client_type": "confidential",
                "id": "7011a6e6-b4ea-4600-8ab1-01127e1ccdda",
                "name": "Test",
                "redirect_uris": ""
              }
            },
            "schema": {
              "$ref": "#/definitions/Application"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/ApplicationError"
            }
          }
        },
        "summary": "Create a new OAuth2 application",
        "tags": [
          "oauth"
        ]
      }
    },
    "/v1/{namespace}/oauth/applications/{application}/": {
      "delete": {
        "description": "",
        "operationId": "oauth_application_delete",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Application unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "application",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Application deleted."
          },
          "404": {
            "description": "Application not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete an application by id",
        "tags": [
          "oauth"
        ]
      },
      "get": {
        "operationId": "oauth_application_read",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Application unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "application",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Application retrieved.",
            "examples": {
              "application/json": {
                "authorization_grant_type": "client-credentials",
                "client_id": "CsJiQuhq66C6QP7ZKYzclOwrSVKctdYAbAXu7iHm",
                "client_secret": "iIzh1cidklpF6eoCin986j0YTDS3hjgH1JDs4Wv4jriG7yXpJu8TfoKmtMC4QTRBbF2IzJnfRLBGdZvKm1koyS9xfGfdTDSi5JAVJAwTrxw0VAkZZr0u80afSQ9OVKvJ",
                "client_type": "confidential",
                "id": "7011a6e6-b4ea-4600-8ab1-01127e1ccdda",
                "name": "Test",
                "redirect_uris": ""
              }
            },
            "schema": {
              "$ref": "#/definitions/Application"
            }
          },
          "404": {
            "description": "Application not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Get an application by id",
        "tags": [
          "oauth"
        ]
      },
      "patch": {
        "description": "",
        "operationId": "oauth_application_update",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Application unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "application",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "application_data",
            "schema": {
              "$ref": "#/definitions/ApplicationData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Application updated.",
            "examples": {
              "application/json": {
                "authorization_grant_type": "client-credentials",
                "client_id": "CsJiQuhq66C6QP7ZKYzclOwrSVKctdYAbAXu7iHm",
                "client_secret": "iIzh1cidklpF6eoCin986j0YTDS3hjgH1JDs4Wv4jriG7yXpJu8TfoKmtMC4QTRBbF2IzJnfRLBGdZvKm1koyS9xfGfdTDSi5JAVJAwTrxw0VAkZZr0u80afSQ9OVKvJ",
                "client_type": "confidential",
                "id": "7011a6e6-b4ea-4600-8ab1-01127e1ccdda",
                "name": "Test",
                "redirect_uris": ""
              }
            },
            "schema": {
              "$ref": "#/definitions/Application"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/ApplicationError"
            }
          },
          "404": {
            "description": "Application not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Update an application by id",
        "tags": [
          "oauth"
        ]
      },
      "put": {
        "description": "",
        "operationId": "oauth_application_replace",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Application unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "application",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "oauth_application_data",
            "schema": {
              "$ref": "#/definitions/ApplicationData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Application replaced.",
            "examples": {
              "application/json": {
                "authorization_grant_type": "client-credentials",
                "client_id": "CsJiQuhq66C6QP7ZKYzclOwrSVKctdYAbAXu7iHm",
                "client_secret": "iIzh1cidklpF6eoCin986j0YTDS3hjgH1JDs4Wv4jriG7yXpJu8TfoKmtMC4QTRBbF2IzJnfRLBGdZvKm1koyS9xfGfdTDSi5JAVJAwTrxw0VAkZZr0u80afSQ9OVKvJ",
                "client_type": "confidential",
                "id": "7011a6e6-b4ea-4600-8ab1-01127e1ccdda",
                "name": "Test",
                "redirect_uris": ""
              }
            },
            "schema": {
              "$ref": "#/definitions/Application"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/ApplicationError"
            }
          },
          "404": {
            "description": "Application not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Replace an application by id",
        "tags": [
          "oauth"
        ]
      }
    },
    "/v1/{namespace}/projects/": {
      "get": {
        "operationId": "projects_list",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limit when getting data.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when getting data.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Private project or public project.",
            "in": "query",
            "name": "private",
            "required": false,
            "type": "string"
          },
          {
            "description": "Project name.",
            "in": "query",
            "name": "name",
            "required": false,
            "type": "string"
          },
          {
            "description": "Ordering when getting projects.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Project list.",
            "examples": {
              "application/json": []
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/Project"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get available projects",
        "tags": [
          "projects"
        ]
      },
      "post": {
        "operationId": "projects_create",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "project_data",
            "schema": {
              "$ref": "#/definitions/ProjectData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Project created",
            "examples": {
              "application/json": {
                "collaborators": [
                  "johndoe"
                ],
                "description": "Project created by me",
                "id": "79cadd17-5738-4f02-8377-68e67d3eee18",
                "last_updated": "2017-07-24T14:54:38.797878Z",
                "name": "myProject",
                "owner": "johndoe",
                "private": false
              }
            },
            "schema": {
              "$ref": "#/definitions/Project"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/ProjectError"
            }
          }
        },
        "summary": "Create a new project",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/project-copy-check/": {
      "head": {
        "operationId": "project_copy_check",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "project_copy_data",
            "required": true,
            "schema": {
              "properties": {
                "project": {
                  "description": "UUID of the project the user wishes to copy.",
                  "type": "string"
                }
              },
              "required": [
                "project"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The authenticated has permission to copy this project"
          },
          "404": {
            "description": "Project not found."
          }
        },
        "summary": "Check if you are able to copy a project to your account.",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/project-copy/": {
      "post": {
        "operationId": "project_copy",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "project_copy_data",
            "required": true,
            "schema": {
              "properties": {
                "name": {
                  "description": "Name for the newly copied project",
                  "type": "string"
                },
                "project": {
                  "description": "UUID of the project the user wishes to copy.",
                  "type": "string"
                }
              },
              "required": [
                "project"
              ],
              "type": "object"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Project copied",
            "schema": {
              "$ref": "#/definitions/Project"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/ProjectError"
            }
          },
          "404": {
            "description": "Project not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Copy a project to your own account.",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/": {
      "delete": {
        "operationId": "projects_delete",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Project deleted."
          },
          "404": {
            "description": "Project not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete a project",
        "tags": [
          "projects"
        ]
      },
      "get": {
        "operationId": "projects_read",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Project retrieved.",
            "examples": {
              "application/json": {
                "collaborators": [
                  "johndoe"
                ],
                "description": "Project created by me",
                "id": "79cadd17-5738-4f02-8377-68e67d3eee18",
                "last_updated": "2017-07-24T14:54:38.797878Z",
                "name": "myProject",
                "owner": "johndoe",
                "private": false
              }
            },
            "schema": {
              "$ref": "#/definitions/Project"
            }
          },
          "404": {
            "description": "Project not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Get a project",
        "tags": [
          "projects"
        ]
      },
      "patch": {
        "operationId": "projects_update",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "project_data",
            "schema": {
              "$ref": "#/definitions/ProjectData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Project updated",
            "examples": {
              "application/json": {
                "collaborators": [
                  "johndoe"
                ],
                "description": "My project updated by me using PATCH",
                "id": "79cadd17-5738-4f02-8377-68e67d3eee18",
                "last_updated": "2017-07-24T14:54:43.225603Z",
                "name": "myProject",
                "owner": "johndoe",
                "private": true
              }
            },
            "schema": {
              "$ref": "#/definitions/Project"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/ProjectError"
            }
          },
          "404": {
            "description": "Project not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Update a project",
        "tags": [
          "projects"
        ]
      },
      "put": {
        "operationId": "projects_replace",
        "parameters": [
          {
            "description": "User or team namespace.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "project_data",
            "schema": {
              "$ref": "#/definitions/ProjectData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Project updated.",
            "examples": {
              "application/json": {
                "collaborators": [
                  "johndoe"
                ],
                "description": "My project updated by me using PUT",
                "id": "79cadd17-5738-4f02-8377-68e67d3eee18",
                "last_updated": "2017-07-24T14:54:43.225603Z",
                "name": "myProject",
                "owner": "johndoe",
                "private": true
              }
            },
            "schema": {
              "$ref": "#/definitions/Project"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/ProjectError"
            }
          }
        },
        "summary": "Replace a project",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/collaborators/": {
      "get": {
        "operationId": "projects_collaborators_list",
        "parameters": [
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limit when retrieving items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when retrieving items.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Ordering when retrieving items.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Collaborator list.",
            "examples": {
              "application/json": [
                {
                  "email": "johndoe@example.com",
                  "first_name": "John",
                  "id": "42946cd9-2fb6-4764-944b-e107b972dd97",
                  "joined": "2017-07-24T14:54:38.819171Z",
                  "last_name": "Doe",
                  "owner": true,
                  "permissions": [
                    "read_project",
                    "write_project"
                  ],
                  "username": "johndoe"
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/Collaborator"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get project collaborators",
        "tags": [
          "projects"
        ]
      },
      "post": {
        "operationId": "projects_collaborators_create",
        "parameters": [
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "collaborator_data",
            "schema": {
              "$ref": "#/definitions/CollaboratorData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Collaborator created.",
            "examples": {
              "application/json": {
                "email": "collaborator@examples.com",
                "first_name": "John",
                "id": "ef4d3a93-ae36-428c-b00f-5805b496ed95",
                "joined": "2017-07-24T14:54:49.205912Z",
                "last_name": "Doe",
                "owner": false,
                "permissions": [
                  "read_project",
                  "write_project"
                ],
                "username": "collaborator"
              }
            },
            "schema": {
              "$ref": "#/definitions/Collaborator"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/CollaboratorError"
            }
          }
        },
        "summary": "Create project collaborators",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/collaborators/{collaborator}/": {
      "delete": {
        "operationId": "projects_collaborators_delete",
        "parameters": [
          {
            "description": "Project unique identifier.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Collaborator unique identifier.",
            "in": "path",
            "name": "collaborator",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Collaborator deleted."
          },
          "404": {
            "description": "Collaborator not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete a project collaborator",
        "tags": [
          "projects"
        ]
      },
      "get": {
        "operationId": "projects_collaborators_read",
        "parameters": [
          {
            "description": "Project unique identifier.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Collaborator unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "collaborator",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Collaborator retrieved.",
            "examples": {
              "application/json": {
                "email": "collaborator@illumidesk.com",
                "first_name": "John",
                "id": "ef4d3a93-ae36-428c-b00f-5805b496ed95",
                "joined": "2017-07-24T14:54:49.205912Z",
                "last_name": "Doe",
                "owner": false,
                "permissions": [
                  "read_project",
                  "write_project"
                ],
                "username": "collaborator"
              }
            },
            "schema": {
              "$ref": "#/definitions/Collaborator"
            }
          },
          "404": {
            "description": "Collaborator not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Get a project collaborator",
        "tags": [
          "projects"
        ]
      },
      "patch": {
        "operationId": "projects_collaborators_update",
        "parameters": [
          {
            "description": "",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "",
            "in": "path",
            "name": "collaborator",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "collaborator_data",
            "schema": {
              "$ref": "#/definitions/CollaboratorData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Collaborator updated",
            "schema": {
              "$ref": "#/definitions/Collaborator"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/CollaboratorError"
            }
          },
          "404": {
            "description": "Collaborator not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Update project collaborator",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/deployments/": {
      "get": {
        "operationId": "projects_deployments_list",
        "parameters": [
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limit results when getting deployment list.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset results when getting deployment list.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Server name.",
            "in": "query",
            "name": "name",
            "required": false,
            "type": "string"
          },
          {
            "description": "Ordering option when getting deployment list.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Deployment list.",
            "examples": {
              "application/json": []
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/Deployment"
              },
              "type": "array"
            }
          }
        },
        "summary": "Retrieve deployments",
        "tags": [
          "projects"
        ]
      },
      "post": {
        "operationId": "projects_deployments_create",
        "parameters": [
          {
            "description": "Project unique identifer expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "deployment_data",
            "schema": {
              "$ref": "#/definitions/DeploymentData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Deployment created.",
            "schema": {
              "$ref": "#/definitions/Deployment"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/DeploymentError"
            }
          }
        },
        "summary": "Create a new deployment",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/deployments/{deployment}/": {
      "delete": {
        "operationId": "projects_deployment_delete",
        "parameters": [
          {
            "description": "Project unique identifier.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "User unique identifier.",
            "in": "path",
            "name": "deployment",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Deployment deleted"
          },
          "404": {
            "description": "Deployment not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete a deployment",
        "tags": [
          "projects"
        ]
      },
      "get": {
        "operationId": "projects_deployments_read",
        "parameters": [
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Deployment unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "deployment",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Deployment retrieved.",
            "schema": {
              "$ref": "#/definitions/Deployment"
            }
          },
          "404": {
            "description": "Deployment not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Retrieve a deployment",
        "tags": [
          "projects"
        ]
      },
      "patch": {
        "operationId": "projects_deployments_update",
        "parameters": [
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Deployment unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "deployment",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "deployment_data",
            "schema": {
              "$ref": "#/definitions/DeploymentData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Deployment updated",
            "schema": {
              "$ref": "#/definitions/Deployment"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/DeploymentData"
            }
          },
          "404": {
            "description": "Deployment not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Update a deployment",
        "tags": [
          "projects"
        ]
      },
      "put": {
        "operationId": "projects_deployments_replace",
        "parameters": [
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Deployment unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "deployment",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "deployment_data",
            "schema": {
              "$ref": "#/definitions/DeploymentData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Deployment updated.",
            "schema": {
              "$ref": "#/definitions/Deployment"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/DeploymentError"
            }
          }
        },
        "summary": "Replace a deployment",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/deployments/{deployment}/deploy/": {
      "post": {
        "operationId": "projects_deployments_deploy",
        "parameters": [
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Deployment unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "deployment",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Deployment successful."
          },
          "400": {
            "description": "Invalid data supplied."
          }
        },
        "summary": "Deploy an existing model",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/project_files/": {
      "get": {
        "operationId": "projects_project_files_list",
        "parameters": [
          {
            "description": "Unique identifier for project file expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limit when getting project file list.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when getting project file list.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Ordering of list values when getting project file list.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          },
          {
            "description": "Exact file name, relative to the project root. If no such file is found, an empty list will be returned.",
            "in": "query",
            "name": "filename",
            "required": false,
            "type": "string"
          },
          {
            "description": "Determines whether or not content is returned as base64. Defaults to false.",
            "in": "query",
            "name": "content",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "ProjectFile list",
            "schema": {
              "items": {
                "$ref": "#/definitions/ProjectFile"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get project files",
        "tags": [
          "projects"
        ]
      },
      "post": {
        "consumes": [
          "multipart/form-data",
          "application/json"
        ],
        "operationId": "projects_project_files_create",
        "parameters": [
          {
            "description": "Project unique identifier.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "File to send, to create new file. This parameter is only used with form data and may include multiple files.",
            "in": "formData",
            "name": "file",
            "required": false,
            "type": "file"
          },
          {
            "description": "Fila data, represented as base64.",
            "in": "formData",
            "name": "base64_data",
            "required": false,
            "type": "string"
          },
          {
            "description": "File name. May include path when creating file with base64 field.",
            "in": "formData",
            "name": "name",
            "required": false,
            "type": "string"
          },
          {
            "description": "File path. Defaults to (/).",
            "in": "formData",
            "name": "path",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "ProjectFile created",
            "examples": {
              "application/json": {
                "file": "http://api.illumidesk.com/media/johndoe/79cadd17-5738-4f02-8377-68e67d3eee18/foo",
                "id": "592ac8da-dbf5-4654-9127-8df9ba9280a3",
                "name": "myfile",
                "path": "",
                "project": "79cadd17-5738-4f02-8377-68e67d3eee18",
                "public": false
              }
            },
            "schema": {
              "$ref": "#/definitions/ProjectFile"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/ProjectFileError"
            }
          }
        },
        "summary": "Create project files",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/project_files/{id}/": {
      "delete": {
        "operationId": "projects_project_files_delete",
        "parameters": [
          {
            "description": "Project unique identifer.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "File unique identifier.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "ProjectFile deleted"
          },
          "404": {
            "description": "ProjectFile not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete a project file",
        "tags": [
          "projects"
        ]
      },
      "get": {
        "operationId": "projects_project_files_read",
        "parameters": [
          {
            "description": "Project unique identifer.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "File unique identifier.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Determines whether or not content is returned as base64. Defaults to false.",
            "in": "query",
            "name": "content",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "ProjectFile retrieved",
            "examples": {
              "application/json": {
                "file": "http://api.illumidesk.com/media/johndoe/79cadd17-5738-4f02-8377-68e67d3eee18/myfile",
                "id": "592ac8da-dbf5-4654-9127-8df9ba9280a3",
                "name": "myfile",
                "path": "",
                "project": "79cadd17-5738-4f02-8377-68e67d3eee18",
                "public": false
              }
            },
            "schema": {
              "$ref": "#/definitions/ProjectFile"
            }
          },
          "404": {
            "description": "ProjectFile not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Get a project file",
        "tags": [
          "projects"
        ]
      },
      "patch": {
        "consumes": [
          "multipart/form-data"
        ],
        "operationId": "projects_project_files_update",
        "parameters": [
          {
            "description": "Project unique identifer.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "File unique identifier.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "File to send, to create new file. This parameter is only used with form data and may include multiple files.",
            "in": "formData",
            "name": "file",
            "required": false,
            "type": "file"
          },
          {
            "description": "Fila data, represented as base64.",
            "in": "formData",
            "name": "base64_data",
            "required": false,
            "type": "string"
          },
          {
            "description": "File name. May include path when creating file with base64 field.",
            "in": "formData",
            "name": "name",
            "required": false,
            "type": "string"
          },
          {
            "description": "File path. Defaults to (/).",
            "in": "formData",
            "name": "path",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "ProjectFile updated.",
            "examples": {
              "application/json": {
                "file": "/media/johndoe/79cadd17-5738-4f02-8377-68e67d3eee18/myfile",
                "id": "592ac8da-dbf5-4654-9127-8df9ba9280a3",
                "name": "foo",
                "path": "",
                "project": "79cadd17-5738-4f02-8377-68e67d3eee18",
                "public": false
              }
            },
            "schema": {
              "$ref": "#/definitions/ProjectFile"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/ProjectFileError"
            }
          },
          "404": {
            "description": "ProjectFile not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Update a project file",
        "tags": [
          "projects"
        ]
      },
      "put": {
        "consumes": [
          "multipart/form-data"
        ],
        "operationId": "projects_project_files_replace",
        "parameters": [
          {
            "description": "Project unique identifer.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "File unique identifier.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "File to send, to create new file. This parameter is only used with form data and may include multiple files.",
            "in": "formData",
            "name": "file",
            "required": false,
            "type": "file"
          },
          {
            "description": "Fila data, represented as base64.",
            "in": "formData",
            "name": "base64_data",
            "required": false,
            "type": "string"
          },
          {
            "description": "File name. May include path when creating file with base64 field.",
            "in": "formData",
            "name": "name",
            "required": false,
            "type": "string"
          },
          {
            "description": "File path. Defaults to (/).",
            "in": "formData",
            "name": "path",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "ProjectFile updated",
            "examples": {
              "application/json": {
                "file": "/media/johndoe/79cadd17-5738-4f02-8377-68e67d3eee18/myfile",
                "id": "592ac8da-dbf5-4654-9127-8df9ba9280a3",
                "name": "myfile",
                "path": "",
                "project": "79cadd17-5738-4f02-8377-68e67d3eee18",
                "public": false
              }
            },
            "schema": {
              "$ref": "#/definitions/ProjectFile"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/ProjectFileError"
            }
          }
        },
        "summary": "Replace a project file",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/servers/": {
      "get": {
        "operationId": "projects_servers_list",
        "parameters": [
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limit results when getting server list.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset results when getting server list.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Server name.",
            "in": "query",
            "name": "name",
            "required": false,
            "type": "string"
          },
          {
            "description": "Ordering option when getting server list.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Server list.",
            "examples": {
              "application/json": []
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/Server"
              },
              "type": "array"
            }
          }
        },
        "summary": "Retrieve servers",
        "tags": [
          "projects"
        ]
      },
      "post": {
        "operationId": "projects_servers_create",
        "parameters": [
          {
            "description": "Project unique identifer expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "server_data",
            "schema": {
              "$ref": "#/definitions/ServerData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Server created.",
            "examples": {
              "application/json": {
                "config": {
                  "type": "jupyter"
                },
                "connected": [],
                "created_at": "2017-07-24T13:41:57.089722Z",
                "endpoint": "https://api.illumidesk.com/v1/johndoe/projects/d56271ef-eea7-44ad-8d46-828a288c7a3d/servers/768f6eef-d07b-40ce-bce1-0dcce5bfbfc3/endpoint/jupyter/tree",
                "host": "",
                "id": "768f6eef-d07b-40ce-bce1-0dcce5bfbfc3",
                "image_name": "",
                "logs_url": "wss://api.illumidesk.com/v1/johndoe/projects/d56271ef-eea7-44ad-8d46-828a288c7a3d/servers/768f6eef-d07b-40ce-bce1-0dcce5bfbfc3/logs/",
                "name": "testPostServer",
                "server_size": "d16e2091-7596-481b-a50f-285812beb98c",
                "startup_script": "",
                "status": "Stopped",
                "status_url": "wss://api.illumidesk.com/v1/johndoe/projects/d56271ef-eea7-44ad-8d46-828a288c7a3d/servers/768f6eef-d07b-40ce-bce1-0dcce5bfbfc3/status/"
              }
            },
            "schema": {
              "$ref": "#/definitions/Server"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/ServerError"
            }
          }
        },
        "summary": "Create a new server",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/servers/statuses/": {
      "get": {
        "operationId": "projects_servers_statuses",
        "parameters": [
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Server statuses list.",
            "examples": {
              "application/json": [
                {
                  "id": "768f6eef-d07b-40ce-bce1-0dcce5bfbfc3",
                  "status": "Running"
                },
                {
                  "id": "768f6eef-d07b-40ce-bce1-0dcce5bfbfc3",
                  "status": "Running"
                }
              ]
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/ServerStatus"
              },
              "type": "array"
            }
          }
        },
        "summary": "Retrieve server statuses",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/servers/{server}/": {
      "delete": {
        "operationId": "projects_servers_delete",
        "parameters": [
          {
            "description": "Project unique identifier.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "User unique identifier.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "Server deleted"
          },
          "404": {
            "description": "Server not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete a server",
        "tags": [
          "projects"
        ]
      },
      "get": {
        "operationId": "projects_servers_read",
        "parameters": [
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Server retrieved.",
            "examples": {
              "application/json": {
                "config": {
                  "type": "jupyter"
                },
                "connected": [],
                "created_at": "2017-07-24T13:41:57.089722Z",
                "endpoint": "https://api.illumidesk.com/v1/johndoe/projects/d56271ef-eea7-44ad-8d46-828a288c7a3d/servers/768f6eef-d07b-40ce-bce1-0dcce5bfbfc3/endpoint/jupyter/tree",
                "host": "",
                "id": "768f6eef-d07b-40ce-bce1-0dcce5bfbfc3",
                "image_name": "",
                "logs_url": "wss://api.illumidesk.com/v1/johndoe/projects/d56271ef-eea7-44ad-8d46-828a288c7a3d/servers/768f6eef-d07b-40ce-bce1-0dcce5bfbfc3/logs/",
                "name": "testPostServer",
                "server_size": "d16e2091-7596-481b-a50f-285812beb98c",
                "startup_script": "",
                "status": "Stopped",
                "status_url": "wss://api.illumidesk.com/v1/johndoe/projects/d56271ef-eea7-44ad-8d46-828a288c7a3d/servers/768f6eef-d07b-40ce-bce1-0dcce5bfbfc3/status/"
              }
            },
            "schema": {
              "$ref": "#/definitions/Server"
            }
          },
          "404": {
            "description": "Server not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Retrieve a server",
        "tags": [
          "projects"
        ]
      },
      "patch": {
        "operationId": "projects_servers_update",
        "parameters": [
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "server_data",
            "schema": {
              "$ref": "#/definitions/ServerData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Server updated",
            "examples": {
              "application/json": {
                "config": {
                  "type": "jupyter"
                },
                "connected": [],
                "created_at": "2017-07-24T13:41:57.089722Z",
                "endpoint": "https://api.illumidesk.com/v1/johndoe/projects/d56271ef-eea7-44ad-8d46-828a288c7a3d/servers/768f6eef-d07b-40ce-bce1-0dcce5bfbfc3/endpoint/jupyter/tree",
                "host": "",
                "id": "768f6eef-d07b-40ce-bce1-0dcce5bfbfc3",
                "image_name": "",
                "logs_url": "wss://api.illumidesk.com/v1/johndoe/projects/d56271ef-eea7-44ad-8d46-828a288c7a3d/servers/768f6eef-d07b-40ce-bce1-0dcce5bfbfc3/logs/",
                "name": "testPatchServer",
                "server_size": "d16e2091-7596-481b-a50f-285812beb98c",
                "startup_script": "",
                "status": "Stopped",
                "status_url": "wss://api.illumidesk.com/v1/johndoe/projects/d56271ef-eea7-44ad-8d46-828a288c7a3d/servers/768f6eef-d07b-40ce-bce1-0dcce5bfbfc3/status/"
              }
            },
            "schema": {
              "$ref": "#/definitions/Server"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/ServerData"
            }
          },
          "404": {
            "description": "Server not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Update a server",
        "tags": [
          "projects"
        ]
      },
      "put": {
        "operationId": "projects_servers_replace",
        "parameters": [
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "server_data",
            "schema": {
              "$ref": "#/definitions/ServerData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Server updated.",
            "examples": {
              "application/json": {
                "config": {
                  "type": "jupyter"
                },
                "connected": [],
                "created_at": "2017-07-24T13:41:57.089722Z",
                "endpoint": "https://api.illumidesk.com/v1/johndoe/projects/d56271ef-eea7-44ad-8d46-828a288c7a3d/servers/768f6eef-d07b-40ce-bce1-0dcce5bfbfc3/endpoint/jupyter/tree",
                "host": "",
                "id": "768f6eef-d07b-40ce-bce1-0dcce5bfbfc3",
                "image_name": "",
                "logs_url": "wss://api.illumidesk.com/v1/johndoe/projects/d56271ef-eea7-44ad-8d46-828a288c7a3d/servers/768f6eef-d07b-40ce-bce1-0dcce5bfbfc3/logs/",
                "name": "testPutServer",
                "server_size": "d16e2091-7596-481b-a50f-285812beb98c",
                "startup_script": "",
                "status": "Stopped",
                "status_url": "wss://api.illumidesk.com/v1/johndoe/projects/d56271ef-eea7-44ad-8d46-828a288c7a3d/servers/768f6eef-d07b-40ce-bce1-0dcce5bfbfc3/status/"
              }
            },
            "schema": {
              "$ref": "#/definitions/Server"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/ServerError"
            }
          }
        },
        "summary": "Replace a server",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/servers/{server}/api-key/": {
      "get": {
        "operationId": "projects_servers_api-key",
        "parameters": [
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Server API key",
            "schema": {
              "$ref": "#/definitions/JWT"
            }
          }
        },
        "summary": "Get server API key",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/servers/{server}/auth/": {
      "post": {
        "operationId": "projects_servers_auth",
        "parameters": [
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Api key verified"
          },
          "401": {
            "description": "Invalid api key."
          }
        },
        "summary": "Server api key validation",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/servers/{server}/run-stats/": {
      "post": {
        "operationId": "projects_servers_run-stats_create",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "serverrunstats_data",
            "schema": {
              "$ref": "#/definitions/ServerRunStatisticsData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "ServerRunStatistics created.",
            "examples": {
              "application/json": {
                "exit_code": 0,
                "id": "7d55fca5-2ba3-4af4-95ab-26dc141e6bfc",
                "size": 0,
                "stacktrace": "",
                "start": "2017-07-24T13:42:14.883820Z",
                "stop": ""
              }
            },
            "schema": {
              "$ref": "#/definitions/ServerRunStatistics"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/ServerRunStatisticsError"
            }
          }
        },
        "summary": "Create a new server's run statistics",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/servers/{server}/run-stats/{id}/": {
      "delete": {
        "operationId": "projects_servers_run-stats_delete",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Server run statistics unique identifier expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "ServerRunStatistics deleted."
          },
          "404": {
            "description": "ServerRunStatistics not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete a server's statistics",
        "tags": [
          "projects"
        ]
      },
      "get": {
        "operationId": "projects_servers_run-stats_read",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Run statistics unique identifier expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "ServerRunStatistics retrieved.",
            "schema": {
              "$ref": "#/definitions/ServerRunStatistics"
            }
          },
          "404": {
            "description": "ServerRunStatistics not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Retrieve statistics for a server",
        "tags": [
          "projects"
        ]
      },
      "patch": {
        "operationId": "projects_servers_run-stats_update",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Server run statistics unique identifier expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "serverrunstats_data",
            "schema": {
              "$ref": "#/definitions/ServerRunStatisticsData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "ServerRunStatistics updated.",
            "schema": {
              "$ref": "#/definitions/ServerRunStatistics"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/ServerRunStatisticsError"
            }
          },
          "404": {
            "description": "ServerRunStatistics not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Update a server's statistics",
        "tags": [
          "projects"
        ]
      },
      "put": {
        "operationId": "projects_servers_run-stats_replace",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Server run statistics expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "serverrunstats_data",
            "schema": {
              "$ref": "#/definitions/ServerRunStatisticsData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "ServerRunStatistics updated.",
            "schema": {
              "$ref": "#/definitions/ServerRunStatistics"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/ServerRunStatisticsError"
            }
          }
        },
        "summary": "Replace a server's statistics",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/servers/{server}/ssh-tunnels/": {
      "get": {
        "operationId": "projects_servers_ssh-tunnels_list",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limit retrieved items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset retrieved items.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Order retrieved items.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "SshTunnel list",
            "examples": {
              "application/json": []
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/SshTunnel"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get SSH Tunnels associated to a server",
        "tags": [
          "projects"
        ]
      },
      "post": {
        "operationId": "projects_servers_ssh-tunnels_create",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "sshtunnel_data",
            "schema": {
              "$ref": "#/definitions/SshTunnelData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "SSH Tunnel created.",
            "schema": {
              "$ref": "#/definitions/SshTunnel"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/SshTunnelError"
            }
          }
        },
        "summary": "Create SSH Tunnel associated to a server",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/servers/{server}/ssh-tunnels/{tunnel}/": {
      "delete": {
        "operationId": "projects_servers_ssh-tunnels_delete",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "SSH tunnel unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "tunnel",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "SSH tunnel deleted."
          },
          "404": {
            "description": "SSH tunnel not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete an SSH Tunnel associated to a server",
        "tags": [
          "projects"
        ]
      },
      "get": {
        "operationId": "projects_servers_ssh-tunnels_read",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "SSH tunnel unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "tunnel",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "SSH Tunnel retrieved.",
            "schema": {
              "$ref": "#/definitions/SshTunnel"
            }
          },
          "404": {
            "description": "SSH Tunnel not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Get an SSH Tunnel associated to a server",
        "tags": [
          "projects"
        ]
      },
      "patch": {
        "operationId": "projects_servers_ssh-tunnels_update",
        "parameters": [
          {
            "description": "",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "",
            "in": "path",
            "name": "tunnel",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "sshtunnel_data",
            "schema": {
              "$ref": "#/definitions/SshTunnelData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": " SSH Tunnel updated.",
            "schema": {
              "$ref": "#/definitions/SshTunnel"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/SshTunnelError"
            }
          },
          "404": {
            "description": "SSH tunnel not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Update an SSH Tunnel associated to a server",
        "tags": [
          "projects"
        ]
      },
      "put": {
        "operationId": "projects_servers_ssh-tunnels_replace",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "SSH tunnel unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "tunnel",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "sshtunnel_data",
            "schema": {
              "$ref": "#/definitions/SshTunnelData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "SshTunnel updated",
            "schema": {
              "$ref": "#/definitions/SshTunnel"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/SshTunnelError"
            }
          }
        },
        "summary": "Replace SSH Tunnel associated to a server",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/servers/{server}/start/": {
      "post": {
        "operationId": "projects_servers_start",
        "parameters": [
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Server started."
          },
          "400": {
            "description": "Invalid data supplied."
          }
        },
        "summary": "Start a server",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/servers/{server}/stats/{id}/": {
      "delete": {
        "operationId": "projects_servers_stats_delete",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Stats unique identifier expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "ServerStatistics deleted."
          },
          "404": {
            "description": "ServerStatistics not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete a server's statistics",
        "tags": [
          "projects"
        ]
      },
      "get": {
        "operationId": "projects_servers_stats_read",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Server statistics unique identifier expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "ServerStatistics retrieved",
            "schema": {
              "$ref": "#/definitions/ServerStatistics"
            }
          },
          "404": {
            "description": "ServerStatistics not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Retrieve a server's statistics",
        "tags": [
          "projects"
        ]
      },
      "patch": {
        "operationId": "projects_servers_stats_update",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Server statistics unique identifier expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "serverstats_data",
            "schema": {
              "$ref": "#/definitions/ServerStatisticsData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "ServerStatistics updated.",
            "schema": {
              "$ref": "#/definitions/ServerStatistics"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/ServerStatisticsError"
            }
          },
          "404": {
            "description": "ServerStatistics not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Update a server's statistics",
        "tags": [
          "projects"
        ]
      },
      "put": {
        "operationId": "projects_servers_stats_replace",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Server statistics unique identifier expressed as UUID.",
            "in": "path",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "serverstats_data",
            "schema": {
              "$ref": "#/definitions/ServerStatisticsData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "ServerStatistics updated",
            "schema": {
              "$ref": "#/definitions/ServerStatistics"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/ServerStatisticsError"
            }
          }
        },
        "summary": "Replace a server's statistics",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/servers/{server}/stop/": {
      "post": {
        "operationId": "projects_servers_stop",
        "parameters": [
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "201": {
            "description": "Server stopped."
          },
          "400": {
            "description": "Invalid data supplied."
          }
        },
        "summary": "Stop a server",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/servers/{server}/triggers/": {
      "get": {
        "operationId": "service_trigger_list",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Trigger name.",
            "in": "query",
            "name": "name",
            "required": false,
            "type": "string"
          },
          {
            "description": "Limit when getting triggers.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset when getting triggers.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          },
          {
            "description": "Ordering when getting triggers.",
            "in": "query",
            "name": "ordering",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "ServerAction list",
            "examples": {
              "application/json": []
            },
            "schema": {
              "items": {
                "$ref": "#/definitions/ServerAction"
              },
              "type": "array"
            }
          }
        },
        "summary": "Retrieve server triggers",
        "tags": [
          "projects"
        ]
      },
      "post": {
        "operationId": "service_trigger_create",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Server action.",
            "in": "body",
            "name": "server_action",
            "schema": {
              "$ref": "#/definitions/ServerActionData"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Server action created.",
            "examples": {
              "application/json": {
                "id": "19938b2c-17f6-46ed-a506-f5b196853951",
                "name": "serverStartPost",
                "operation": "start",
                "url": "/v1/johndoe/service/ed81aac7-835d-4702-a58e-4eeda89d4a5a/trigger/19938b2c-17f6-46ed-a506-f5b196853951/call/"
              }
            },
            "schema": {
              "$ref": "#/definitions/ServerAction"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/ServerActionError"
            }
          }
        },
        "summary": "Create a new server trigger",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/projects/{project}/servers/{server}/triggers/{trigger}/": {
      "delete": {
        "operationId": "service_trigger_delete",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Trigger identifier expressed as UUID or name.",
            "in": "path",
            "name": "trigger",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "204": {
            "description": "ServerAction deleted"
          },
          "404": {
            "description": "ServerAction not found",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Delete a server trigger",
        "tags": [
          "projects"
        ]
      },
      "get": {
        "operationId": "service_trigger_read",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Trigger unique identifier.",
            "in": "path",
            "name": "trigger",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Server action retrieved.",
            "examples": {
              "application/json": {
                "id": "19938b2c-17f6-46ed-a506-f5b196853951",
                "name": "serverStartPost",
                "operation": "start",
                "url": "/v1/johndoe/service/ed81aac7-835d-4702-a58e-4eeda89d4a5a/trigger/19938b2c-17f6-46ed-a506-f5b196853951/call/"
              }
            },
            "schema": {
              "$ref": "#/definitions/ServerAction"
            }
          },
          "404": {
            "description": "ServerAction not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Get a server trigger",
        "tags": [
          "projects"
        ]
      },
      "patch": {
        "operationId": "service_trigger_update",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Trigger identifier expressed as UUID or name.",
            "in": "path",
            "name": "trigger",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "server_action",
            "schema": {
              "$ref": "#/definitions/ServerActionData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Server action updated.",
            "examples": {
              "application/json": {
                "id": "19938b2c-17f6-46ed-a506-f5b196853951",
                "name": "serverStartPatch",
                "operation": "start",
                "url": "/v1/johndoe/service/ed81aac7-835d-4702-a58e-4eeda89d4a5a/trigger/19938b2c-17f6-46ed-a506-f5b196853951/call/"
              }
            },
            "schema": {
              "$ref": "#/definitions/ServerAction"
            }
          },
          "400": {
            "description": "Invalid data supplied",
            "schema": {
              "$ref": "#/definitions/ServerActionError"
            }
          },
          "404": {
            "description": "Server action not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Update a server trigger",
        "tags": [
          "projects"
        ]
      },
      "put": {
        "operationId": "service_trigger_replace",
        "parameters": [
          {
            "description": "Server unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "server",
            "required": true,
            "type": "string"
          },
          {
            "description": "Project unique identifier expressed as UUID or name.",
            "in": "path",
            "name": "project",
            "required": true,
            "type": "string"
          },
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Trigger unique identifier.",
            "in": "path",
            "name": "trigger",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "server_action",
            "schema": {
              "$ref": "#/definitions/ServerActionData"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "ServerAction updated.",
            "examples": {
              "application/json": {
                "id": "19938b2c-17f6-46ed-a506-f5b196853951",
                "name": "serverStartPut",
                "operation": "start",
                "url": "/v1/johndoe/service/ed81aac7-835d-4702-a58e-4eeda89d4a5a/trigger/19938b2c-17f6-46ed-a506-f5b196853951/call/"
              }
            },
            "schema": {
              "$ref": "#/definitions/ServerAction"
            }
          },
          "400": {
            "description": "Invalid data supplied.",
            "schema": {
              "$ref": "#/definitions/ServerActionError"
            }
          },
          "404": {
            "description": "Server action not found.",
            "schema": {
              "$ref": "#/definitions/NotFound"
            }
          }
        },
        "summary": "Replace a server trigger",
        "tags": [
          "projects"
        ]
      }
    },
    "/v1/{namespace}/search/": {
      "get": {
        "operationId": "search",
        "parameters": [
          {
            "description": "User or team name.",
            "in": "path",
            "name": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "Search string.",
            "in": "query",
            "name": "q",
            "required": true,
            "type": "string"
          },
          {
            "description": "Limit results to specific types.",
            "enum": [
              "users",
              "projects",
              "servers"
            ],
            "in": "query",
            "name": "type",
            "required": false,
            "type": "string"
          },
          {
            "description": "Limit data when getting items.",
            "in": "query",
            "name": "limit",
            "required": false,
            "type": "string"
          },
          {
            "description": "Offset data when getting items.",
            "in": "query",
            "name": "offset",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Search list.",
            "schema": {
              "items": {
                "$ref": "#/definitions/Search"
              },
              "type": "array"
            }
          }
        },
        "summary": "Get a search results",
        "tags": [
          "search"
        ]
      }
    }
  },
  "definitions": {
    "Action": {
      "properties": {
        "action": {
          "description": "Action name.",
          "type": "string"
        },
        "action_name": {
          "description": "Action name.",
          "type": "string"
        },
        "can_be_cancelled": {
          "description": "Can action be cancelled, or not.",
          "type": "boolean"
        },
        "can_be_retried": {
          "description": "May action be retried, or not.",
          "type": "boolean"
        },
        "end_date": {
          "description": "Action needs to end before a certain date and time.",
          "type": "string"
        },
        "id": {
          "description": "Action unique identifier, expressed as UUID.",
          "type": "string"
        },
        "ip": {
          "description": "IP address that action is related to.",
          "type": "string"
        },
        "is_user_action": {
          "description": "Is the action related to a user, or not.",
          "type": "boolean"
        },
        "method": {
          "description": "Action method.",
          "type": "string"
        },
        "object": {
          "description": "Action object.",
          "type": "string"
        },
        "path": {
          "description": "Action path.",
          "type": "string"
        },
        "payload": {
          "description": "Object action payload.",
          "type": "object"
        },
        "resource_uri": {
          "description": "Resource URI.",
          "type": "string"
        },
        "start_date": {
          "description": "Action date and time start.",
          "type": "string"
        },
        "state": {
          "description": "Action state.",
          "type": "string"
        },
        "user": {
          "description": "User that action is assigned to.",
          "type": "string"
        },
        "user_agent": {
          "description": "User agent that action is related to.",
          "type": "string"
        }
      },
      "required": [
        "action",
        "method",
        "user_agent",
        "state"
      ],
      "type": "object"
    },
    "Application": {
      "properties": {
        "authorization_grant_type": {
          "description": "OAuth2 authorization grant type",
          "enum": [
            "authorization-code",
            "implicit",
            "password",
            "client-credentials"
          ],
          "type": "string"
        },
        "client_id": {
          "description": "OAuth2 client id",
          "type": "string"
        },
        "client_secret": {
          "description": "OAuth2 client secret",
          "type": "string"
        },
        "client_type": {
          "description": "OAuth2 client type",
          "enum": [
            "confidential",
            "public"
          ],
          "type": "string"
        },
        "id": {
          "description": "Application unique identifier, expressed as UUID.",
          "type": "string"
        },
        "name": {
          "description": "Application name",
          "type": "string"
        },
        "redirect_uris": {
          "description": "Uris to redirect auth request",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ApplicationData": {
      "properties": {
        "authorization_grant_type": {
          "description": "OAuth2 authorization grant type",
          "enum": [
            "authorization-code",
            "implicit",
            "password",
            "client-credentials"
          ],
          "type": "string"
        },
        "client_type": {
          "description": "OAuth2 client type",
          "enum": [
            "confidential",
            "public"
          ],
          "type": "string"
        },
        "name": {
          "description": "Application name",
          "type": "string"
        },
        "redirect_uris": {
          "description": "Uris to redirect auth request",
          "type": "string"
        }
      },
      "required": [
        "client_type",
        "authorization_grant_type",
        "name"
      ],
      "type": "object"
    },
    "ApplicationError": {
      "properties": {
        "authorization_grant_type": {
          "description": "Authorization grant type field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "client_type": {
          "description": "Client type field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "Name field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "redirect_uris": {
          "description": "Redirect uris field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AuthToken": {
      "properties": {
        "token": {
          "description": "Unique JWT authorization token.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AuthTokenData": {
      "properties": {
        "password": {
          "description": "User's password.",
          "type": "string"
        },
        "username": {
          "description": "User's username.",
          "type": "string"
        }
      },
      "required": [
        "username",
        "password"
      ],
      "type": "object"
    },
    "AuthTokenError": {
      "properties": {
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "password": {
          "description": "Password field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "token": {
          "description": "Token field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "username": {
          "description": "Username field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Card": {
      "properties": {
        "address_city": {
          "description": "Address city.",
          "type": "string"
        },
        "address_country": {
          "description": "Address country.",
          "type": "string"
        },
        "address_line1": {
          "description": "Address line 1.",
          "type": "string"
        },
        "address_line1_check": {
          "description": "Address line 1 check, when processing card.",
          "type": "string"
        },
        "address_line2": {
          "description": "Address line 2.",
          "type": "string"
        },
        "address_state": {
          "description": "Address state.",
          "type": "string"
        },
        "address_zip": {
          "description": "Address zip code.",
          "type": "string"
        },
        "address_zip_check": {
          "description": "Address check, when processing card.",
          "type": "string"
        },
        "brand": {
          "description": "Credit or debit card brand.",
          "type": "string"
        },
        "created": {
          "description": "Card date and time creation.",
          "type": "string"
        },
        "customer": {
          "description": "Card customer.",
          "type": "string"
        },
        "cvc_check": {
          "description": "Security code check.",
          "type": "string"
        },
        "exp_month": {
          "description": "Card expiration month.",
          "type": "integer"
        },
        "exp_year": {
          "description": "Card expiration year.",
          "type": "integer"
        },
        "fingerprint": {
          "description": "Card fingerprint.",
          "type": "string"
        },
        "funding": {
          "description": "Funding.",
          "type": "string"
        },
        "id": {
          "description": "Card unique identifier, expressed as UUID.",
          "type": "string"
        },
        "last4": {
          "description": "Last four digits of credit or debit card.",
          "type": "string"
        },
        "name": {
          "description": "Card name.",
          "type": "string"
        },
        "stripe_id": {
          "description": "Unique stripe identifier.",
          "type": "string"
        },
        "token": {
          "description": "Card unique token.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CardDataPost": {
      "properties": {
        "address_city": {
          "description": "Address city.",
          "type": "string"
        },
        "address_country": {
          "description": "Address country.",
          "type": "string"
        },
        "address_line1": {
          "description": "Address line 1.",
          "type": "string"
        },
        "address_line2": {
          "description": "Address line 2.",
          "type": "string"
        },
        "address_state": {
          "description": "Address state.",
          "type": "string"
        },
        "address_zip": {
          "description": "Address zip code.",
          "type": "string"
        },
        "exp_month": {
          "description": "Card expiration month.",
          "type": "integer"
        },
        "exp_year": {
          "description": "Card expiration year.",
          "type": "integer"
        },
        "name": {
          "description": "Card name.",
          "type": "string"
        },
        "token": {
          "description": "Card unique token.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CardDataPutandPatch": {
      "properties": {
        "address_city": {
          "description": "Address city.",
          "type": "string"
        },
        "address_country": {
          "description": "Address country.",
          "type": "string"
        },
        "address_line1": {
          "description": "Address line 1.",
          "type": "string"
        },
        "address_line2": {
          "description": "Address line 2.",
          "type": "string"
        },
        "address_state": {
          "description": "Address state.",
          "type": "string"
        },
        "address_zip": {
          "description": "Address zip code.",
          "type": "string"
        },
        "exp_month": {
          "description": "Card expiration month.",
          "type": "integer"
        },
        "exp_year": {
          "description": "Card expiration year.",
          "type": "integer"
        },
        "name": {
          "description": "Card name.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CardError": {
      "properties": {
        "address_city": {
          "description": "address_city field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "address_country": {
          "description": "address_country field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "address_line1": {
          "description": "address_line1 field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "address_line1_check": {
          "description": "address_line1_check field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "address_line2": {
          "description": "address_line2 field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "address_state": {
          "description": "address_state field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "address_zip": {
          "description": "address_zip field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "address_zip_check": {
          "description": "address_zip_check field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "brand": {
          "description": "brand field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "created": {
          "description": "created field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "customer": {
          "description": "customer field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "cvc_check": {
          "description": "cvc_check field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "exp_month": {
          "description": "exp_month field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "exp_year": {
          "description": "exp_year field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "fingerprint": {
          "description": "fingerprint field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "funding": {
          "description": "funding field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "id field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "last4": {
          "description": "last4 field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "name field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "stripe_id": {
          "description": "stripe_id field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "token": {
          "description": "token field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CardUpdateError": {
      "properties": {
        "address_city": {
          "description": "address_city field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "address_country": {
          "description": "address_country field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "address_line1": {
          "description": "address_line1 field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "address_line1_check": {
          "description": "address_line1_check field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "address_line2": {
          "description": "address_line2 field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "address_state": {
          "description": "address_state field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "address_zip": {
          "description": "address_zip field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "address_zip_check": {
          "description": "address_zip_check field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "brand": {
          "description": "brand field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "created": {
          "description": "created field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "customer": {
          "description": "customer field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "cvc_check": {
          "description": "cvc_check field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "exp_month": {
          "description": "exp_month field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "exp_year": {
          "description": "exp_year field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "fingerprint": {
          "description": "fingerprint field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "funding": {
          "description": "funding field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "id field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "last4": {
          "description": "last4 field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "name field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "stripe_id": {
          "description": "stripe_id field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "token": {
          "description": "token field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Collaborator": {
      "properties": {
        "email": {
          "description": "Collaborator's valid email address.",
          "type": "string"
        },
        "first_name": {
          "description": "Collaborator's first name.",
          "type": "string"
        },
        "id": {
          "description": "Collaborator unique identifier in UUID format.",
          "type": "string"
        },
        "joined": {
          "description": "Date time of when collaborator joined.",
          "type": "string"
        },
        "last_name": {
          "description": "Collaborator's last name.",
          "type": "string"
        },
        "owner": {
          "description": "Boolean that states whether collaborator is project owner, or not.\n",
          "type": "boolean"
        },
        "permissions": {
          "description": "Collaborator permissions. Project creators are assigned owner\npriviledges by default. Permissions are write and read.\n",
          "items": {
            "enum": [
              "write_project",
              "read_project"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "project": {
          "description": "Collaborator project name.",
          "type": "string"
        },
        "user": {
          "description": "Collaborator user name.",
          "type": "string"
        },
        "username": {
          "description": "Collaborator's user name. This must be a valid user name within the\nsystem.\n",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CollaboratorData": {
      "properties": {
        "member": {
          "description": "Project member username.",
          "type": "string"
        },
        "owner": {
          "description": "Project owner. Defaults to false.",
          "type": "boolean"
        },
        "permissions": {
          "description": "Permissions assigned to collaborator.",
          "enum": [
            "read_project",
            "write_project"
          ],
          "type": "string"
        }
      },
      "required": [
        "member",
        "permissions"
      ],
      "type": "object"
    },
    "CollaboratorError": {
      "properties": {
        "email": {
          "description": "Email field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "first_name": {
          "description": "First name field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "Id field errors this",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "joined": {
          "description": "Joined field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "last_name": {
          "description": "Last name field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "member": {
          "description": "Member field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "owner": {
          "description": "Owner field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "permissions": {
          "description": "Permissions field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "username": {
          "description": "Username field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "member",
        "permissions"
      ],
      "type": "object"
    },
    "Deployment": {
      "properties": {
        "config": {
          "$ref": "#/definitions/DeploymentConfig",
          "description": "TODO",
          "type": "object"
        },
        "created_at": {
          "description": "Date and time when server was created.",
          "type": "string"
        },
        "created_by": {
          "description": "User that created server.",
          "type": "string"
        },
        "framework": {
          "description": "Framework that the deployment will have access to.",
          "enum": [
            "tensorflow"
          ],
          "type": "string"
        },
        "id": {
          "description": "Deploymeny unique identifier",
          "type": "string"
        },
        "name": {
          "description": "Deployment name.",
          "type": "string"
        },
        "project": {
          "description": "Project name.",
          "type": "string"
        },
        "runtime": {
          "description": "Language runtime the deployment will use.",
          "enum": [
            "python2.7"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "DeploymentConfig": {
      "properties": {
        "files": {
          "description": "An array of ProjectFile names that should be included in the deployment.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "handler": {
          "description": "The filename and handler function defined by the user that will handle requests to the deployment. Ex: handler.predict",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DeploymentData": {
      "properties": {
        "config": {
          "$ref": "#/definitions/DeploymentConfig",
          "description": "Deployment configuration for included files and handler.",
          "type": "object"
        },
        "framework": {
          "description": "Framework that the deployment will have access to.",
          "enum": [
            "tensorflow"
          ],
          "type": "string"
        },
        "name": {
          "description": "Deployment name.",
          "type": "string"
        },
        "runtime": {
          "description": "Language runtime the deployment will use.",
          "enum": [
            "python2.7"
          ],
          "type": "string"
        }
      },
      "required": [
        "name",
        "config",
        "runtime",
        "framework"
      ],
      "type": "object"
    },
    "DeploymentError": {
      "properties": {
        "config": {
          "description": "Invalid deployment configuration.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "framework": {
          "description": "Invalid framework.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "Invalid deployment name.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "runtime": {
          "description": "Invalid runtime.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Email": {
      "properties": {
        "address": {
          "description": "Email address.",
          "type": "string"
        },
        "id": {
          "description": "Email unique identifier expressed as UUID.",
          "type": "string"
        },
        "public": {
          "description": "Boolean to determine if email is public or private.",
          "type": "boolean"
        },
        "unsubscribed": {
          "description": "Boolean to determine whether user is suscribed or unsubscribed to out going email campaigns.",
          "type": "boolean"
        },
        "user": {
          "description": "User name for email.",
          "type": "string"
        }
      },
      "required": [
        "address"
      ],
      "type": "object"
    },
    "EmailData": {
      "properties": {
        "address": {
          "description": "Email address.",
          "type": "string"
        },
        "public": {
          "description": "Public or private email address.",
          "type": "boolean"
        },
        "unsubscribed": {
          "description": "Unsubscribed or suscribed.",
          "type": "boolean"
        }
      },
      "required": [
        "address"
      ],
      "type": "object"
    },
    "EmailError": {
      "properties": {
        "address": {
          "description": "Address field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "public": {
          "description": "Public field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "unsubscribed": {
          "description": "Unsubscribed field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Group": {
      "properties": {
        "created_by": {
          "description": "UUID of a user that created this group.",
          "type": "string"
        },
        "description": {
          "description": "Group description",
          "type": "string"
        },
        "id": {
          "description": "Group unique identifier expressed as UUID.",
          "type": "string"
        },
        "members": {
          "description": "List of group members usernames.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "Group name",
          "type": "string"
        },
        "parent": {
          "description": "Parent group",
          "type": "string"
        },
        "permissions": {
          "description": "List of group permissions.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "private": {
          "description": "States whether group is visible to all users.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "GroupData": {
      "properties": {
        "description": {
          "description": "Group description",
          "type": "string"
        },
        "name": {
          "description": "Group name",
          "type": "string"
        },
        "parent": {
          "description": "Parent group",
          "type": "string"
        },
        "private": {
          "description": "States whether group is visible to all users.",
          "type": "boolean"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "GroupError": {
      "properties": {
        "description": {
          "description": "Description field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "Id field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "Name field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "parent": {
          "description": "Private field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "private": {
          "description": "Private field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GroupUser": {
      "properties": {
        "user": {
          "description": "User username",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GroupUserError": {
      "properties": {
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "user": {
          "description": "User field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Invoice": {
      "properties": {
        "amount_due": {
          "description": "Amount due set in invoice.",
          "type": "integer"
        },
        "application_fee": {
          "description": "Application fee set in invoice.",
          "type": "integer"
        },
        "attempt_count": {
          "description": "Number of attempts to deliver invoice.",
          "type": "integer"
        },
        "attempted": {
          "description": "Boolean to determine whether delivery attempt executed, or not.",
          "type": "boolean"
        },
        "closed": {
          "description": "Invoice closed, or pending.",
          "type": "boolean"
        },
        "created": {
          "description": "Date and time when invoice was created.",
          "type": "string"
        },
        "currency": {
          "description": "Currency used in invoice.",
          "type": "string"
        },
        "customer": {
          "description": "Customer name.",
          "type": "string"
        },
        "description": {
          "description": "Invoice description.",
          "type": "string"
        },
        "id": {
          "description": "Invoice unique identifier expressed as UUID.",
          "type": "string"
        },
        "invoice_date": {
          "description": "Invoice issue date.",
          "type": "string"
        },
        "livemode": {
          "description": "Boolean that determines whether invoice is live, or not.",
          "type": "boolean"
        },
        "metadata": {
          "description": "Optional metadata object of invoice.",
          "type": "object"
        },
        "next_payment_attempt": {
          "description": "Next payment attempt.",
          "type": "string"
        },
        "paid": {
          "description": "Determines whether invoice has been paid, or not.",
          "type": "boolean"
        },
        "period_end": {
          "description": "Invoice end period.",
          "type": "string"
        },
        "period_start": {
          "description": "Invoice start period.",
          "type": "string"
        },
        "reciept_number": {
          "description": "Invoice receipt number.",
          "type": "string"
        },
        "starting_balance": {
          "description": "Invoice starting balance.",
          "type": "integer"
        },
        "statement_descriptor": {
          "description": "Invoice statement descriptor.",
          "type": "string"
        },
        "stripe_id": {
          "description": "Stripe account identifier.",
          "type": "string"
        },
        "subscription": {
          "description": "Suscription name.",
          "type": "string"
        },
        "subtotal": {
          "description": "Invoice sub total.",
          "type": "integer"
        },
        "tax": {
          "description": "Tax, if applicable.",
          "type": "integer"
        },
        "total": {
          "description": "Invoice total.",
          "type": "integer"
        }
      },
      "required": [
        "stripe_id",
        "created",
        "amount_due",
        "currency",
        "invoice_date",
        "period_start",
        "period_end",
        "reciept_number",
        "starting_balance",
        "subtotal",
        "total",
        "customer"
      ],
      "type": "object"
    },
    "InvoiceItem": {
      "properties": {
        "amount": {
          "description": "Amount the the invoice item will be billed for.",
          "type": "integer"
        },
        "created": {
          "description": "Date and time when invoice was created.",
          "type": "string"
        },
        "currency": {
          "description": "Currency used in invoice.",
          "type": "string"
        },
        "description": {
          "description": "Item description.",
          "type": "string"
        },
        "id": {
          "description": "InvoiceItem unique identifier expressed as UUID.",
          "type": "string"
        },
        "invoice": {
          "description": "Invoice unique identifier expressed as UUID.",
          "type": "string"
        },
        "invoice_date": {
          "description": "Date the item was added to the invoice.",
          "type": "string"
        },
        "livemode": {
          "description": "Boolean that determines whether invoice is live, or not.",
          "type": "boolean"
        },
        "metadata": {
          "description": "Optional metadata object of invoice.",
          "type": "object"
        },
        "proration": {
          "description": "Whether or not the items cost will be prorated for the billing period.",
          "type": "boolean"
        },
        "quantity": {
          "description": "Number of units for this item.",
          "type": "integer"
        },
        "stripe_id": {
          "description": "Stripe account identifier.",
          "type": "string"
        }
      },
      "required": [
        "stripe_id",
        "created",
        "amount",
        "currency",
        "invoice",
        "invoice_date",
        "quantity"
      ],
      "type": "object"
    },
    "JWT": {
      "properties": {
        "token": {
          "description": "Unique JSON Web Token (JWT).",
          "type": "string"
        }
      },
      "type": "object"
    },
    "JWTData": {
      "properties": {
        "password": {
          "description": "User password.",
          "type": "string"
        },
        "username": {
          "description": "User name.",
          "type": "string"
        }
      },
      "required": [
        "username",
        "password"
      ],
      "type": "object"
    },
    "JWTError": {
      "properties": {
        "non_field_errors": {
          "description": "Errors not connected to any field",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "password": {
          "description": "password field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "token": {
          "description": "token field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "username": {
          "description": "username field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "NotFound": {
      "properties": {
        "detail": {
          "description": "Requested item not found.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Notification": {
      "properties": {
        "actor": {
          "description": "Unique identifier of the object that triggered the notification.",
          "type": "string"
        },
        "id": {
          "description": "Notification unique identifier expressed as a UUID",
          "type": "string"
        },
        "read": {
          "description": "Whether or not the notification has been marked as read by the user.",
          "type": "boolean"
        },
        "target": {
          "description": "Unique identifier of the object that was acted upon by the object referred to in actor.",
          "type": "string"
        },
        "timestamp": {
          "description": "Timestamp that the notification was created at.",
          "type": "string"
        },
        "type": {
          "description": "Type of the notification, e.g. invoice.created, subscription.created, etc.",
          "type": "string"
        },
        "user": {
          "description": "User the notification is for.",
          "type": "string"
        }
      },
      "required": [
        "read"
      ],
      "type": "object"
    },
    "NotificationError": {
      "properties": {
        "non_field_errors": {
          "description": "Errors not connected to any field",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "read": {
          "description": "read field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "NotificationListUpdateData": {
      "properties": {
        "notifications": {
          "description": "An array of notification IDs to update.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "read": {
          "description": "Mark the notification as either read or unread",
          "type": "boolean"
        }
      },
      "required": [
        "notifications",
        "read"
      ],
      "type": "object"
    },
    "NotificationSettings": {
      "properties": {
        "email_address": {
          "description": "Email address to send notifications.",
          "type": "string"
        },
        "emails_enabled": {
          "description": "Turn emails on or off.",
          "type": "boolean"
        },
        "enabled": {
          "description": "Turn notifications on or off entirely.",
          "type": "boolean"
        },
        "entity": {
          "description": "The entity type that the settings pertain to.",
          "enum": [
            "global",
            "billing"
          ],
          "type": "string"
        },
        "id": {
          "description": "Notification unique identifier expressed as a UUID",
          "type": "string"
        },
        "user": {
          "description": "User the notification settings is for.",
          "type": "string"
        }
      },
      "required": [
        "enabled",
        "emails_enabled"
      ],
      "type": "object"
    },
    "NotificationSettingsData": {
      "properties": {
        "emails_enabled": {
          "description": "Turn emails on or off.",
          "type": "boolean"
        },
        "enabled": {
          "description": "Turn notifications on or off entirely.",
          "type": "boolean"
        }
      },
      "required": [
        "enabled",
        "emails_enabled"
      ],
      "type": "object"
    },
    "NotificationSettingsError": {
      "properties": {
        "emails_enabled": {
          "description": "emails_enabled field errors",
          "type": "boolean"
        },
        "enabled": {
          "description": "enabled field errors",
          "type": "boolean"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "NotificationUpdateData": {
      "properties": {
        "read": {
          "description": "Mark the notification as either read or unread",
          "type": "boolean"
        }
      },
      "required": [
        "read"
      ],
      "type": "object"
    },
    "Plan": {
      "properties": {
        "amount": {
          "description": "Amount (cost/price) of plan.",
          "type": "integer"
        },
        "created": {
          "description": "Date and time when plan was created.",
          "type": "string"
        },
        "currency": {
          "description": "Currency used to specify amount.",
          "type": "string"
        },
        "id": {
          "description": "Plan unique identifier as UUID.",
          "type": "string"
        },
        "interval": {
          "description": "Interval for plan, such as montly or yearly.",
          "type": "string"
        },
        "interval_count": {
          "description": "",
          "type": "integer"
        },
        "livemode": {
          "description": "Boolean to determine whether plan is live, or not.",
          "type": "boolean"
        },
        "metadata": {
          "description": "Optional meta data object.",
          "type": "object"
        },
        "name": {
          "description": "Plan name.",
          "type": "string"
        },
        "statement_descriptor": {
          "description": "Statement that describes plan to users.",
          "type": "string"
        },
        "stripe_id": {
          "description": "Stripe identifier to identify entity charging for plans.",
          "type": "string"
        },
        "trial_period_days": {
          "description": "Number of days for plan trial, used for try and buy campaigns.",
          "type": "integer"
        }
      },
      "required": [
        "amount",
        "interval",
        "interval_count",
        "name"
      ],
      "type": "object"
    },
    "Project": {
      "properties": {
        "collaborators": {
          "description": "Array of project collaborators.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "description": {
          "description": "Project description.",
          "type": "string"
        },
        "id": {
          "description": "Unique identifier for project as UUID.",
          "type": "string"
        },
        "last_updated": {
          "description": "Date and time when project was last updated.",
          "type": "string"
        },
        "name": {
          "description": "Project name.",
          "type": "string"
        },
        "owner": {
          "description": "Username of project owner.",
          "type": "string"
        },
        "private": {
          "description": "Value that states whether project is private or public.",
          "type": "boolean"
        },
        "team": {
          "description": "Project team name.",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "ProjectData": {
      "properties": {
        "description": {
          "description": "Project description.",
          "type": "string"
        },
        "name": {
          "description": "Project name.",
          "type": "string"
        },
        "private": {
          "description": "Private project true, otherwise public.",
          "type": "boolean"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "ProjectError": {
      "properties": {
        "collaborators": {
          "description": "Collaborators field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "description": {
          "description": "Description field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "Id field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "last_updated": {
          "description": "Last_updated field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "Name field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "owner": {
          "description": "Owner field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "private": {
          "description": "Private field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ProjectFile": {
      "properties": {
        "content": {
          "description": "Data sent as string, in base64 format.",
          "type": "string"
        },
        "id": {
          "description": "File unique identifier in UUID format.",
          "type": "string"
        },
        "name": {
          "description": "File name and extension.",
          "type": "string"
        },
        "path": {
          "description": "File path. Defaults to root (/).",
          "type": "string"
        },
        "project": {
          "description": "Project name where file is located.",
          "type": "string"
        }
      },
      "required": [
        "project"
      ],
      "type": "object"
    },
    "ProjectFileError": {
      "properties": {
        "content": {
          "description": "base64_data field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "file": {
          "description": "file field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "id field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "name field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "path": {
          "description": "path field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "project": {
          "description": "project field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "RefreshJSONWebToken": {
      "properties": {
        "token": {
          "description": "Refresh JWT token.",
          "type": "string"
        }
      },
      "required": [
        "token"
      ],
      "type": "object"
    },
    "RefreshJSONWebTokenData": {
      "properties": {
        "token": {
          "description": "Refreshed token.",
          "type": "string"
        }
      },
      "required": [
        "token"
      ],
      "type": "object"
    },
    "RefreshJSONWebTokenError": {
      "properties": {
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "token": {
          "description": "Token field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Search": {
      "properties": {},
      "type": "object"
    },
    "Server": {
      "properties": {
        "config": {
          "description": "Server configuration option. Values are jupyter, restful and cron.",
          "type": "object"
        },
        "connected": {
          "description": "Array that represents what other servers the server is connected to.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "created_at": {
          "description": "Date and time when server was created.",
          "type": "string"
        },
        "created_by": {
          "description": "User that created server.",
          "type": "string"
        },
        "endpoint": {
          "description": "Server endpoint path.",
          "type": "string"
        },
        "host": {
          "description": "Value that represents user defined host, otherwise known as BYON (Bring Your Own Node).\n",
          "type": "string"
        },
        "id": {
          "description": "Server unique identifier in UUID format.",
          "type": "string"
        },
        "image_name": {
          "description": "Server image source, such as 3blades/tensorflow-notebook.\n",
          "type": "string"
        },
        "logs_url": {
          "description": "A WebSocket URL for streaming stdout and stderr logs from the server.\n",
          "type": "string"
        },
        "name": {
          "description": "Server name.",
          "type": "string"
        },
        "project": {
          "description": "Project name.",
          "type": "string"
        },
        "server_size": {
          "description": "Server size unique identifier.",
          "type": "string"
        },
        "startup_script": {
          "description": "Optional startup script to use when launching server.",
          "type": "string"
        },
        "status": {
          "description": "Server status, such as Running or Error.",
          "enum": [
            "Stopped",
            "Running",
            "Error"
          ],
          "type": "string"
        },
        "status_url": {
          "description": "A WebSocket URL for listening to server status changes.\n",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "ServerAction": {
      "properties": {
        "id": {
          "description": "Server trigger unique identifier.",
          "type": "string"
        },
        "name": {
          "description": "Name for server action.",
          "type": "string"
        },
        "operation": {
          "description": "Manage server state. Starting a server changes state from Pending to Running. Terminating a server changes state from Running to Terminated. If the action results in Error, status will change to Error.\n",
          "enum": [
            "start",
            "stop",
            "terminate"
          ],
          "type": "string"
        },
        "webhook": {
          "$ref": "#/definitions/Webhook"
        }
      },
      "type": "object"
    },
    "ServerActionData": {
      "properties": {
        "name": {
          "description": "Name of server action.",
          "type": "string"
        },
        "operation": {
          "description": "Manage server state. Starting a server changes state from Pending to Running. Terminating a server changes state from Running to Terminated. Stopping a server changes state from Running to Stopped. If the action results in Error, status will change to Error.\n",
          "enum": [
            "start",
            "stop",
            "terminate"
          ],
          "type": "string"
        },
        "webhook": {
          "$ref": "#/definitions/Webhook"
        }
      },
      "type": "object"
    },
    "ServerActionError": {
      "properties": {
        "id": {
          "description": "Id field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "Name field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "operation": {
          "description": "Operation field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ServerConfig": {
      "properties": {
        "command": {
          "description": "Command to run",
          "type": "string"
        },
        "function": {
          "description": "Server function.",
          "type": "string"
        },
        "script": {
          "description": "Server script file.",
          "type": "string"
        },
        "type": {
          "description": "Server type.",
          "enum": [
            "jupyter",
            "restful",
            "cron"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "ServerData": {
      "properties": {
        "config": {
          "$ref": "#/definitions/ServerConfig",
          "description": "Server configuration option. Values are jupyter, restful and cron.",
          "type": "object"
        },
        "connected": {
          "description": "Array of other servers the server is connected to.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "host": {
          "description": "External host IPv4 address or hostname.",
          "type": "string"
        },
        "image_name": {
          "description": "Image name.",
          "type": "string"
        },
        "name": {
          "description": "Server name.",
          "type": "string"
        },
        "server_size": {
          "description": "Server size unique identifier.",
          "type": "string"
        },
        "startup_script": {
          "description": "Startup script to run when launching server.",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "ServerError": {
      "properties": {
        "config": {
          "description": "config field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "connected": {
          "description": "connected field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "created_at": {
          "description": "created_at field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "endpoint": {
          "description": "endpoint field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "host": {
          "description": "host field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "id field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "image_name": {
          "description": "image_name field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "logs_url": {
          "description": "logs_url field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "name field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "server_size": {
          "description": "server_size field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "startup_script": {
          "description": "startup_script field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "status": {
          "description": "status field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "status_url": {
          "description": "status_url field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ServerRunStatistics": {
      "properties": {
        "exit_code": {
          "description": "Exit code, such as Exit 0 or Exit 1.",
          "type": "integer"
        },
        "id": {
          "description": "Server run statistics object unique identifier in UUID format.",
          "type": "string"
        },
        "server": {
          "description": "Server name.",
          "type": "string"
        },
        "size": {
          "description": "Size of server.",
          "type": "integer"
        },
        "stacktrace": {
          "description": "Stacktrace, if there was one.",
          "type": "string"
        },
        "start": {
          "description": "Date and time that represents when server started.",
          "type": "string"
        },
        "stop": {
          "description": "Date and time that represents when server stopped.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ServerRunStatisticsData": {
      "properties": {
        "exit_code": {
          "description": "Server exit code.",
          "type": "integer"
        },
        "size": {
          "description": "Server size.",
          "type": "integer"
        },
        "stacktrace": {
          "description": "Server stacktrace.",
          "type": "string"
        },
        "start": {
          "description": "Server start.",
          "type": "string"
        },
        "stop": {
          "description": "Server stop.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ServerRunStatisticsError": {
      "properties": {
        "exit_code": {
          "description": "exit_code field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "id field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "size": {
          "description": "size field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "stacktrace": {
          "description": "stacktrace field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "start": {
          "description": "start field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "stop": {
          "description": "stop field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ServerSize": {
      "properties": {
        "active": {
          "description": "States whether the Server size is active, or not.",
          "type": "boolean"
        },
        "cpu": {
          "description": "CPU availability, equivalent to --cpus=<value>. For example if a host has\n2 CPU's, then a value of 1.5 would be limit the container to using all of the\nfirst CPU and half of the second CPU.\n",
          "type": "integer"
        },
        "id": {
          "description": "Server size unique identifier.",
          "type": "string"
        },
        "memory": {
          "description": "Memory restriction for container.",
          "type": "integer"
        },
        "name": {
          "description": "Server size name.",
          "type": "string"
        }
      },
      "required": [
        "name",
        "cpu",
        "memory"
      ],
      "type": "object"
    },
    "ServerSizeData": {
      "properties": {
        "active": {
          "description": "Active or not active.",
          "type": "boolean"
        },
        "cpu": {
          "description": "CPU set for server size.",
          "type": "integer"
        },
        "memory": {
          "description": "Memory set for server size.",
          "type": "integer"
        },
        "name": {
          "description": "Server size name.",
          "type": "string"
        }
      },
      "required": [
        "name",
        "cpu",
        "memory",
        "active"
      ],
      "type": "object"
    },
    "ServerSizeError": {
      "properties": {
        "active": {
          "description": "Active field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "cpu": {
          "description": "CPU field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "Id field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "memory": {
          "description": "Memory field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "Name field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ServerStatistics": {
      "properties": {
        "id": {
          "description": "Server statistics unique identifier in UUID format.",
          "type": "string"
        },
        "server": {
          "description": "Server name.",
          "type": "string"
        },
        "size": {
          "description": "Size of statistics.",
          "type": "integer"
        },
        "start": {
          "description": "Start statistics, such as start time and date.",
          "type": "string"
        },
        "stop": {
          "description": "Stop statistics, such as stop time and date.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ServerStatisticsData": {
      "properties": {
        "id": {
          "description": "id field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "size": {
          "description": "size field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "start": {
          "description": "start field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "stop": {
          "description": "stop field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ServerStatisticsError": {
      "properties": {
        "id": {
          "description": "Id field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "size": {
          "description": "Size field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "start": {
          "description": "Start field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "stop": {
          "description": "Stop field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ServerStatus": {
      "properties": {
        "id": {
          "description": "Server unique identifier in UUID format.",
          "type": "string"
        },
        "status": {
          "enum": [
            "Stopped",
            "Running",
            "Error"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "SshTunnel": {
      "properties": {
        "endpoint": {
          "description": "SSH tunnel destination endpoint.",
          "type": "string"
        },
        "host": {
          "description": "Host, usually IPv4, for SSH tunnel.",
          "type": "string"
        },
        "id": {
          "description": "SSH tunnel unique identifier in UUID format.",
          "type": "string"
        },
        "local_port": {
          "description": "Local source port for SSH tunnel.",
          "type": "integer"
        },
        "name": {
          "description": "SSH tunnel name.",
          "type": "string"
        },
        "remote_port": {
          "description": "Remote port to establish SSH tunnel.",
          "type": "integer"
        },
        "server": {
          "description": "Server name.",
          "type": "string"
        },
        "username": {
          "description": "SSH tunnel user name.",
          "type": "string"
        }
      },
      "required": [
        "name",
        "host",
        "local_port",
        "remote_port",
        "endpoint",
        "username"
      ],
      "type": "object"
    },
    "SshTunnelData": {
      "properties": {
        "endpoint": {
          "description": "SSH tunnel endpoint.",
          "type": "string"
        },
        "host": {
          "description": "SSH tunnel host.",
          "type": "string"
        },
        "local_port": {
          "description": "SSH tunnel local port.",
          "type": "integer"
        },
        "name": {
          "description": "SSH tunnel name.",
          "type": "string"
        },
        "remote_port": {
          "description": "SSH tunnel remote port.",
          "type": "integer"
        },
        "username": {
          "description": "User name to establish SSH tunnel.",
          "type": "string"
        }
      },
      "required": [
        "name",
        "host",
        "local_port",
        "remote_port",
        "endpoint",
        "username"
      ],
      "type": "object"
    },
    "SshTunnelError": {
      "properties": {
        "endpoint": {
          "description": "endpoint field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "host": {
          "description": "host field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "id field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "local_port": {
          "description": "local_port field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "name field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "remote_port": {
          "description": "remote_port field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "username": {
          "description": "username field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Subscription": {
      "properties": {
        "application_fee_percent": {
          "description": "Application fee percent.",
          "type": "number"
        },
        "cancel_at_period_end": {
          "description": "Boolean value to determine whether plan cancels at the end of the period, or not.",
          "type": "boolean"
        },
        "canceled_at": {
          "description": "Date and time when plan was cancelled.",
          "type": "string"
        },
        "created": {
          "description": "Date and time suscription was created.",
          "type": "string"
        },
        "current_period_end": {
          "description": "Current suscription plan end date.",
          "type": "string"
        },
        "current_period_start": {
          "description": "Current suscription plan start date.",
          "type": "string"
        },
        "ended_at": {
          "description": "Date and time for when plan ended.",
          "type": "string"
        },
        "id": {
          "description": "Unique identifier for suscription as UUID.",
          "type": "string"
        },
        "livemode": {
          "description": "Suscription live, or not.",
          "type": "boolean"
        },
        "plan": {
          "description": "Plan name.",
          "type": "string"
        },
        "quantity": {
          "description": "Quantity purchased as integer.",
          "type": "integer"
        },
        "start": {
          "description": "Date and time for when plan started.",
          "type": "string"
        },
        "status": {
          "description": "Suscription status.",
          "type": "string"
        },
        "stripe_id": {
          "description": "Stripe (payment processor) identifier.",
          "type": "string"
        },
        "trial_end": {
          "description": "Date and time for trial end.",
          "type": "string"
        },
        "trial_start": {
          "description": "Date and time for trial start.",
          "type": "string"
        }
      },
      "required": [
        "plan"
      ],
      "type": "object"
    },
    "SubscriptionData": {
      "properties": {
        "plan": {
          "description": "Plan unique identifier.",
          "type": "string"
        }
      },
      "required": [
        "plan"
      ],
      "type": "object"
    },
    "SubscriptionError": {
      "properties": {
        "application_fee_percent": {
          "description": "application_fee_percent field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "cancel_at_period_end": {
          "description": "cancel_at_period_end field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "canceled_at": {
          "description": "canceled_at field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "created": {
          "description": "created field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "current_period_end": {
          "description": "current_period_end field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "current_period_start": {
          "description": "current_period_start field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "ended_at": {
          "description": "ended_at field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "id field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "livemode": {
          "description": "livemode field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "plan": {
          "description": "plan field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "quantity": {
          "description": "quantity field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "start": {
          "description": "start field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "status": {
          "description": "status field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "stripe_id": {
          "description": "stripe_id field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "trial_end": {
          "description": "trial_end field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "trial_start": {
          "description": "trial_start field errors",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Team": {
      "properties": {
        "avatar": {
          "description": "Team avatar image.",
          "format": "byte",
          "type": "string"
        },
        "avatar_url": {
          "description": "Team avatar url.",
          "type": "string"
        },
        "created_by": {
          "description": "UUID of a user that created this team.",
          "type": "string"
        },
        "description": {
          "description": "Team description",
          "type": "string"
        },
        "id": {
          "description": "Team unique identifier expressed as UUID.",
          "type": "string"
        },
        "location": {
          "description": "Team location.",
          "type": "string"
        },
        "name": {
          "description": "Team name",
          "type": "string"
        },
        "website": {
          "description": "Teams website.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TeamData": {
      "properties": {
        "avatar": {
          "description": "Team avatar image.",
          "format": "byte",
          "type": "string"
        },
        "avatar_url": {
          "description": "Team avatar url.",
          "type": "string"
        },
        "description": {
          "description": "Team description",
          "type": "string"
        },
        "location": {
          "description": "Team location.",
          "type": "string"
        },
        "name": {
          "description": "Team name",
          "type": "string"
        },
        "website": {
          "description": "Teams website.",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "TeamError": {
      "properties": {
        "avatar": {
          "description": "Avatar field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "avatar_url": {
          "description": "Avatar url field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "description": {
          "description": "Description field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "Id field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "location": {
          "description": "Location field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "Name field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "website": {
          "description": "Website field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "User": {
      "properties": {
        "email": {
          "description": "User email address.",
          "type": "string"
        },
        "first_name": {
          "description": "User first name.",
          "type": "string"
        },
        "id": {
          "description": "User unique identifier, expressed as UUID.",
          "type": "string"
        },
        "last_name": {
          "description": "User last name.",
          "type": "string"
        },
        "profile": {
          "$ref": "#/definitions/UserProfile",
          "description": "User profile information.",
          "type": "object"
        },
        "username": {
          "description": "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.",
          "maxLength": 64,
          "minLength": 6,
          "pattern": "[a-z0-9]{6,64}",
          "type": "string"
        }
      },
      "required": [
        "username",
        "profile"
      ],
      "type": "object"
    },
    "UserData": {
      "properties": {
        "email": {
          "description": "User email.",
          "type": "string"
        },
        "first_name": {
          "description": "User first name.",
          "type": "string"
        },
        "last_name": {
          "description": "User last name.",
          "type": "string"
        },
        "password": {
          "description": "User password.",
          "type": "string"
        },
        "profile": {
          "$ref": "#/definitions/UserProfile",
          "description": "User profile information is required, although attribute values may be empty.",
          "type": "object"
        },
        "username": {
          "description": "Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.",
          "type": "string"
        }
      },
      "required": [
        "username",
        "password",
        "profile"
      ],
      "type": "object"
    },
    "UserError": {
      "properties": {
        "email": {
          "description": "Email field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "first_name": {
          "description": "First name field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "description": "id field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "last_name": {
          "description": "Last name field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "password": {
          "description": "Password field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "profile": {
          "$ref": "#/definitions/UserProfileError"
        },
        "username": {
          "description": "Username field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "UserProfile": {
      "properties": {
        "avatar": {
          "description": "Avatar image",
          "format": "byte",
          "type": "string"
        },
        "bio": {
          "description": "Description of user's biography.",
          "type": "string"
        },
        "company": {
          "description": "User's company.",
          "type": "string"
        },
        "location": {
          "description": "User location.",
          "type": "string"
        },
        "timezone": {
          "description": "User's time zone.",
          "type": "string"
        },
        "url": {
          "description": "Users's personal website.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UserProfileError": {
      "properties": {
        "bio": {
          "description": "Bio field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "company": {
          "description": "Company field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "location": {
          "description": "Location field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "timezone": {
          "description": "Timezone field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "URL field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "VerifyJSONWebToken": {
      "properties": {
        "token": {
          "description": "Varify JWT token.",
          "type": "string"
        }
      },
      "required": [
        "token"
      ],
      "type": "object"
    },
    "VerifyJSONWebTokenData": {
      "properties": {
        "token": {
          "description": "JSON Web Token (JWT).",
          "type": "string"
        }
      },
      "required": [
        "token"
      ],
      "type": "object"
    },
    "VerifyJSONWebTokenError": {
      "properties": {
        "non_field_errors": {
          "description": "Errors not connected to any field.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "token": {
          "description": "Token field errors.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Webhook": {
      "properties": {
        "payload": {
          "description": "JSON with payload and webhook configurations.",
          "type": "object"
        },
        "url": {
          "description": "URL for webhook.",
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "type": "object"
    }
  },
  "x-headers": [
    {
      "Content-Type": "application/json"
    }
  ],
  "x-samples-languages": [
    "curl",
    "python",
    "javascript",
    "node",
    "ruby",
    "php",
    "go",
    "csharp",
    "java",
    "swift"
  ]
}