{
  "/users/{id}/avatar": {
    "get": {
      "summary": "Get User Avatar",
      "description": "Gets a User Avatar image file",
      "tags": [
        "users"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "get_users_id_avatar",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "user id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "User Avatar",
          "type": "file"
        }
      }
    },
    "put": {
      "summary": "Add User Avatar",
      "description": "Adds a User Avatar image file",
      "tags": [
        "users"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "put_users_id_avatar",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "user id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "avatar",
          "in": "formData",
          "description": "user icon to add",
          "required": true,
          "type": "file"
        }
      ],
      "responses": {
        "200": {
          "description": "file",
          "schema": {
            "$ref": "#/definitions/files"
          }
        }
      }
    }
  },
  "/users/register": {
    "post": {
      "summary": "Register a new User",
      "description": "Registers a newly created User. User must be invited to be registered. More common process for adding user is for user to be generated with a Service Request.",
      "tags": [
        "users"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "post_users_register",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "user",
          "in": "body",
          "description": "user to create",
          "required": true,
          "schema": {
            "$ref": "#/definitions/users"
          }
        }
      ],
      "responses": {
        "200": {
          "description": "An array of Users",
          "schema": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/users"
            }
          }
        }
      }
    }
  },
  "/users/{id}/suspend": {
    "post": {
      "summary": "Suspend a User",
      "description": "Suspends a User which will cancel all users services in Stripe and in ServiceBot and mark the user as suspended. Users automatically become suspended if there are payment failures (like expired cards). You can also manually suspend users which will trigger a webhook which can notify your application for application access restriction.",
      "tags": [
        "users"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff"
      ],
      "operationId": "post_users_id_suspend",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "user to suspend",
          "required": true,
          "type": "number"
        }
      ],
      "responses": {
        "200": {
          "description": "A user",
          "schema": {
            "$ref": "#/definitions/users"
          }
        }
      }
    }
  },
  "/users/{id}/unsuspend": {
    "post": {
      "summary": "Unsuspend a User",
      "description": "Unsuspends a User changing their status from 'suspended' to 'active'. It does not resubscribe User to all previous subscriptions.",
      "tags": [
        "users"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff"
      ],
      "operationId": "post_users_id_unsuspend",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "user to unsuspend",
          "required": true,
          "type": "number"
        }
      ],
      "responses": {
        "200": {
          "description": "A user",
          "schema": {
            "$ref": "#/definitions/users"
          }
        }
      }
    }
  },
  "/users/invite": {
    "post": {
      "summary": "Invite a new User",
      "description": "Invites a new User responding with an invitation URL for the user to go to to complete registration. More common process for adding user is for user to be generated with a Service Request.",
      "tags": [
        "users"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff"
      ],
      "operationId": "post_users_invite",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "email",
          "in": "body",
          "description": "user to create",
          "required": true,
          "type": "string"
        }
      ],
      "responses": {
        "200": {
          "description": "Invitation URL",
          "type": "string"
        }
      }
    }
  },
  "/users/{id}/token": {
    "post": {
      "summary": "Get a token for a user",
      "description": "As an authenticated admin, gets an auth token for a user.",
      "tags": [
        "users"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin"
      ],
      "operationId": "post_users_id_token",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "user to get a token for",
          "required": true,
          "type": "number"
        }
      ],
      "responses": {
        "200": {
          "description": "API JSON Web token for specified user",
          "type": "string"
        }
      }
    }
  },
  "/roles/manage-permissions": {
    "get": {
      "summary": "Gets all roles with array of permission ids",
      "description": "Gets all the roles in the system with all the permissions in that role.",
      "tags": [
        "roles"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin"
      ],
      "operationId": "get_roles_manage_permissions",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "responses": {
        "200": {
          "description": "An array of roles",
          "schema": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/roles_permissions"
            }
          }
        }
      }
    },
    "post": {
      "summary": "Update role with permission",
      "description": "Batch update roles with permission Ids.",
      "tags": [
        "roles"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin"
      ],
      "operationId": "post_roles_manage_permissions",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "role",
          "in": "body",
          "description": "roles and permissions to update",
          "required": true,
          "schema": {
            "$ref": "#/definitions/roles_permissions"
          }
        }
      ],
      "responses": {
        "200": {
          "description": "An array of roles",
          "schema": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/roles_permissions"
            }
          }
        }
      }
    }
  },
  "/service-templates/public": {
    "get": {
      "summary": "Get all public Service Templates",
      "description": "Gets all published Service Templates. Templates default to published when created. Does not need Auth.",
      "tags": [
        "service-templates"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "get_service_templates_public",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "responses": {
        "200": {
          "description": "An array of service-templates",
          "schema": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/service_templates"
            }
          }
        }
      }
    }
  },
  "/service-templates/{id}/icon": {
    "get": {
      "summary": "Get Service Template Icon",
      "description": "Gets Service Template Icon file",
      "tags": [
        "service-templates"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "get_service_templates_id_icon",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-template id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "service-template File",
          "type": "file"
        }
      }
    },
    "put": {
      "summary": "Add a Service Template Icon",
      "description": "Adds a Service Template Icon file",
      "tags": [
        "service-templates"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff"
      ],
      "operationId": "put_service_templates_id_icon",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-template id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "template-icon",
          "in": "formData",
          "description": "service-template icon to add",
          "required": true,
          "type": "file"
        }
      ],
      "responses": {
        "200": {
          "description": "An array of System Options",
          "schema": {
            "$ref": "#/definitions/files"
          }
        }
      }
    },
    "delete": {
      "summary": "Delete Service Template Icon",
      "description": "Deletes a Service Template Icon file",
      "tags": [
        "service-templates"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff"
      ],
      "operationId": "delete_service_templates_id_icon",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-template id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "message",
          "type": "string"
        }
      }
    }
  },
  "/service-templates/{id}/image": {
    "get": {
      "summary": "Get Service Template Image",
      "description": "Gets a Service Template Image file",
      "tags": [
        "service-templates"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "get_service_templates_id_image",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-template id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "service-template File",
          "type": "file"
        }
      }
    },
    "put": {
      "summary": "Add a Service Template Image",
      "description": "Adds a Service Template Image file",
      "tags": [
        "service-templates"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff"
      ],
      "operationId": "put_service_templates_id_image",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-template id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "template-image",
          "in": "formData",
          "description": "service-template image to add",
          "required": true,
          "type": "file"
        }
      ],
      "responses": {
        "200": {
          "description": "An array of System Options",
          "schema": {
            "$ref": "#/definitions/files"
          }
        }
      }
    },
    "delete": {
      "summary": "Delete Service Template Image",
      "description": "Deletes a Service Template Image file",
      "tags": [
        "service-templates"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff"
      ],
      "operationId": "delete_service_templates_id_image",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-template id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "message",
          "type": "string"
        }
      }
    }
  },
  "/service-templates/{id}/request": {
    "get": {
      "summary": "Get Service Request Template",
      "description": "Gets a request template for requesting a Service Instance of the Service Template",
      "tags": [
        "service-templates"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "get_service_templates_id_request",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-templates id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "A service-template request",
          "type": "object"
        }
      }
    },
    "post": {
      "summary": "Request a Service Instance",
      "description": "Requests a Service Instance. Can make this call unauthorized, but must also send 'email', 'password' and 'token_id' in the request JSON. 'token_id' is a Stripe Token: https://stripe.com/docs/api#token_object Can use 'tok_visa' for testing. If using synchronous webhooks, you will find the response of the webhook in webhook_responses.",
      "tags": [
        "service-templates"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "put_service_templates_id_request",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-templates id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "request",
          "in": "body",
          "description": "service-template request information",
          "required": true,
          "schema": {
            "$ref": "#/definitions/service_instance_request"
          }
        }
      ],
      "responses": {
        "200": {
          "description": "The newly provisioned service instance",
          "schema": {
            "$ref": "#/definitions/service_instance_request_response"
          }
        }
      }
    }
  },
  "/service-instances/{id}/approve": {
    "post": {
      "summary": "Approve a Service Instance",
      "description": "If an instance was requested by an admin, for a user, they must approve of the Service request. Approving the Service Instance will proceed with charges if there are any and begin the subscription.",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "post_service_instances_id_approve",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "A service-instance",
          "schema": {
            "$ref": "#/definitions/service_instances"
          }
        }
      }
    }
  },
  "/service-instances/{id}/reactivate": {
    "post": {
      "summary": "Reactivate a cancelled Service Instance",
      "description": "Reactivates a cancelled Service Instance, triggering a webhook. Once subscription is reactivated, charges will resume.",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "post_service_instances_id_reactivate",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "A service-instance",
          "schema": {
            "$ref": "#/definitions/service_instances"
          }
        }
      }
    }
  },
  "/service-instances/{id}/change-price": {
    "post": {
      "summary": "Change a Service Instance payment plan",
      "description": "Updates the payment plan of a Service Instance. Use to modify price, period, interval, or trial.",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff"
      ],
      "operationId": "post_service_instances_id_change_price",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "Service Instance id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "payment_plan",
          "in": "body",
          "description": "service instance payment_plan to update",
          "required": true,
          "schema": {
            "type": "object",
            "properties": {
              "statement_descriptor": {
                "type": "string",
                "description": "what shows up on statement"
              },
              "amount": {
                "type": "integer",
                "description": "Amount in cents"
              },
              "currency": {
                "type": "string",
                "description": "Currency type"
              },
              "interval": {
                "type": "string",
                "description": "Interval period (month, day, year)"
              },
              "interval_count": {
                "type": "integer",
                "description": "Number of intervals in a period, for example with a monthly interval and interval_count of 1, customer charged every month"
              },
              "subscription_prorate": {
                "type": "boolean",
                "description": "Prorate changes?"
              },
              "trial_period_days": {
                "type": "integer",
                "description": "Days of trial"
              }
            }
          }
        }
      ],
      "responses": {
        "200": {
          "description": "A service-instance",
          "schema": {
            "$ref": "#/definitions/service_instances"
          }
        }
      }
    }
  },
  "/service-instances/{id}/change-properties": {
    "post": {
      "summary": "Change a Service Instance properties",
      "description": "Changes a Service Instance properties, can affect instance pricing if subscription and the properties modify price.",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "post_service_instances_id_change_properties",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
      ],
      "responses": {
        "200": {
          "description": "A service-instance",
          "schema": {
            "$ref": "#/definitions/service_instances"
          }
        }
      }
    }
  },
  "/service-instances/{id}/cancel": {
    "post": {
      "summary": "Cancel a Service Instance",
      "description": "Cancels a Service Instance. Can only be performed by Admin or Staff.",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff"
      ],
      "operationId": "post_service_instances_id_cancel",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "A service-instance",
          "schema": {
            "$ref": "#/definitions/service_instances"
          }
        }
      }
    }
  },
  "/service-instances/{id}/request-cancellation": {
    "post": {
      "summary": "Request Cancellation of a Service Instance",
      "description": "Requests Cancellation a Service Instance. Can be performed by Admin and Users.",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "post_service_instances_id_request_cancellation",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "A service-instance-cancellation",
          "schema": {
            "$ref": "#/definitions/service_instance_cancellations"
          }
        }
      }
    }
  },
  "/service-instances/{id}/add-charge": {
    "post": {
      "summary": "Add a charge to a Service Instance",
      "description": "Adds a charge to a Service Instance.",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff"
      ],
      "operationId": "post_service_instances_id_add_charge",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "charge",
          "in": "body",
          "description": "Charge to add to Service Instance",
          "required": true,
          "schema": {
            "$ref": "#/definitions/charge_items"
          }
        }
      ],
      "responses": {
        "200": {
          "description": "A charge-item",
          "schema": {
            "$ref": "#/definitions/charge_items"
          }
        }
      }
    }
  },
  "/service-instances/{id}/awaiting-charges": {
    "get": {
      "summary": "Get awaiting charges of Service Instance",
      "description": "Gets not yet paid charges of Service Instance.",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "get_service_instances_id_awaiting_charges",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "Service Instance Charge Items",
          "schema": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/charge_items"
            }
          }
        }
      }
    }
  },
  "/service-instances/{id}/approve-charges": {
    "post": {
      "summary": "Approve Charges on a Service Instance",
      "description": "Approves pending charges on a Service Instance.",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "post_service_instances_id_approve_charges",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "A service-instance",
          "schema": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/charge_items"
            }
          }
        }
      }
    }
  },
  "/service-instance/{id}/metric": {
    "get": {
      "summary": "Get metric",
      "description": "Gets the value of an Instance's metric. Use this call along with the POST call to increment or set a metric from your app.",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "get_service_id_metric",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "Metric",
          "schema": {
            "$ref": "#/definitions/metric_change"
          }
        }
      }
    },
    "post": {
      "summary": "Change metric",
      "description": "Modifies an Instance's metric. Automatically adjusts and prorates billing.",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "post_service_id_metric",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "Metric",
          "schema": {
            "$ref": "#/definitions/metric_change"
          }
        }
      }
    }
  },
  "/service-instances/{id}/seats": {
    "get": {
      "summary": "Get Seats on a service instance",
      "description": "Gets the seats associated with a service instance.",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "get_service_instances_id_seats",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "Seat",
          "schema": {
            "$ref": "#/definitions/seat"
          }
        }
      }
    },
    "post": {
      "summary": "Add a seat to an instance",
      "description": "Adds seat to an Instance using email. If user does not exist, invitation email is set (can be turned off with notification templates), and webhook is triggered.",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "post_service_instances_id_seats",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "email",
          "in": "body",
          "description": "Email of user to add",
          "required": true,
          "type": "string"
        }
      ],
      "responses": {
        "200": {
          "description": "Seat",
          "schema": {
            "$ref": "#/definitions/seat"
          }
        }
      }
    }
  },
  "/service-instances/{id}/seats/{seatId}": {
    "delete": {
      "summary": "Remove a seat from an instance",
      "description": "Removes the seats associated with a service instance by Id.",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "get_service_instances_id_seats",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "seatId",
          "in": "path",
          "description": "seat id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "Message",
          "type": "string"
        }
      }
    }
  },
  "/service-instances/{id}/seats/{seatId}/reinvite": {
    "post": {
      "summary": "Resend invitation for seat",
      "description": "Resends seat invitation using Seat Id. Invitation email is set (can be turned off with notification templates), and webhook is triggered.",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "post_service_instances_id_seats_seatid_reinvite",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "seatId",
          "in": "path",
          "description": "seat id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "Seat",
          "schema": {
            "$ref": "#/definitions/seat"
          }
        }
      }
    }
  },
  "/service-instances/{id}/files": {
    "post": {
      "summary": "Add a Service Instance File",
      "description": "Adds a Service Instance File",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "post_service_instances_id_files",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "files",
          "in": "body",
          "description": "service-instance files",
          "required": true,
          "type": "array",
          "items": {
            "type": "file"
          }
        }
      ],
      "responses": {
        "200": {
          "description": "Files",
          "schema": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/files"
            }
          }
        }
      }
    },
    "get": {
      "summary": "Get Service Instance files",
      "description": "Gets Service Instance files",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "get_service_instances_id_files",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "Service Instance Charge Items",
          "schema": {
            "type": "array",
            "items": {
              "type": "file"
            }
          }
        }
      }
    }
  },
  "/service-instances/{id}/files/{fid}": {
    "delete": {
      "summary": "Delete a Service Instance File",
      "description": "Deletes a Service Instance File",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "delete_service_instances_id_files_fid",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "fid",
          "in": "path",
          "description": "service-instance file id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "Message",
          "type": "string"
        }
      }
    },
    "get": {
      "summary": "Get Service Instance file by id",
      "description": "Gets a Service Instance file by id",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "get_service_instances_id_files_fid",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "fid",
          "in": "path",
          "description": "service-instance file id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "Service Instance File",
          "type": "file"
        }
      }
    }
  },
  "/service-instance-cancellations/{id}/approve": {
    "post": {
      "summary": "Approve a Service Instance Cancellation request",
      "description": "Approves a Service Instance Cancellation request",
      "tags": [
        "service-instance-cancellations"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff"
      ],
      "operationId": "post_service_instance_cancellations_id_approve",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance-cancellations id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "Canceled Instance",
          "schema": {
            "$ref": "#/definitions/service_instance_cancellations"
          }
        }
      }
    }
  },
  "/service-instance-cancellations/{id}/reject": {
    "post": {
      "summary": "Reject a Service Instance Cancellation request",
      "description": "Rejects a Service Instance Cancellation request. For Admins.",
      "tags": [
        "service-instance-cancellations"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff"
      ],
      "operationId": "post_service_instance_cancellations_id_reject",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance-cancellations id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "Updated Instance",
          "schema": {
            "$ref": "#/definitions/service_instance_cancellations"
          }
        }
      }
    }
  },
  "/service-instance-cancellations/{id}/undo": {
    "post": {
      "summary": "Undo a Service Instance Cancellation request",
      "description": "Undoes a Service Instance Cancellation request for the user who requested it.",
      "tags": [
        "service-instance-cancellations"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "post_service_instance_cancellations_id_undo",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "service-instance-cancellations id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "Updated Instance",
          "schema": {
            "$ref": "#/definitions/service_instance_cancellations"
          }
        }
      }
    }
  },
  "/service-instance-seats/own": {
    "get": {
      "summary": "Get own Seats",
      "description": "Gets the seat data of the authenticated user.",
      "tags": [
        "service-instances"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "get_service_instance_seats_own",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "responses": {
        "200": {
          "description": "Seat",
          "schema": {
            "$ref": "#/definitions/seat"
          }
        }
      }
    }
  },
  "/notification-templates/{id}/roles": {
    "get": {
      "summary": "Gets Notification Template Roles",
      "tags": [
        "notification-templates"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin"
      ],
      "operationId": "get_notification_templates_id_roles",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "Notification Template id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "Template to Roles",
          "type": "object"
        }
      }
    },
    "put": {
      "summary": "Updates an Notification Template Role",
      "tags": [
        "notification-templates"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin"
      ],
      "operationId": "put_notification_templates_id_roles",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "Notification Template id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "Notification-Template-To-Role",
          "in": "body",
          "description": "Notification Template to Role",
          "required": true,
          "type": "object"
        }
      ],
      "responses": {
        "200": {
          "description": "Template to Roles",
          "type": "object"
        }
      }
    }
  },
  "/invoices/upcoming/{id}": {
    "get": {
      "summary": "Get upcoming Invoices",
      "description": "Gets the upcoming invoices for a User by id",
      "tags": [
        "invoices"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "get_invoices_upcoming_id",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "User id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "A Invoices",
          "schema": {
            "$ref": "#/definitions/invoices"
          }
        }
      }
    }
  },
  "/invoices/{id}/refund": {
    "post": {
      "summary": "Refund Invoice",
      "description": "Refunds an invoice by Id. Can perform partial refund by passing 'amount' field in body.",
      "tags": [
        "invoices"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff"
      ],
      "operationId": "post_invoices_id_refund",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "Invoice id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "amount",
          "in": "body",
          "description": "Refund Amount",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "reason",
          "in": "body",
          "description": "Refund reason",
          "required": true,
          "type": "string"
        }
      ],
      "responses": {
        "200": {
          "description": "The transaction",
          "schema": {
            "$ref": "#/definitions/transactions"
          }
        }
      }
    }
  },
  "/system-options": {
    "get": {
      "summary": "Get all System Options",
      "description": "Gets all System Options",
      "tags": [
        "system-options"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin"
      ],
      "operationId": "get_system_options",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "responses": {
        "200": {
          "description": "An array of System Options",
          "schema": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/system_options"
            }
          }
        }
      }
    },
    "put": {
      "summary": "Batch Update System Options",
      "description": "Batch Updates System Options",
      "tags": [
        "system-options"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin"
      ],
      "operationId": "put_system_options",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "System Options",
          "in": "body",
          "description": "An array of System Options to create",
          "required": true,
          "schema": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/system_options"
            }
          }
        }
      ],
      "responses": {
        "200": {
          "description": "An array of System Options",
          "schema": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/system_options"
            }
          }
        }
      }
    }
  },
  "/system-options/public": {
    "get": {
      "summary": "Get all public System Options",
      "description": "Gets all public System Options",
      "tags": [
        "system-options"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "get_system_options_public",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "responses": {
        "200": {
          "description": "An array of System Options",
          "schema": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/system_options"
            }
          }
        }
      }
    }
  },
  "/system-options/{id}": {
    "get": {
      "summary": "Get a System Option by Id",
      "description": "Gets a System Option by Id",
      "tags": [
        "system-options"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin"
      ],
      "operationId": "get_system_options_id",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "System Option id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "A System Options",
          "schema": {
            "$ref": "#/definitions/system_options"
          }
        }
      }
    },
    "put": {
      "summary": "Update a System Option",
      "description": "Updates a System Option",
      "tags": [
        "system-options"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin"
      ],
      "operationId": "put_system_options_id",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "System Option id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "System Option",
          "in": "body",
          "description": "System Option to create",
          "required": true,
          "schema": {
            "$ref": "#/definitions/system_options"
          }
        }
      ],
      "responses": {
        "200": {
          "description": "An array of System Options",
          "schema": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/system_options"
            }
          }
        }
      }
    }
  },
  "/system-options/file/{id}": {
    "get": {
      "summary": "Get a System File Option",
      "description": "Gets a System File Option. Ids are 'front_page_image', 'brand_logo'.",
      "tags": [
        "system-options"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "get_system_options_file_id",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "System Option id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "A System Options",
          "type": "file"
        }
      }
    },
    "put": {
      "summary": "Update a System Option",
      "description": "Updates a System File Option. Ids are 'front_page_image', 'brand_logo'.",
      "tags": [
        "system-options"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin"
      ],
      "operationId": "put_system_options_file_id",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "System Option id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "file",
          "in": "formData",
          "description": "System Option to create",
          "required": true,
          "type": "file"
        }
      ],
      "responses": {
        "200": {
          "description": "An array of System Options",
          "schema": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/files"
            }
          }
        }
      }
    }
  },
  "/system-options/version": {
    "get": {
      "summary": "Get System version",
      "description": "Gets System version",
      "tags": [
        "system-options"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "get_system_options_version",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "responses": {
        "200": {
          "description": "System Version",
          "type": "string"
        }
      }
    }
  },
  "/charge/{id}/approve": {
    "post": {
      "summary": "Approve a Charge Item",
      "description": "Approves a Charge Item added onto a Service Instance. Use POST /service-instances/{id}/add-charge to add charges and GET /service-instances/{id}/awaiting-charges to get charges for an Instance.",
      "tags": [
        "charge"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff"
      ],
      "operationId": "post_charge_id_approve",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "charge-item id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "A charge-item",
          "schema": {
            "$ref": "#/definitions/charge_items"
          }
        }
      }
    }
  },
  "/charge/{id}/cancel": {
    "post": {
      "summary": "Cancel a Charge Item",
      "description": "Cancels a Charge Item added onto a Service Instance. Use POST /service-instances/{id}/add-charge to add charges and GET /service-instances/{id}/awaiting-charges to get charges for an Instance.",
      "tags": [
        "charge"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff"
      ],
      "operationId": "post_charge_id_cancel",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "charge-item id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "A charge-item",
          "schema": {
            "$ref": "#/definitions/charge_items"
          }
        }
      }
    }
  },
  "/auth/token": {
    "post": {
      "summary": "Get Authorization Token",
      "description": "Gets an Authorization Token. Use to authenticate all other calls with the header 'Authorization' and value 'JWT generated_token'",
      "tags": [
        "auth"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "post_auth_token",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "User Login",
          "in": "body",
          "description": "User Login Information",
          "required": true,
          "schema": {
            "$ref": "#/definitions/user_login"
          }
        }
      ],
      "responses": {
        "200": {
          "description": "Authorization Token",
          "type": "string"
        }
      }
    }
  },
  "/auth/session/clear": {
    "post": {
      "summary": "Clear session",
      "description": "Clears authorized session for token used in call made.",
      "tags": [
        "auth"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "post_auth_session_clear",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "responses": {
        "200": {
          "description": "Message",
          "type": "string"
        }
      }
    }
  },
  "/auth/reset-password": {
    "post": {
      "summary": "Send Reset password email",
      "description": "Sends Reset password email to user passed in body. No authorization needed.",
      "tags": [
        "auth"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "post_auth_reset_password",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "email",
          "in": "body",
          "description": "user email",
          "required": true,
          "type": "string"
        }
      ],
      "responses": {
        "200": {
          "description": "Message",
          "type": "string"
        }
      }
    }
  },
  "/auth/reset-password/{uid}/{token}": {
    "get": {
      "summary": "Check valid password reset token",
      "description": "Checks is the password reset token passed as parameter is valid, and returns true or false.",
      "tags": [
        "auth"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "get_auth_reset_password_uid_token",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "uid",
          "in": "path",
          "description": "user id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "token",
          "in": "path",
          "description": "token",
          "required": true,
          "type": "string"
        }
      ],
      "responses": {
        "200": {
          "description": "is valid token",
          "type": "string"
        }
      }
    },
    "post": {
      "summary": "Reset user password",
      "description": "Resets a user's password using the user's id, password reset token, and new password.",
      "tags": [
        "auth"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff",
        "user"
      ],
      "operationId": "post_auth_reset_password_uid_token",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "uid",
          "in": "path",
          "description": "user id",
          "required": true,
          "type": "number",
          "format": "double"
        },
        {
          "name": "token",
          "in": "path",
          "description": "token",
          "required": true,
          "type": "string"
        },
        {
          "name": "password",
          "in": "path",
          "description": "new password",
          "required": true,
          "type": "string"
        }
      ],
      "responses": {
        "200": {
          "description": "response message",
          "type": "string"
        }
      }
    }
  },
  "/analytics/data": {
    "get": {
      "summary": "Get Analytics Data",
      "description": "Gets all Analytics Data from ServiceBot instance",
      "tags": [
        "analytics"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff"
      ],
      "operationId": "get_analytics_data",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "responses": {
        "200": {
          "description": "Analytics Data",
          "type": "object"
        }
      }
    }
  },
  "/analytics/properties/{id}": {
    "get": {
      "summary": "Get all instance properties from a template",
      "description": "Get all instance properties from a template id. Gather analytics from a single Service template to see commonalities for the fields you are asking from your users in signup.",
      "tags": [
        "analytics"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin",
        "staff"
      ],
      "operationId": "get_analytics_properties_id",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "description": "Service Template id",
          "required": true,
          "type": "number",
          "format": "double"
        }
      ],
      "responses": {
        "200": {
          "description": "Instance properties",
          "type": "object"
        }
      }
    }
  },
  "/permissions": {
    "get": {
      "summary": "Gets all permissions",
      "tags": [
        "permissions"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin"
      ],
      "operationId": "get_permissions",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "responses": {
        "200": {
          "description": "An array of permissions",
          "schema": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/permissions"
            }
          }
        }
      }
    }
  },
  "/stripe/preconfigure": {
    "post": {
      "summary": "First call to make to change stripe keys",
      "tags": [
        "stripe"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin"
      ],
      "operationId": "post_stripe_preconfigure",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "Stripe Keys",
          "in": "body",
          "description": "Public and private stripe keys",
          "required": true,
          "schema": {
            "$ref": "#/definitions/stripe_keys"
          }
        }
      ],
      "responses": {
        "200": {
          "description": "Response message",
          "schema": {
            "$ref": "#/definitions/stripe_preconfigure"
          }
        }
      }
    }
  },
  "/stripe/reconfigure": {
    "post": {
      "summary": "Second call to make to change stripe keys",
      "tags": [
        "stripe"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin"
      ],
      "operationId": "post_stripe_reconfigure",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "parameters": [
        {
          "name": "Stripe Keys",
          "in": "body",
          "description": "Public and private stripe keys",
          "required": true,
          "schema": {
            "$ref": "#/definitions/stripe_keys"
          }
        }
      ],
      "responses": {
        "200": {
          "description": "Response message",
          "type": "string",
          "name": "message"
        }
      }
    }
  },
  "/stripe/keys": {
    "get": {
      "summary": "Gets stripe keys",
      "tags": [
        "stripe"
      ],
      "produces": [
        "application/json"
      ],
      "x-roles": [
        "admin"
      ],
      "operationId": "get_stripe_keys",
      "security": [
        {
          "internalApiKey": []
        }
      ],
      "responses": {
        "200": {
          "description": "Stripe Keys",
          "schema": {
            "$ref": "#/definitions/stripe_keys"
          }
        }
      }
    }
  }
}