{
  "openapi": "3.1.0",
  "info": {
    "version": "1.0",
    "title": "Introduction",
    "summary": "V1 of the TidyHQ API",
    "description": "The TidyHQ API allows access to your organisations data (both read and write operations).\n\nThe full OpenAPI specification for this version is available at [https://api.tidyhq.com/v1/openapi.json](https://api.tidyhq.com/v1/openapi.json).\n",
    "termsOfService": "https://www.tidyhq.com/terms-of-service",
    "contact": {
      "name": "TidyHQ",
      "url": "https://www.tidyhq.com"
    }
  },
  "servers": [
    {
      "url": "https://api.tidyhq.com/v1",
      "description": "Primary"
    }
  ],
  "paths": {
    "/invoices": {
      "get": {
        "tags": [
          "Finances"
        ],
        "summary": "List Invoices",
        "description": "Returns a list of invoices",
        "operationId": "list-invoices",
        "parameters": [
          {
            "$ref": "#/components/parameters/updated_since"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "status",
            "in": "query",
            "description": "Filter invoices to only those selected, allows multiple with comma.",
            "schema": {
              "enum": [
                "activated",
                "cancelled"
              ],
              "default": "activated"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Invoice"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "post": {
        "tags": [
          "Finances"
        ],
        "summary": "Create Invoice",
        "description": "Creates a new invoice.",
        "operationId": "create-invoices",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reference": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "number"
                  },
                  "included_tax_total": {
                    "type": "number"
                  },
                  "pre_tax_amount": {
                    "type": "number"
                  },
                  "due_date": {
                    "type": "string"
                  },
                  "category_id": {
                    "type": "number"
                  },
                  "contact_id": {
                    "type": "number"
                  },
                  "metadata": {
                    "type": "string"
                  }
                },
                "required": [
                  "reference",
                  "amount",
                  "included_tax_total",
                  "pre_tax_amount",
                  "due_date",
                  "category_id",
                  "contact_id"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Invoice"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/invoices/{invoiceID}": {
      "get": {
        "tags": [
          "Finances"
        ],
        "summary": "Get an Invoice",
        "description": "Gets a single specified invoice",
        "operationId": "get-invoice",
        "parameters": [
          {
            "name": "invoiceID",
            "in": "path",
            "description": "The id of the given invoice",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Invoice"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "delete": {
        "tags": [
          "Finances"
        ],
        "summary": "Delete an Invoice",
        "description": "Removes a specified invoice",
        "operationId": "delete-invoice",
        "parameters": [
          {
            "name": "invoiceID",
            "in": "path",
            "description": "The id of the given invoice",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/invoices/{invoiceID}/payments": {
      "post": {
        "tags": [
          "Finances"
        ],
        "summary": "Create Invoice Payment",
        "description": "Creates a new payment for the specified invoice.",
        "operationId": "create-invoice-payment",
        "parameters": [
          {
            "name": "invoiceID",
            "in": "path",
            "description": "The id of the given invoice",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "number"
                  },
                  "payment_type": {
                    "$ref": "#/components/schemas/Payment-Type"
                  },
                  "date": {
                    "type": "string"
                  }
                },
                "anyOf": [
                  {
                    "required": [
                      "amount"
                    ]
                  },
                  {
                    "required": [
                      "payment_type"
                    ]
                  },
                  {
                    "required": [
                      "date"
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/deposits": {
      "get": {
        "tags": [
          "Finances"
        ],
        "summary": "List Deposits",
        "description": "Returns a list of deposits",
        "operationId": "list-deposits",
        "parameters": [
          {
            "$ref": "#/components/parameters/updated_since"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "status",
            "in": "query",
            "description": "Filter deposits to only those selected, allows multiple with comma.",
            "schema": {
              "enum": [
                "activated",
                "cancelled"
              ],
              "default": "activated"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Deposit"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "post": {
        "tags": [
          "Finances"
        ],
        "summary": "Create Deposit",
        "description": "Creates a new deposit.",
        "operationId": "create-deposit",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "number"
                  },
                  "paid_date": {
                    "type": "string"
                  },
                  "payment_type": {
                    "$ref": "#/components/schemas/Payment-Type"
                  },
                  "category_id": {
                    "type": "number"
                  },
                  "contact_id": {
                    "type": "number"
                  },
                  "metadata": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "amount",
                  "category_id",
                  "contact_id"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Deposit"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/deposits/{depositID}": {
      "get": {
        "tags": [
          "Finances"
        ],
        "summary": "Get a Deposit",
        "description": "Gets a single specified deposit",
        "operationId": "get-deposit",
        "parameters": [
          {
            "name": "depositID",
            "in": "path",
            "description": "The id of the given deposit",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Deposit"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/expenses": {
      "get": {
        "tags": [
          "Finances"
        ],
        "summary": "List Expenses",
        "description": "Returns a list of expenses",
        "operationId": "list-expenses",
        "parameters": [
          {
            "$ref": "#/components/parameters/updated_since"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "status",
            "in": "query",
            "description": "Filter expenses to only those selected, allows multiple with comma.",
            "schema": {
              "enum": [
                "activated",
                "cancelled"
              ],
              "default": "activated"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Expense"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "post": {
        "tags": [
          "Finances"
        ],
        "summary": "Create Expense",
        "description": "Creates a new expense.",
        "operationId": "create-expense",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "number"
                  },
                  "due_date": {
                    "type": "string"
                  },
                  "category_id": {
                    "type": "number"
                  },
                  "contact_id": {
                    "type": "number"
                  },
                  "metadata": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "amount",
                  "due_date",
                  "category_id",
                  "contact_id"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Expense"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/expenses/{expenseID}": {
      "get": {
        "tags": [
          "Finances"
        ],
        "summary": "Get an Expense",
        "description": "Gets a single specified expense",
        "operationId": "get-expense",
        "parameters": [
          {
            "name": "expenseID",
            "in": "path",
            "description": "The id of the given expense",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Expense"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "delete": {
        "tags": [
          "Finances"
        ],
        "summary": "Delete an Expense",
        "description": "Removes a specified expense",
        "operationId": "delete-expense",
        "parameters": [
          {
            "name": "expenseID",
            "in": "path",
            "description": "The id of the given expense",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/expenses/{expenseID}/payments": {
      "post": {
        "tags": [
          "Finances"
        ],
        "summary": "Create Expense Payment",
        "description": "Creates a new payment for the specified expense.",
        "operationId": "create-expense-payment",
        "parameters": [
          {
            "name": "expenseID",
            "in": "path",
            "description": "The id of the given expense",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "number"
                  },
                  "payment_type": {
                    "$ref": "#/components/schemas/Payment-Type"
                  },
                  "date": {
                    "type": "string"
                  }
                },
                "anyOf": [
                  {
                    "required": [
                      "amount"
                    ]
                  },
                  {
                    "required": [
                      "payment_type"
                    ]
                  },
                  {
                    "required": [
                      "date"
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment"
                }
              }
            }
          }
        }
      },
      "servers": [
        {
          "url": "https://api.tidyhq.com/v1",
          "description": "Primary"
        }
      ]
    },
    "/transactions": {
      "get": {
        "tags": [
          "Finances"
        ],
        "summary": "List Transactions",
        "description": "Returns a list of transactions",
        "operationId": "list-transactions",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "ISO8601 formatted timestamp, only returns results after the given time.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "ISO8601 formatted timestamp, only returns results before the given time.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Transaction"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/transactions/{transactionID}": {
      "get": {
        "tags": [
          "Finances"
        ],
        "summary": "Get a Transaction",
        "description": "Gets a single specified transaction",
        "operationId": "get-transaction",
        "parameters": [
          {
            "name": "transactionID",
            "in": "path",
            "description": "The id of the given transaction",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Transaction"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/shop/products": {
      "get": {
        "tags": [
          "Shop"
        ],
        "summary": "List Products",
        "description": "Returns a list of products",
        "operationId": "list-products",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Product"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/shop/products/{productID}": {
      "get": {
        "tags": [
          "Shop"
        ],
        "summary": "Get a Product",
        "description": "Gets a single specified product",
        "operationId": "get-product",
        "parameters": [
          {
            "name": "productID",
            "in": "path",
            "description": "The id of the given product",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Product"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/shop/shipping_options": {
      "get": {
        "tags": [
          "Shop"
        ],
        "summary": "List Shipping Options",
        "description": "Returns a list of shipping options",
        "operationId": "list-shipping-options",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Shipping-Option"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/shop/shipping_options/{shippingOptionID}": {
      "get": {
        "tags": [
          "Shop"
        ],
        "summary": "Get a Shipping Option",
        "description": "Gets a single specified shipping option",
        "operationId": "get-shipping-option",
        "parameters": [
          {
            "name": "shippingOptionID",
            "in": "path",
            "description": "The id of the given shipping option",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Shipping-Option"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/shop/orders": {
      "get": {
        "tags": [
          "Shop"
        ],
        "summary": "List Orders",
        "description": "Returns a list of orders",
        "operationId": "list-orders",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Order"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/shop/orders/{orderID}": {
      "get": {
        "tags": [
          "Shop"
        ],
        "summary": "Get an Order",
        "description": "Gets a single specified order",
        "operationId": "get-order",
        "parameters": [
          {
            "name": "orderID",
            "in": "path",
            "description": "The id of the given order",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Order"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/memberships": {
      "get": {
        "tags": [
          "Memberships"
        ],
        "summary": "List Memberships",
        "description": "List all memberships for the current organisation",
        "operationId": "list-memberships",
        "parameters": [
          {
            "$ref": "#/components/parameters/updated_since"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "active",
            "in": "query",
            "description": "Filter memberships to only those active.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Membership"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/memberships/{membershipID}": {
      "get": {
        "tags": [
          "Memberships"
        ],
        "summary": "Get a Membership",
        "description": "Gets a single specified membership",
        "operationId": "get-membership",
        "parameters": [
          {
            "name": "membershipID",
            "in": "path",
            "description": "The id of the given membership",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Membership"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/contacts/{contactID}/memberships": {
      "get": {
        "tags": [
          "Memberships"
        ],
        "summary": "List Memberships for a Contact",
        "description": "List all memberships for a specific contact",
        "operationId": "list-contact-memberships",
        "parameters": [
          {
            "name": "contactID",
            "in": "path",
            "description": "The id of the given contact",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/updated_since"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "active",
            "in": "query",
            "description": "Filter memberships to only those active.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Membership"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/contacts/{contactID}/memberships/{membershipID}": {
      "get": {
        "tags": [
          "Memberships"
        ],
        "summary": "Get a Membership for a Contact",
        "description": "Gets a single specified membership for a contact",
        "operationId": "get-contact-membership",
        "parameters": [
          {
            "name": "contactID",
            "in": "path",
            "description": "The id of the given contact",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "membershipID",
            "in": "path",
            "description": "The id of the given membership",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Membership"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/membership_levels/{membershipLevelID}/memberships": {
      "get": {
        "tags": [
          "Memberships"
        ],
        "summary": "List Memberships for a Membership Level",
        "description": "List all memberships for a specific membership level",
        "operationId": "list-membership-level-memberships",
        "parameters": [
          {
            "name": "membershipLevelID",
            "in": "path",
            "description": "The id of the given membership level",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/updated_since"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "active",
            "in": "query",
            "description": "Filter memberships to only those active.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Membership"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/membership_levels/{membershipLevelID}/memberships/{membershipID}": {
      "get": {
        "tags": [
          "Memberships"
        ],
        "summary": "Get a Membership for a Membership Level",
        "description": "Gets a single specified membership for a membership level",
        "operationId": "get-membership-level-membership",
        "parameters": [
          {
            "name": "membershipLevelID",
            "in": "path",
            "description": "The id of the given membership level",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "membershipID",
            "in": "path",
            "description": "The id of the given membership",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Membership"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/membership_levels": {
      "get": {
        "tags": [
          "Memberships"
        ],
        "summary": "List Membership Levels",
        "description": "List all membership levels for the current organisation",
        "operationId": "list-membership-levels",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Membership-Level"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/membership_levels/{membershipLevelID}": {
      "get": {
        "tags": [
          "Memberships"
        ],
        "summary": "Get a Membership Level",
        "description": "Gets a single specified membership level",
        "operationId": "get-membership-level",
        "parameters": [
          {
            "name": "membershipLevelID",
            "in": "path",
            "description": "The id of the given membership level",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Membership-Level"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/membership_levels/{membershipLevelID}/pricing_variations": {
      "get": {
        "tags": [
          "Memberships"
        ],
        "summary": "List Pricing Variations",
        "description": "List all pricing variations for a specific membership level",
        "operationId": "list-pricing-variations",
        "parameters": [
          {
            "name": "membershipLevelID",
            "in": "path",
            "description": "The id of the given membership level",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Pricing-Variation"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/contacts": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "List Contacts",
        "description": "Returns a list of contacts",
        "operationId": "list-contacts",
        "parameters": [
          {
            "$ref": "#/components/parameters/updated_since"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "show_all",
            "in": "query",
            "description": "When given, returns all (including inactive) - defaults to only returning visible / active.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "ids[]",
            "in": "query",
            "description": "When given (as separate parameters), filters to those matching the given IDs.",
            "example": "ids[]=1&ids[]=2",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "search_terms",
            "in": "query",
            "description": "If given, applies search terms (e.g. name / email) to filter the collection",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Filters results to those that exactly match the given value.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "example": "filter[]custom_field_id=5f1c674336f2&filter[]custom_field_value=1"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Contact"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "post": {
        "tags": [
          "Contacts"
        ],
        "summary": "Create Contact",
        "description": "Creates a new contact.",
        "operationId": "create-contact",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "first_name": {
                    "type": "string"
                  },
                  "last_name": {
                    "type": "string"
                  },
                  "email_address": {
                    "type": "string"
                  },
                  "phone_number": {
                    "type": "string"
                  },
                  "address1": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "postcode": {
                    "type": "string"
                  },
                  "gender": {
                    "type": "string",
                    "enum": [
                      "female",
                      "male",
                      "non_binary",
                      "undisclosed"
                    ]
                  },
                  "birthday": {
                    "type": "string"
                  },
                  "facebook": {
                    "type": "string"
                  },
                  "twitter": {
                    "type": "string"
                  },
                  "details": {
                    "type": "string"
                  },
                  "custom_fields": {
                    "type": "object",
                    "description": "A struct of custom field IDs as keys and values.",
                    "additionalProperties": {
                      "oneOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "examples": [
                      {
                        "5b8ff85455e9": true,
                        "91288961b8d7": "2012-01-01",
                        "280ada4c1dea": "2fbd15a7ff31"
                      }
                    ]
                  }
                },
                "required": [
                  "first_name"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Contact"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/contacts/me": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "Get My Contact",
        "description": "Gets the current contact",
        "operationId": "get-contacts-me",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Contact"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/contacts/{contactID}": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "Get a Contact",
        "description": "Gets a single specified contact",
        "operationId": "get-contact",
        "parameters": [
          {
            "name": "contactID",
            "in": "path",
            "description": "The id of the given contact",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Contact"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "put": {
        "tags": [
          "Contacts"
        ],
        "summary": "Update Contact",
        "description": "Updates a contact.",
        "operationId": "update-contact",
        "parameters": [
          {
            "name": "contactID",
            "in": "path",
            "description": "The id of the given contact",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "first_name": {
                    "type": "string"
                  },
                  "last_name": {
                    "type": "string"
                  },
                  "email_address": {
                    "type": "string"
                  },
                  "phone_number": {
                    "type": "string"
                  },
                  "address1": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "postcode": {
                    "type": "string"
                  },
                  "gender": {
                    "type": "string",
                    "enum": [
                      "female",
                      "male",
                      "non_binary",
                      "undisclosed"
                    ]
                  },
                  "birthday": {
                    "type": "string"
                  },
                  "facebook": {
                    "type": "string"
                  },
                  "twitter": {
                    "type": "string"
                  },
                  "details": {
                    "type": "string"
                  },
                  "custom_fields": {
                    "type": "object",
                    "description": "A struct of custom field IDs as keys and values.",
                    "additionalProperties": {
                      "oneOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "examples": [
                      {
                        "5b8ff85455e9": true,
                        "91288961b8d7": "2012-01-01",
                        "280ada4c1dea": "2fbd15a7ff31"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Contact"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "delete": {
        "tags": [
          "Contacts"
        ],
        "summary": "Delete a Contact",
        "description": "Removes a specified contact",
        "operationId": "delete-contact",
        "parameters": [
          {
            "name": "contactID",
            "in": "path",
            "description": "The id of the given contact",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/custom_fields": {
      "get": {
        "tags": [
          "Custom Fields"
        ],
        "summary": "List Custom Fields",
        "description": "Returns a list of custom fields",
        "operationId": "list-custom-fields",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Custom-Field"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "post": {
        "tags": [
          "Custom Fields"
        ],
        "summary": "Create Custom Field",
        "description": "Creates a new custom field.",
        "operationId": "create-custom-field",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "string",
                      "text",
                      "dropdown",
                      "boolean",
                      "date"
                    ]
                  }
                },
                "required": [
                  "title",
                  "type"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Custom-Field"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/custom_fields/{customFieldID}": {
      "get": {
        "tags": [
          "Custom Fields"
        ],
        "summary": "Get a Custom Field",
        "description": "Gets a single specified custom field",
        "operationId": "get-custom-field",
        "parameters": [
          {
            "name": "customFieldID",
            "in": "path",
            "description": "The id of the given custom field",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Custom-Field"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "put": {
        "tags": [
          "Custom Fields"
        ],
        "summary": "Update Custom Field",
        "description": "Updates a custom field.",
        "operationId": "update-custom-field",
        "parameters": [
          {
            "name": "customFieldID",
            "in": "path",
            "description": "The id of the given custom field",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "string",
                      "text",
                      "dropdown",
                      "boolean",
                      "date"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Custom-Field"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "delete": {
        "tags": [
          "Custom Fields"
        ],
        "summary": "Delete a Custom Field",
        "description": "Removes a specified custom field",
        "operationId": "delete-custom-field",
        "parameters": [
          {
            "name": "customFieldID",
            "in": "path",
            "description": "The id of the given custom field",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/custom_fields/{customFieldID}/choices": {
      "get": {
        "tags": [
          "Custom Fields"
        ],
        "summary": "List Custom Field Choices",
        "description": "Returns a list of custom field choices",
        "operationId": "list-custom-field-choices",
        "parameters": [
          {
            "name": "customFieldID",
            "in": "path",
            "description": "The id of the given custom field",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Custom-Field-Choice"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "post": {
        "tags": [
          "Custom Fields"
        ],
        "summary": "Create Custom Field Choice",
        "description": "Creates a new custom field choice.",
        "operationId": "create-custom-field-choice",
        "parameters": [
          {
            "name": "customFieldID",
            "in": "path",
            "description": "The id of the given custom field",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                },
                "required": [
                  "title"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Custom-Field-Choice"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/custom_fields/{customFieldID}/choices/{choiceID}": {
      "get": {
        "tags": [
          "Custom Fields"
        ],
        "summary": "Get a Custom Field Choice",
        "description": "Gets a single specified custom field choice",
        "operationId": "get-custom-field-choice",
        "parameters": [
          {
            "name": "customFieldID",
            "in": "path",
            "description": "The id of the given custom field",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "choiceID",
            "in": "path",
            "description": "The id of the given custom field choice",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Custom-Field-Choice"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "put": {
        "tags": [
          "Custom Fields"
        ],
        "summary": "Update Custom Field Choice",
        "description": "Updates a custom field choice.",
        "operationId": "update-custom-field-choice",
        "parameters": [
          {
            "name": "customFieldID",
            "in": "path",
            "description": "The id of the given custom field",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "choiceID",
            "in": "path",
            "description": "The id of the given custom field choice",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Custom-Field-Choice"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "delete": {
        "tags": [
          "Custom Fields"
        ],
        "summary": "Delete a Custom Field Choice",
        "description": "Removes a specified custom field choice",
        "operationId": "delete-custom-field-choice",
        "parameters": [
          {
            "name": "customFieldID",
            "in": "path",
            "description": "The id of the given custom field",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "choiceID",
            "in": "path",
            "description": "The id of the given custom field choice",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/groups": {
      "get": {
        "tags": [
          "Groups"
        ],
        "summary": "List Groups",
        "description": "Returns a list of groups",
        "operationId": "list-groups",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "search_terms",
            "in": "query",
            "description": "If given, applies search terms (e.g. label) to filter the collection",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Group"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/contacts/{contactID}/groups": {
      "get": {
        "tags": [
          "Groups"
        ],
        "summary": "List Groups for a Contact",
        "description": "List all groups for a specific contact",
        "operationId": "list-contact-groups",
        "parameters": [
          {
            "name": "contactID",
            "in": "path",
            "description": "The id of the given contact",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "search_terms",
            "in": "query",
            "description": "If given, applies search terms (e.g. label) to filter the collection",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Group"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/groups/{groupID}": {
      "get": {
        "tags": [
          "Groups"
        ],
        "summary": "Get a Group",
        "description": "Gets a single specified group",
        "operationId": "get-group",
        "parameters": [
          {
            "name": "groupID",
            "in": "path",
            "description": "The id of the given group",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "post": {
        "tags": [
          "Groups"
        ],
        "summary": "Create Group",
        "description": "Creates a new group.",
        "operationId": "create-group",
        "parameters": [
          {
            "name": "groupID",
            "in": "path",
            "description": "The id of the given group",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  }
                },
                "required": [
                  "label"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "put": {
        "tags": [
          "Groups"
        ],
        "summary": "Update Group",
        "description": "Updates a group.",
        "operationId": "update-group",
        "parameters": [
          {
            "name": "groupID",
            "in": "path",
            "description": "The id of the given group",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "delete": {
        "tags": [
          "Groups"
        ],
        "summary": "Delete a Group",
        "description": "Removes a specified group",
        "operationId": "delete-group",
        "parameters": [
          {
            "name": "groupID",
            "in": "path",
            "description": "The id of the given group",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/groups/{groupID}/contacts": {
      "get": {
        "tags": [
          "Groups"
        ],
        "summary": "List Contacts in a Group",
        "description": "Returns a list of contacts",
        "operationId": "list-contacts-in-group",
        "parameters": [
          {
            "name": "groupID",
            "in": "path",
            "description": "The id of the given group",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/updated_since"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "show_all",
            "in": "query",
            "description": "When given, returns all (including inactive) - defaults to only returning visible / active.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "ids[]",
            "in": "query",
            "description": "When given (as separate parameters), filters to those matching the given IDs.",
            "example": "ids[]=1&ids[]=2",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "search_terms",
            "in": "query",
            "description": "If given, applies search terms (e.g. name / email) to filter the collection",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Filters results to those that exactly match the given value.",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "example": "filter[]custom_field_id=5f1c674336f2&filter[]custom_field_value=1"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Contact"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/groups/{groupID}/contacts/{contactID}": {
      "put": {
        "tags": [
          "Groups"
        ],
        "summary": "Add Contact to Group",
        "description": "Adds a contact to a group.",
        "operationId": "add-contact-to-group",
        "parameters": [
          {
            "name": "groupID",
            "in": "path",
            "description": "The id of the given group",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contactID",
            "in": "path",
            "description": "The id of the given contact",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "delete": {
        "tags": [
          "Groups"
        ],
        "summary": "Remove Contact from Group",
        "description": "Removes a contact from a group.",
        "operationId": "remove-contact-from-group",
        "parameters": [
          {
            "name": "groupID",
            "in": "path",
            "description": "The id of the given group",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contactID",
            "in": "path",
            "description": "The id of the given contact",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/emails": {
      "get": {
        "tags": [
          "Emails"
        ],
        "summary": "List Emails",
        "description": "Returns a list of emails",
        "operationId": "list-emails",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "created_since",
            "in": "query",
            "description": "ISO8601 formatted timestamp, only returns results created since the given time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "way",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "inbound",
                "outbound"
              ]
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "email",
                "group_email"
              ]
            }
          },
          {
            "name": "read",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "archived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "deleted",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "junk",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Email"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "post": {
        "tags": [
          "Emails"
        ],
        "summary": "Create Email",
        "description": "Creates a new email.",
        "operationId": "create-email",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "subject": {
                    "type": "string"
                  },
                  "body": {
                    "type": "string"
                  },
                  "contacts": {
                    "type": "array",
                    "description": "An array of contact IDs to send the email to.",
                    "examples": [
                      "[1, 2, 3]"
                    ],
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": [
                  "subject",
                  "body",
                  "contacts"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Email"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/emails/{emailID}": {
      "get": {
        "tags": [
          "Emails"
        ],
        "summary": "Get an Email",
        "description": "Gets a single specified email",
        "operationId": "get-email",
        "parameters": [
          {
            "name": "emailID",
            "in": "path",
            "description": "The id of the given email",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Email"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/meetings": {
      "get": {
        "tags": [
          "Meetings"
        ],
        "summary": "List Meetings",
        "description": "Returns a list of meetings",
        "operationId": "list-meetings",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "public",
            "in": "query",
            "description": "Filters meetings by visibility. Omit to return all meetings you can access, set to `true` to return only public meetings, or `false` to return only private meetings. Callers without the meetings permission always receive public meetings only, regardless of this value.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Meeting"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/meetings/{meetingID}": {
      "get": {
        "tags": [
          "Meetings"
        ],
        "summary": "Get a Meeting",
        "description": "Gets a single specified meeting",
        "operationId": "get-meeting",
        "parameters": [
          {
            "name": "meetingID",
            "in": "path",
            "description": "The id of the given meeting",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Meeting"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/events": {
      "get": {
        "tags": [
          "Events"
        ],
        "summary": "List Events",
        "description": "Returns a list of events",
        "operationId": "list-events",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "start_at",
            "in": "query",
            "description": "ISO8601 formatted timestamp, only returns results starting after the given time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end_at",
            "in": "query",
            "description": "ISO8601 formatted timestamp, only returns results ending before the given time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "public",
            "in": "query",
            "description": "Filters events by visibility. Set to `true` to return only publicly visible events, or `false` to return only hidden events. Omit to return all events you can access.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "post": {
        "tags": [
          "Events"
        ],
        "summary": "Create Event",
        "description": "Creates a new event.",
        "operationId": "create-event",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "start_at": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "end_at": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "body": {
                    "type": "string",
                    "description": "A brief description of event with HTML content."
                  },
                  "location": {
                    "type": "string"
                  },
                  "archived": {
                    "type": "boolean",
                    "description": "Archiving your event means that it will no longer show on the public facing events page."
                  },
                  "hidden": {
                    "type": "boolean",
                    "description": "Hidden events are not shown on the public facing events page and Admin Dashboard. You are still able to by tickets from hidden event using the API. When buying a ticket from hidden event email with certificates and receipts will not be sent."
                  },
                  "category_id": {
                    "type": "number",
                    "description": "The default is tickets category."
                  }
                },
                "required": [
                  "name",
                  "start_at"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/events/{eventID}": {
      "get": {
        "tags": [
          "Events"
        ],
        "summary": "Get an Event",
        "description": "Gets a single specified event",
        "operationId": "get-event",
        "parameters": [
          {
            "name": "eventID",
            "in": "path",
            "description": "The id of the given event",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "put": {
        "tags": [
          "Events"
        ],
        "summary": "Update Event",
        "description": "Updates an event.",
        "operationId": "update-event",
        "parameters": [
          {
            "name": "eventID",
            "in": "path",
            "description": "The id of the given event",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "start_at": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "end_at": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "body": {
                    "type": "string",
                    "description": "A brief description of event with HTML content."
                  },
                  "location": {
                    "type": "string"
                  },
                  "archived": {
                    "type": "boolean",
                    "description": "Archiving your event means that it will no longer show on the public facing events page."
                  },
                  "hidden": {
                    "type": "boolean",
                    "description": "Hidden events are not shown on the public facing events page and Admin Dashboard. You are still able to by tickets from hidden event using the API. When buying a ticket from hidden event email with certificates and receipts will not be sent."
                  },
                  "category_id": {
                    "type": "number",
                    "description": "The default is tickets category."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "delete": {
        "tags": [
          "Events"
        ],
        "summary": "Delete an Event",
        "description": "Removes a specified event",
        "operationId": "delete-event",
        "parameters": [
          {
            "name": "eventID",
            "in": "path",
            "description": "The id of the given event",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/sessions": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "List Sessions",
        "description": "Returns a list of sessions",
        "operationId": "list-sessions",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Session"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Create Session",
        "description": "Creates a new session.",
        "operationId": "create-session",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "location": {
                    "type": "string"
                  },
                  "date_start": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "date_end": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "remind": {
                    "type": "boolean",
                    "description": "Remind members or not"
                  },
                  "remind_lead": {
                    "type": "integer",
                    "description": "1..6 days before the Session"
                  },
                  "members": {
                    "type": "string",
                    "description": "Member ids separated by commas ex. '4216, 1025, 2931'"
                  },
                  "recurrence_kind": {
                    "type": "string",
                    "enum": [
                      "daily",
                      "weekly",
                      "monthly",
                      "yearly"
                    ]
                  },
                  "recurrence_every": {
                    "type": "string",
                    "enum": [
                      "day",
                      "week",
                      "month",
                      "year"
                    ]
                  },
                  "recurrence_end_date": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "recurrence_day_of_month": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "description": "Loop for monthly and yearly repeat in [1..31] limits"
                  },
                  "recurrence_month": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "description": "Loop for yearly repeat in [1..12] limits"
                  }
                },
                "required": [
                  "title",
                  "date_start"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Session"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/sessions/{sessionID}": {
      "get": {
        "tags": [
          "Sessions"
        ],
        "summary": "Get a Session",
        "description": "Gets a single specified session",
        "operationId": "get-session",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "description": "The id of the given session",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Session"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "put": {
        "tags": [
          "Sessions"
        ],
        "summary": "Update Session",
        "description": "Updates a session.",
        "operationId": "update-session",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "description": "The id of the given session",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "location": {
                    "type": "string"
                  },
                  "date_start": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "date_end": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "remind": {
                    "type": "boolean",
                    "description": "Remind members or not"
                  },
                  "remind_lead": {
                    "type": "integer",
                    "description": "1..6 days before the Session"
                  },
                  "members": {
                    "type": "string",
                    "description": "Member ids separated by commas ex. '4216, 1025, 2931'"
                  },
                  "recurrence_kind": {
                    "type": "string",
                    "enum": [
                      "daily",
                      "weekly",
                      "monthly",
                      "yearly"
                    ]
                  },
                  "recurrence_every": {
                    "type": "string",
                    "enum": [
                      "day",
                      "week",
                      "month",
                      "year"
                    ]
                  },
                  "recurrence_end_date": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "recurrence_day_of_month": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "description": "Loop for monthly and yearly repeat in [1..31] limits"
                  },
                  "recurrence_month": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "description": "Loop for yearly repeat in [1..12] limits"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Session"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "delete": {
        "tags": [
          "Sessions"
        ],
        "summary": "Delete a Session",
        "description": "Removes a specified session",
        "operationId": "delete-session",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "description": "The id of the given session",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/sessions/{sessionID}/decisions": {
      "post": {
        "tags": [
          "Sessions"
        ],
        "summary": "Save user decision about a session",
        "description": "Saves user decision about a Session.",
        "operationId": "save-user-decision",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "description": "The id of the given session",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "decision": {
                    "type": "string",
                    "enum": [
                      "attendee",
                      "apology",
                      "maybe"
                    ]
                  },
                  "date": {
                    "type": "string",
                    "format": "date",
                    "description": "On what date user decides or whole Session if empty"
                  }
                },
                "required": [
                  "decision"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/events/{eventID}/tickets": {
      "get": {
        "tags": [
          "Events"
        ],
        "summary": "List Tickets for an Event",
        "description": "Returns a list of tickets",
        "operationId": "list-tickets",
        "parameters": [
          {
            "name": "eventID",
            "in": "path",
            "description": "The id of the given event",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Ticket"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "post": {
        "tags": [
          "Events"
        ],
        "summary": "Create Ticket",
        "description": "Creates a new ticket.",
        "operationId": "create-ticket",
        "parameters": [
          {
            "name": "eventID",
            "in": "path",
            "description": "The id of the given event",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "number",
                    "description": "The default is 0.0, so leaving this out or setting it to zero would mean free ticket type."
                  },
                  "initial_quantity": {
                    "type": "number",
                    "description": "The default is null which means unlimited tickets count. Must be greater than or equal to 1."
                  },
                  "maximum_purchase": {
                    "type": "number",
                    "description": "The default is 5. Must be greater than or equal to 1."
                  },
                  "sales_end": {
                    "type": "string",
                    "format": "date-time"
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ticket"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/events/{eventID}/tickets/sold": {
      "get": {
        "tags": [
          "Events"
        ],
        "summary": "List Sold Tickets for an Event",
        "description": "Returns a list of sold tickets",
        "operationId": "list-sold-tickets",
        "parameters": [
          {
            "name": "eventID",
            "in": "path",
            "description": "The id of the given event",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Sold-Ticket"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/events/{eventID}/tickets/{ticketID}": {
      "get": {
        "tags": [
          "Events"
        ],
        "summary": "Get a Ticket",
        "description": "Gets a single specified ticket",
        "operationId": "get-ticket",
        "parameters": [
          {
            "name": "eventID",
            "in": "path",
            "description": "The id of the given event",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ticketID",
            "in": "path",
            "description": "The id of the given ticket",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ticket"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "put": {
        "tags": [
          "Events"
        ],
        "summary": "Update Ticket",
        "description": "Updates a ticket.",
        "operationId": "update-ticket",
        "parameters": [
          {
            "name": "eventID",
            "in": "path",
            "description": "The id of the given event",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ticketID",
            "in": "path",
            "description": "The id of the given ticket",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "number",
                    "description": "The default is 0.0, so leaving this out or setting it to zero would mean free ticket type."
                  },
                  "initial_quantity": {
                    "type": "number",
                    "description": "The default is null which means unlimited tickets count. Must be greater than or equal to 1."
                  },
                  "maximum_purchase": {
                    "type": "number",
                    "description": "The default is 5. Must be greater than or equal to 1."
                  },
                  "sales_end": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ticket"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "delete": {
        "tags": [
          "Events"
        ],
        "summary": "Delete a Ticket",
        "description": "Removes a specified ticket",
        "operationId": "delete-ticket",
        "parameters": [
          {
            "name": "eventID",
            "in": "path",
            "description": "The id of the given event",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ticketID",
            "in": "path",
            "description": "The id of the given ticket",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/categories": {
      "get": {
        "tags": [
          "Finances"
        ],
        "summary": "List Categories",
        "description": "Returns a list of categories",
        "operationId": "list-categories",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Category"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/tasks": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "List Tasks",
        "description": "Returns a list of tasks",
        "operationId": "list-tasks",
        "parameters": [
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "completed",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Task"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "post": {
        "tags": [
          "Tasks"
        ],
        "summary": "Create Task",
        "description": "Creates a new task.",
        "operationId": "create-task",
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "due_date": {
                    "type": "string",
                    "format": "date"
                  },
                  "contact_id": {
                    "type": "number"
                  }
                },
                "required": [
                  "title",
                  "due_date",
                  "contact_id"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/tasks/{taskID}": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get a Task",
        "description": "Gets a single specified task",
        "operationId": "get-task",
        "parameters": [
          {
            "name": "taskID",
            "in": "path",
            "description": "The id of the given task",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "put": {
        "tags": [
          "Tasks"
        ],
        "summary": "Update Task",
        "description": "Updates a task.",
        "operationId": "update-task",
        "parameters": [
          {
            "name": "taskID",
            "in": "path",
            "description": "The id of the given task",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "due_date": {
                    "type": "string",
                    "format": "date"
                  },
                  "contact_id": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      },
      "delete": {
        "tags": [
          "Tasks"
        ],
        "summary": "Delete a Task",
        "description": "Removes a specified task",
        "operationId": "delete-task",
        "parameters": [
          {
            "name": "taskID",
            "in": "path",
            "description": "The id of the given task",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/contacts/{contactID}/tasks": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "List Tasks for a Contact",
        "description": "Returns a list of tasks",
        "operationId": "list-tasks-for-contact",
        "parameters": [
          {
            "name": "contactID",
            "in": "path",
            "description": "The id of the given contact",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "completed",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Task"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/organization": {
      "get": {
        "tags": [
          "Organisations"
        ],
        "summary": "Get Organization",
        "description": "Returns the organization details",
        "operationId": "get-organization",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/association/organizations": {
      "get": {
        "tags": [
          "Organisations"
        ],
        "summary": "List Child Organizations",
        "description": "Returns a list of child organizations",
        "operationId": "list-child-organizations",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Organization"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/association/organizations/{organizationID}": {
      "get": {
        "tags": [
          "Organisations"
        ],
        "summary": "Get Child Organization",
        "description": "Gets a single specified child organization",
        "operationId": "get-child-organization",
        "parameters": [
          {
            "name": "organizationID",
            "in": "path",
            "description": "The id of the given organization",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/association/organizations/{organizationID}/contacts": {
      "get": {
        "tags": [
          "Organisations"
        ],
        "summary": "List Contacts for an Organization",
        "description": "Returns a list of contacts",
        "operationId": "list-contacts-for-organization",
        "parameters": [
          {
            "name": "organizationID",
            "in": "path",
            "description": "The id of the given organization",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/updated_since"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "search_terms",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "show_all",
            "in": "query",
            "description": "When given, returns all (including inactive) - defaults to only returning visible / active.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Contact"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/association/organizations/{organizationID}/contacts/{contactID}": {
      "get": {
        "tags": [
          "Organisations"
        ],
        "summary": "Get a Contact for an Organization",
        "description": "Gets a single specified contact",
        "operationId": "get-contact-for-organization",
        "parameters": [
          {
            "name": "organizationID",
            "in": "path",
            "description": "The id of the given organization",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contactID",
            "in": "path",
            "description": "The id of the given contact",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Contact"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/association/organizations/{organizationID}/events": {
      "get": {
        "tags": [
          "Organisations"
        ],
        "summary": "List Events for an Organization",
        "description": "Returns a list of events",
        "operationId": "list-events-for-organization",
        "parameters": [
          {
            "name": "organizationID",
            "in": "path",
            "description": "The id of the given organization",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "name": "start_at",
            "in": "query",
            "description": "ISO8601 formatted timestamp, only returns results starting after the given time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "end_at",
            "in": "query",
            "description": "ISO8601 formatted timestamp, only returns results ending before the given time.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "public",
            "in": "query",
            "description": "Filters events by visibility. Set to `true` to return only publicly visible events, or `false` to return only hidden events. Omit to return all events you can access.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/association/organizations/{organizationID}/events/{eventID}": {
      "get": {
        "tags": [
          "Organisations"
        ],
        "summary": "Get an Event for an Organization",
        "description": "Gets a single specified event",
        "operationId": "get-event-for-organization",
        "parameters": [
          {
            "name": "organizationID",
            "in": "path",
            "description": "The id of the given organization",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "eventID",
            "in": "path",
            "description": "The id of the given event",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/association/organizations/{organizationID}/meetings": {
      "get": {
        "tags": [
          "Organisations"
        ],
        "summary": "List Meetings for an Organization",
        "description": "Returns a list of meetings",
        "operationId": "list-meetings-for-organization",
        "parameters": [
          {
            "name": "organizationID",
            "in": "path",
            "description": "The id of the given organization",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/offset"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Meeting"
                  }
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    },
    "/association/organizations/{organizationID}/meetings/{meetingID}": {
      "get": {
        "tags": [
          "Organisations"
        ],
        "summary": "Get a Meeting for an Organization",
        "description": "Gets a single specified meeting",
        "operationId": "get-meeting-for-organization",
        "parameters": [
          {
            "name": "organizationID",
            "in": "path",
            "description": "The id of the given organization",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "meetingID",
            "in": "path",
            "description": "The id of the given meeting",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Meeting"
                }
              }
            }
          }
        },
        "servers": [
          {
            "url": "https://api.tidyhq.com/v1",
            "description": "Primary"
          }
        ]
      }
    }
  },
  "tags": [
    {
      "name": "Contacts"
    },
    {
      "name": "Custom Fields"
    },
    {
      "name": "Emails"
    },
    {
      "name": "Events"
    },
    {
      "name": "Finances"
    },
    {
      "name": "Groups"
    },
    {
      "name": "Meetings"
    },
    {
      "name": "Memberships"
    },
    {
      "name": "Organisations"
    },
    {
      "name": "Sessions"
    },
    {
      "name": "Shop"
    },
    {
      "name": "Tasks"
    }
  ],
  "components": {
    "parameters": {
      "updated_since": {
        "name": "updated_since",
        "in": "query",
        "description": "ISO8601 formatted timestamp, only returns results last updated since the given time.",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date-time"
        }
      },
      "limit": {
        "name": "limit",
        "in": "query",
        "description": "How many items per page to return",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "offset": {
        "name": "offset",
        "in": "query",
        "description": "Paginated offset of items (how many to skip)",
        "required": false,
        "schema": {
          "type": "integer"
        }
      }
    },
    "securitySchemes": {
      "your-api-key": {
        "type": "oauth2",
        "flows": {
          "password": {
            "refreshUrl": "",
            "tokenUrl": "https://accounts.tidyhq.com/oauth/token",
            "scopes": {}
          },
          "implicit": {
            "refreshUrl": "",
            "authorizationUrl": "https://accounts.tidyhq.com/oauth/authorize",
            "scopes": {}
          },
          "authorizationCode": {
            "authorizationUrl": "https://accounts.tidyhq.com/oauth/authorize",
            "scopes": {},
            "tokenUrl": "https://accounts.tidyhq.com/oauth/token"
          }
        }
      }
    },
    "schemas": {
      "Invoice": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "ref_no": {
            "type": "string"
          },
          "contact_id": {
            "type": "number"
          },
          "type": {
            "type": "string",
            "enum": [
              "invoice"
            ],
            "default": "invoice"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "due_date": {
            "type": "string",
            "format": "date"
          },
          "category_id": {
            "type": "number"
          },
          "amount": {
            "type": "number"
          },
          "amount_paid": {
            "type": "number"
          },
          "amount_due": {
            "type": "number"
          },
          "paid": {
            "type": "boolean"
          },
          "metadata": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "activated",
              "cancelled"
            ]
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "updated_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Payment"
            }
          }
        }
      },
      "Deposit": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "ref_no": {
            "type": "string"
          },
          "contact_id": {
            "type": "number"
          },
          "type": {
            "type": "string",
            "enum": [
              "deposit"
            ],
            "default": "deposit"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "category_id": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "metadata": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "activated",
              "cancelled"
            ]
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "updated_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Payment"
            }
          }
        }
      },
      "Expense": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "ref_no": {
            "type": "string"
          },
          "contact_id": {
            "type": "number"
          },
          "type": {
            "type": "string",
            "enum": [
              "expense"
            ],
            "default": "expense"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "due_date": {
            "type": "string",
            "format": "date"
          },
          "category_id": {
            "type": "number"
          },
          "amount": {
            "type": "number"
          },
          "amount_paid": {
            "type": "number"
          },
          "amount_due": {
            "type": "number"
          },
          "metadata": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "activated",
              "cancelled"
            ]
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "updated_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Payment"
            }
          }
        }
      },
      "Transaction": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "category_id": {
            "type": "number"
          },
          "category_name": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "paid_at": {
            "type": "string",
            "format": "date-time"
          },
          "contact_id": {
            "type": "number"
          },
          "contact_name": {
            "type": "string"
          },
          "payment_type": {
            "type": "string"
          },
          "surcharge": {
            "type": "boolean"
          },
          "amount": {
            "type": "number"
          },
          "fee": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "paid",
              "cancelled",
              "refunded"
            ]
          }
        }
      },
      "Payment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "type": {
            "$ref": "#/components/schemas/Payment-Type"
          },
          "paid_at": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string",
            "enum": [
              "paid",
              "cancelled"
            ]
          }
        }
      },
      "Payment-Type": {
        "type": "string",
        "enum": [
          "cash",
          "card",
          "cheque",
          "bank",
          "other"
        ]
      },
      "Product": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "permalink": {
            "type": "string"
          },
          "sell_price": {
            "type": "string"
          },
          "cost_price": {
            "type": "string"
          },
          "sell_category_id": {
            "type": "number"
          },
          "cost_category_id": {
            "type": "number"
          },
          "quantity": {
            "type": "number"
          },
          "visible_to": {
            "type": "string",
            "enum": [
              "admin",
              "group",
              "public"
            ]
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "published"
            ]
          },
          "images": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "variants": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "quantity": {
                  "type": "number"
                },
                "created_at": {
                  "type": "string",
                  "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
                  "examples": [
                    "2012-12-16 21:01:22 +0000"
                  ]
                }
              }
            }
          }
        }
      },
      "Shipping-Option": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "category_id": {
            "type": "number"
          },
          "address_not_required": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "country_codes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Order": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "contact_id": {
            "type": "number"
          },
          "number": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "awaiting_payment",
              "pending",
              "completed",
              "cancelled"
            ]
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "shipping_option_id": {
            "type": "string"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "product_id": {
                  "type": "string"
                },
                "variant_id": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "quantity": {
                  "type": "number"
                }
              }
            }
          }
        }
      },
      "Membership": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "start_date": {
            "type": "string",
            "format": "date"
          },
          "end_date": {
            "type": "string",
            "format": "date"
          },
          "contact_id": {
            "type": "number"
          },
          "membership_level_id": {
            "type": "number"
          },
          "state": {
            "type": "string"
          },
          "membership_id_reference": {
            "type": "number"
          },
          "membership_id": {
            "type": "string"
          },
          "membership_level": {
            "type": "object",
            "properties": {
              "id": {
                "type": "number"
              },
              "name": {
                "type": "string"
              },
              "plan_type": {
                "type": "string"
              },
              "auto_renew": {
                "type": "boolean"
              }
            }
          },
          "subscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Subscription"
            }
          },
          "adult_members": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "contact_id": {
                  "type": "number"
                },
                "member_since": {
                  "type": "string",
                  "format": "date"
                }
              }
            }
          },
          "child_members": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "contact_id": {
                  "type": "number"
                },
                "member_since": {
                  "type": "string",
                  "format": "date"
                }
              }
            }
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          }
        }
      },
      "Subscription": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "start_date": {
            "type": "string",
            "format": "date"
          },
          "end_date": {
            "type": "string",
            "format": "date"
          },
          "status": {
            "type": "string"
          },
          "variations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "question": {
                  "type": "string"
                },
                "answer": {
                  "type": "string"
                },
                "price": {
                  "type": "string"
                },
                "destination": {
                  "$ref": "#/components/schemas/Pricing-Variation-Value-Destination"
                },
                "autofill_group": {
                  "$ref": "#/components/schemas/Pricing-Variation-Value-Autofill-Group"
                }
              }
            }
          }
        }
      },
      "Pricing-Variation-Value-Destination": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "Pricing-Variation-Value-Autofill-Group": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "Membership-Level": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "duration": {
            "type": "number"
          },
          "unit_period": {
            "type": "string",
            "enum": [
              "day",
              "week",
              "month",
              "year"
            ]
          },
          "fixed": {
            "type": "boolean"
          },
          "start_at": {
            "type": [
              "null",
              "string"
            ]
          },
          "enabled": {
            "type": "boolean"
          },
          "active_since": {
            "type": [
              "null",
              "string"
            ]
          },
          "amount": {
            "type": "string"
          },
          "bundle": {
            "type": "boolean"
          },
          "bundle_amounts": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "object",
              "properties": {
                "amount": {
                  "type": "string"
                },
                "subsequent": {
                  "type": "boolean"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "adult",
                    "child"
                  ]
                }
              }
            }
          },
          "deleted": {
            "type": "boolean"
          },
          "plan_type": {
            "type": "string"
          },
          "auto_renew": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          }
        }
      },
      "Pricing-Variation": {
        "type": "object",
        "properties": {
          "State": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "amount": {
                  "type": "string"
                },
                "destination": {
                  "$ref": "#/components/schemas/Pricing-Variation-Value-Destination"
                },
                "autofill_group": {
                  "$ref": "#/components/schemas/Pricing-Variation-Value-Autofill-Group"
                },
                "Club": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "amount": {
                        "type": "string"
                      },
                      "destination": {
                        "$ref": "#/components/schemas/Pricing-Variation-Value-Destination"
                      },
                      "autofill_group": {
                        "$ref": "#/components/schemas/Pricing-Variation-Value-Autofill-Group"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "Contact": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "nick_name": {
            "type": "string"
          },
          "company": {
            "type": "string"
          },
          "email_address": {
            "type": "string"
          },
          "phone_number": {
            "type": "string"
          },
          "address1": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "postcode": {
            "type": "string"
          },
          "gender": {
            "type": "string",
            "enum": [
              "female",
              "male",
              "non_binary",
              "undisclosed"
            ]
          },
          "birthday": {
            "type": "string"
          },
          "facebook": {
            "type": "string"
          },
          "twitter": {
            "type": "string"
          },
          "linkedin": {
            "type": "string"
          },
          "instagram": {
            "type": "string"
          },
          "website": {
            "type": "string"
          },
          "details": {
            "type": "string"
          },
          "subscribed": {
            "type": "boolean"
          },
          "metadata": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "updated_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "emergency_contact_person": {
            "type": "string"
          },
          "emergency_contact_number": {
            "type": "string"
          },
          "member_since": {
            "type": "string",
            "format": "date"
          },
          "is_company": {
            "type": "boolean"
          },
          "kind": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "contact_id": {
            "type": "number"
          },
          "contact_id_number": {
            "type": "string"
          },
          "profile_image": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "custom_fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Custom-Field"
            }
          },
          "organization": {
            "type": "object",
            "properties": {
              "id": {
                "type": "number"
              },
              "name": {
                "type": "string"
              },
              "domain_prefix": {
                "type": "string"
              }
            }
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number"
                },
                "label": {
                  "type": "string"
                }
              }
            }
          },
          "contact_links": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "contact_id": {
                  "type": "number"
                },
                "relationship_tye": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "Custom-Field": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "string",
              "text",
              "boolean",
              "checkbox_group",
              "radio_group",
              "file",
              "dropdown",
              "date"
            ]
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          }
        },
        "oneOf": [
          {
            "properties": {
              "type": {
                "enum": [
                  "checkbox_group",
                  "radio_group",
                  "dropdown"
                ]
              },
              "choices": {
                "$ref": "#/components/schemas/Custom-Field-Choice"
              }
            }
          },
          {
            "properties": {
              "type": {
                "enum": [
                  "string",
                  "text",
                  "boolean",
                  "file",
                  "date"
                ]
              }
            }
          }
        ]
      },
      "Custom-Field-Choice": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          }
        }
      },
      "Group": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "label": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "contacts_count": {
            "type": "number"
          },
          "logo_image": {
            "type": "string"
          }
        }
      },
      "Email": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "sender_id": {
            "type": "number"
          },
          "recipient_ids": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "way": {
            "type": "string",
            "enum": [
              "inbound",
              "outbound"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "email",
              "group_email"
            ]
          },
          "subject": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "scheduled_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "read": {
            "type": "boolean"
          },
          "archived": {
            "type": "boolean"
          },
          "deleted": {
            "type": "boolean"
          },
          "junk": {
            "type": "boolean"
          },
          "attachments": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          }
        }
      },
      "Meeting": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "date_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "location_full_address": {
            "type": [
              "null",
              "string"
            ]
          },
          "topics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Meeting-Topic"
            }
          },
          "public": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "schedule_meeting_topics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Meeting-Schedule-Topic"
            }
          },
          "attendees": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "apologies": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "maybe": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "minute_takers": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "chairpersons": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "public_url": {
            "type": "string"
          }
        }
      },
      "Meeting-Topic": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "category": {
            "type": "string",
            "enum": [
              "idea",
              "info",
              "todo"
            ]
          },
          "schedule_meeting_id": {
            "type": "number"
          },
          "position": {
            "type": "number"
          },
          "duration": {
            "type": [
              "null",
              "number"
            ]
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "updated_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "description": {
            "type": "string"
          },
          "decision": {
            "type": [
              "null",
              "string"
            ]
          },
          "parent_id": {
            "type": [
              "null",
              "number"
            ]
          },
          "code": {
            "type": "string"
          },
          "deleted_at": {
            "type": [
              "null",
              "string"
            ]
          },
          "member_id": {
            "type": [
              "null",
              "number"
            ]
          },
          "revision": {
            "type": "number"
          },
          "last_edited_by_id": {
            "type": "number"
          }
        }
      },
      "Meeting-Schedule-Topic": {
        "type": "object",
        "properties": {
          "member_id": {
            "type": [
              "null",
              "number"
            ]
          },
          "category": {
            "type": "string",
            "enum": [
              "idea",
              "info",
              "todo"
            ]
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "decision": {
            "type": [
              "null",
              "string"
            ]
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "task": {
            "$ref": "#/components/schemas/Task"
          }
        }
      },
      "Task": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "due_date": {
            "type": "string",
            "format": "date"
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "recurrence": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "daily",
                  "weekly",
                  "monthly",
                  "yearly"
                ]
              },
              "every": {
                "type": "number"
              },
              "end_date": {
                "type": [
                  "null",
                  "string"
                ]
              },
              "week_day_numbers": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "day_of_month": {
                "type": [
                  "null",
                  "number"
                ]
              },
              "month": {
                "type": [
                  "null",
                  "number"
                ]
              },
              "contact_id": {
                "type": [
                  "null",
                  "number"
                ]
              }
            }
          }
        }
      },
      "Event": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "location": {
            "type": [
              "null",
              "string"
            ]
          },
          "start_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "end_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "body": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "category_id": {
            "type": [
              "null",
              "number"
            ]
          },
          "public": {
            "type": "boolean"
          },
          "image_url": {
            "type": "string"
          },
          "public_url": {
            "type": "string"
          },
          "archived": {
            "type": "boolean"
          }
        }
      },
      "Session": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "date_start": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "date_end": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "updated_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "remind": {
            "type": "boolean"
          },
          "remind_lead": {
            "type": [
              "null",
              "number"
            ]
          },
          "recurrence": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": [
                  "daily",
                  "weekly",
                  "monthly",
                  "yearly"
                ]
              },
              "every": {
                "type": "number"
              },
              "end_date": {
                "type": [
                  "null",
                  "string"
                ]
              },
              "week_day_numbers": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              },
              "day_of_month": {
                "type": [
                  "null",
                  "number"
                ]
              },
              "month": {
                "type": [
                  "null",
                  "number"
                ]
              }
            }
          },
          "members": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number"
                },
                "member_id": {
                  "type": "number"
                },
                "date_on": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "kind": {
                  "type": "string"
                },
                "created_at": {
                  "type": "string",
                  "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
                  "examples": [
                    "2012-12-16 21:01:22 +0000"
                  ]
                },
                "updated_at": {
                  "type": "string",
                  "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
                  "examples": [
                    "2012-12-16 21:01:22 +0000"
                  ]
                }
              }
            }
          }
        }
      },
      "Ticket": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "initial_quantity": {
            "type": [
              "null",
              "number"
            ]
          },
          "quantity_sold": {
            "type": "number"
          },
          "maximum_purchase": {
            "type": [
              "null",
              "number"
            ]
          },
          "sales_end": {
            "type": [
              "null",
              "string"
            ]
          },
          "members_only": {
            "type": "boolean"
          },
          "membership_level_id": {
            "type": [
              "null",
              "number"
            ]
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          }
        }
      },
      "Sold-Ticket": {
        "type": "object",
        "properties": {
          "contact_id": {
            "type": "number"
          },
          "ticket_id": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          },
          "code": {
            "type": "string"
          }
        }
      },
      "Category": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "balance": {
            "type": "object",
            "additionalProperties": {
              "type": "number"
            },
            "examples": [
              {
                "AUD": -20,
                "USD": 42
              }
            ]
          },
          "created_at": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$",
            "examples": [
              "2012-12-16 21:01:22 +0000"
            ]
          }
        }
      },
      "Organization": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "domain_prefix": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "postcode": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "website": {
            "type": "string"
          },
          "twitter": {
            "type": "string"
          },
          "facebook": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "time_zone": {
            "type": "string"
          },
          "public_contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Organization-Contact"
            }
          },
          "logo_url": {
            "type": "string"
          },
          "plan": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "quota": {
                "type": "object",
                "properties": {
                  "emails": {
                    "type": "object",
                    "properties": {
                      "limit": {
                        "type": "number"
                      },
                      "sent": {
                        "type": "number"
                      },
                      "count": {
                        "type": "number"
                      }
                    }
                  },
                  "contacts": {
                    "type": "object",
                    "properties": {
                      "limit": {
                        "type": "number"
                      },
                      "count": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          },
          "parent_organizations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                }
              }
            }
          },
          "child_organizations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "Organization-Contact": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "position": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "phone_number": {
            "type": "string"
          }
        }
      }
    }
  }
}