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.

      The following syntax is required:

        Authorization: Bearer <token>
    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.
        type: boolean
      permissions:
        description: |
          Collaborator permissions. Project creators are assigned owner
          priviledges by default. Permissions are write and read.
        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
          system.
        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).
        type: string
      id:
        description: Server unique identifier in UUID format.
        type: string
      image_name:
        description: |
          Server image source, such as 3blades/tensorflow-notebook.
        type: string
      logs_url:
        description: |
          A WebSocket URL for streaming stdout and stderr logs from the server.
        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.
        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.
        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.
        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
          2 CPU's, then a value of 1.5 would be limit the container to using all of the
          first CPU and half of the second CPU.
        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
