{
  "version": 1,
  "specUrl": "/__doc/openapi/api.json",
  "operations": [
    {
      "method": "POST",
      "path": "/accounts",
      "operationId": "listAccounts",
      "summary": "List accounts",
      "description": "List selected data from all accounts that match the specified filter and search criteria in a specific sort order. Requires `accounts` permission.",
      "tags": [
        "accounts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.accounts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.accounts.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/accounts",
      "operationId": "createAccount",
      "summary": "Create new account",
      "description": "Create a new account and return its persistent data. Requires writable `accounts` permission.",
      "tags": [
        "accounts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.accounts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.accounts.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/accounts/{ID}",
      "operationId": "deleteAccount",
      "summary": "Delete account",
      "description": "Permanently delete an existing account by **`ID`**. Requires writable `accounts` permission.",
      "tags": [
        "accounts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.accounts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.accounts.openapi.json"
    },
    {
      "method": "GET",
      "path": "/accounts/{ID}",
      "operationId": "getAccount",
      "summary": "Get account",
      "description": "Return the data of an existing account by **`ID`**. Requires `accounts` permission.",
      "tags": [
        "accounts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.accounts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.accounts.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/accounts/{ID}",
      "operationId": "existsAccount",
      "summary": "Check if account exists",
      "description": "Check if an account with **`ID`** exists, but do not return its data. Requires `accounts` permission.",
      "tags": [
        "accounts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.accounts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.accounts.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/accounts/{ID}",
      "operationId": "updateAccount",
      "summary": "Update existing account",
      "description": "Update an existing account by **`ID`** and return its persistent data. Requires writable `accounts` permission.",
      "tags": [
        "accounts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.accounts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.accounts.openapi.json"
    },
    {
      "method": "POST",
      "path": "/actionsteps",
      "operationId": "listActionSteps",
      "summary": "List actionsteps",
      "description": "List selected data from all action steps that match the specified filter and search criteria in a specific sort order. Requires `actionsteps` permission.",
      "tags": [
        "actionsteps"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.actionsteps.md",
      "tagOpenapiUrl": "/ai/openapi/tag.actionsteps.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/actionsteps",
      "operationId": "createActionStep",
      "summary": "Create new action step",
      "description": "Create a new action step and return its persistent data. Requires writable `actionsteps` permission.",
      "tags": [
        "actionsteps"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.actionsteps.md",
      "tagOpenapiUrl": "/ai/openapi/tag.actionsteps.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/actionsteps/{ID}",
      "operationId": "deleteActionStep",
      "summary": "Delete action step",
      "description": "Permanently delete an existing action step by **`ID`**. Requires writable `actionsteps` permission.",
      "tags": [
        "actionsteps"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.actionsteps.md",
      "tagOpenapiUrl": "/ai/openapi/tag.actionsteps.openapi.json"
    },
    {
      "method": "GET",
      "path": "/actionsteps/{ID}",
      "operationId": "getActionStep",
      "summary": "Get action step",
      "description": "Return the data of an existing action step by **`ID`**. Requires `actionsteps` permission.",
      "tags": [
        "actionsteps"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.actionsteps.md",
      "tagOpenapiUrl": "/ai/openapi/tag.actionsteps.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/actionsteps/{ID}",
      "operationId": "existsActionStep",
      "summary": "Check if action step exists",
      "description": "Check if an action step with **`ID`** exists, but do not return its data. Requires `actionsteps` permission.",
      "tags": [
        "actionsteps"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.actionsteps.md",
      "tagOpenapiUrl": "/ai/openapi/tag.actionsteps.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/actionsteps/{ID}",
      "operationId": "updateActionStep",
      "summary": "Update existing action step",
      "description": "Update an existing action step by **`ID`** and return its persistent data. Requires writable `actionsteps` permission.",
      "tags": [
        "actionsteps"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.actionsteps.md",
      "tagOpenapiUrl": "/ai/openapi/tag.actionsteps.openapi.json"
    },
    {
      "method": "POST",
      "path": "/addresses",
      "operationId": "listAddresses",
      "summary": "List addresses",
      "description": "List selected data from all addresses that match the specified filter and search criteria in a specific sort order. Requires `accounts` permission. Has dependency on `account`.",
      "tags": [
        "addresses"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.addresses.md",
      "tagOpenapiUrl": "/ai/openapi/tag.addresses.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/addresses",
      "operationId": "createAddress",
      "summary": "Create new address",
      "description": "Create a new address and return its persistent data. Requires writable `accounts` permission. Has dependency on `account`.",
      "tags": [
        "addresses"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.addresses.md",
      "tagOpenapiUrl": "/ai/openapi/tag.addresses.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/addresses/{ID}",
      "operationId": "deleteAddress",
      "summary": "Delete address",
      "description": "Permanently delete an existing address by **`ID`**. Requires writable `accounts` permission. Has dependency on `account`.",
      "tags": [
        "addresses"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.addresses.md",
      "tagOpenapiUrl": "/ai/openapi/tag.addresses.openapi.json"
    },
    {
      "method": "GET",
      "path": "/addresses/{ID}",
      "operationId": "getAddress",
      "summary": "Get address",
      "description": "Return the data of an existing address by **`ID`**. Requires `accounts` permission. Has dependency on `account`.",
      "tags": [
        "addresses"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.addresses.md",
      "tagOpenapiUrl": "/ai/openapi/tag.addresses.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/addresses/{ID}",
      "operationId": "existsAddress",
      "summary": "Check if address exists",
      "description": "Check if an address with **`ID`** exists, but do not return its data. Requires `accounts` permission. Has dependency on `account`.",
      "tags": [
        "addresses"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.addresses.md",
      "tagOpenapiUrl": "/ai/openapi/tag.addresses.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/addresses/{ID}",
      "operationId": "updateAddress",
      "summary": "Update existing address",
      "description": "Update an existing address by **`ID`** and return its persistent data. Requires writable `accounts` permission. Has dependency on `account`.",
      "tags": [
        "addresses"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.addresses.md",
      "tagOpenapiUrl": "/ai/openapi/tag.addresses.openapi.json"
    },
    {
      "method": "POST",
      "path": "/applicationassets",
      "operationId": "listApplicationAssets",
      "summary": "List application assets",
      "description": "List selected data from all application assets that match the specified filter and search criteria in a specific sort order. Requires `dev` permission. Has dependency on `application`.",
      "tags": [
        "applicationassets"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.applicationassets.md",
      "tagOpenapiUrl": "/ai/openapi/tag.applicationassets.openapi.json"
    },
    {
      "method": "GET",
      "path": "/applicationassets/{ID}",
      "operationId": "getApplicationAsset",
      "summary": "Get application asset",
      "description": "Return the data of an existing application asset by **`ID`**. Requires `dev` permission. Has dependency on `application`.",
      "tags": [
        "applicationassets"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.applicationassets.md",
      "tagOpenapiUrl": "/ai/openapi/tag.applicationassets.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/applicationassets/{ID}",
      "operationId": "existsApplicationAsset",
      "summary": "Check if application asset exists",
      "description": "Check if an application asset with **`ID`** exists, but do not return its data. Requires `dev` permission. Has dependency on `application`.",
      "tags": [
        "applicationassets"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.applicationassets.md",
      "tagOpenapiUrl": "/ai/openapi/tag.applicationassets.openapi.json"
    },
    {
      "method": "POST",
      "path": "/applications",
      "operationId": "listApplications",
      "summary": "List applications",
      "description": "List selected data from all applications that match the specified filter and search criteria in a specific sort order. Requires `dev` permission.",
      "tags": [
        "applications"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.applications.md",
      "tagOpenapiUrl": "/ai/openapi/tag.applications.openapi.json"
    },
    {
      "method": "GET",
      "path": "/applications/{ID}",
      "operationId": "getApplication",
      "summary": "Get application",
      "description": "Return the data of an existing application by **`ID`**. Requires `dev` permission.",
      "tags": [
        "applications"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.applications.md",
      "tagOpenapiUrl": "/ai/openapi/tag.applications.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/applications/{ID}",
      "operationId": "existsApplication",
      "summary": "Check if application exists",
      "description": "Check if an application with **`ID`** exists, but do not return its data. Requires `dev` permission.",
      "tags": [
        "applications"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.applications.md",
      "tagOpenapiUrl": "/ai/openapi/tag.applications.openapi.json"
    },
    {
      "method": "POST",
      "path": "/appointments",
      "operationId": "listAppointments",
      "summary": "List appointments",
      "description": "List selected data from all appointments that match the specified filter and search criteria in a specific sort order. Requires `calendar` permission.",
      "tags": [
        "appointments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.appointments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.appointments.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/appointments",
      "operationId": "createAppointment",
      "summary": "Create new appointment",
      "description": "Create a new appointment and return its persistent data. Requires writable `calendar` permission.",
      "tags": [
        "appointments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.appointments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.appointments.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/appointments/{ID}",
      "operationId": "deleteAppointment",
      "summary": "Delete appointment",
      "description": "Permanently delete an existing appointment by **`ID`**. Requires writable `calendar` permission.",
      "tags": [
        "appointments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.appointments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.appointments.openapi.json"
    },
    {
      "method": "GET",
      "path": "/appointments/{ID}",
      "operationId": "getAppointment",
      "summary": "Get appointment",
      "description": "Return the data of an existing appointment by **`ID`**. Requires `calendar` permission.",
      "tags": [
        "appointments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.appointments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.appointments.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/appointments/{ID}",
      "operationId": "existsAppointment",
      "summary": "Check if appointment exists",
      "description": "Check if an appointment with **`ID`** exists, but do not return its data. Requires `calendar` permission.",
      "tags": [
        "appointments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.appointments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.appointments.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/appointments/{ID}",
      "operationId": "updateAppointment",
      "summary": "Update existing appointment",
      "description": "Update an existing appointment by **`ID`** and return its persistent data. Requires writable `calendar` permission.",
      "tags": [
        "appointments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.appointments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.appointments.openapi.json"
    },
    {
      "method": "POST",
      "path": "/associations",
      "operationId": "listAssociations",
      "summary": "List associations",
      "description": "List selected data from all associations that match the specified filter and search criteria in a specific sort order. Requires no specific permission.",
      "tags": [
        "associations"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.associations.md",
      "tagOpenapiUrl": "/ai/openapi/tag.associations.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/associations",
      "operationId": "createAssociation",
      "summary": "Create new association",
      "description": "Create a new association and return its persistent data. Requires no specific permission.",
      "tags": [
        "associations"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.associations.md",
      "tagOpenapiUrl": "/ai/openapi/tag.associations.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/associations/{ID}",
      "operationId": "deleteAssociation",
      "summary": "Delete association",
      "description": "Permanently delete an existing association by **`ID`**. Requires no specific permission.",
      "tags": [
        "associations"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.associations.md",
      "tagOpenapiUrl": "/ai/openapi/tag.associations.openapi.json"
    },
    {
      "method": "GET",
      "path": "/associations/{ID}",
      "operationId": "getAssociation",
      "summary": "Get association",
      "description": "Return the data of an existing association by **`ID`**. Requires no specific permission.",
      "tags": [
        "associations"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.associations.md",
      "tagOpenapiUrl": "/ai/openapi/tag.associations.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/associations/{ID}",
      "operationId": "existsAssociation",
      "summary": "Check if association exists",
      "description": "Check if an association with **`ID`** exists, but do not return its data. Requires no specific permission.",
      "tags": [
        "associations"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.associations.md",
      "tagOpenapiUrl": "/ai/openapi/tag.associations.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/associations/{ID}",
      "operationId": "updateAssociation",
      "summary": "Update existing association",
      "description": "Update an existing association by **`ID`** and return its persistent data. Requires no specific permission.",
      "tags": [
        "associations"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.associations.md",
      "tagOpenapiUrl": "/ai/openapi/tag.associations.openapi.json"
    },
    {
      "method": "POST",
      "path": "/binfiles",
      "operationId": "listBinFiles",
      "summary": "List bin files",
      "description": "List selected data from all bin files that match the specified filter and search criteria in a specific sort order. Requires no specific permission.",
      "tags": [
        "binfiles"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.binfiles.md",
      "tagOpenapiUrl": "/ai/openapi/tag.binfiles.openapi.json"
    },
    {
      "method": "POST",
      "path": "/campaigns",
      "operationId": "listCampaigns",
      "summary": "List campaigns",
      "description": "List selected data from all campaigns that match the specified filter and search criteria in a specific sort order. Requires `campaigns` permission.",
      "tags": [
        "campaigns"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.campaigns.md",
      "tagOpenapiUrl": "/ai/openapi/tag.campaigns.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/campaigns",
      "operationId": "createCampaign",
      "summary": "Create new campaign",
      "description": "Create a new campaign and return its persistent data. Requires writable `campaigns` permission.",
      "tags": [
        "campaigns"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.campaigns.md",
      "tagOpenapiUrl": "/ai/openapi/tag.campaigns.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/campaigns/{ID}",
      "operationId": "deleteCampaign",
      "summary": "Delete campaign",
      "description": "Permanently delete an existing campaign by **`ID`**. Requires writable `campaigns` permission.",
      "tags": [
        "campaigns"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.campaigns.md",
      "tagOpenapiUrl": "/ai/openapi/tag.campaigns.openapi.json"
    },
    {
      "method": "GET",
      "path": "/campaigns/{ID}",
      "operationId": "getCampaign",
      "summary": "Get campaign",
      "description": "Return the data of an existing campaign by **`ID`**. Requires `campaigns` permission.",
      "tags": [
        "campaigns"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.campaigns.md",
      "tagOpenapiUrl": "/ai/openapi/tag.campaigns.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/campaigns/{ID}",
      "operationId": "existsCampaign",
      "summary": "Check if campaign exists",
      "description": "Check if a campaign with **`ID`** exists, but do not return its data. Requires `campaigns` permission.",
      "tags": [
        "campaigns"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.campaigns.md",
      "tagOpenapiUrl": "/ai/openapi/tag.campaigns.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/campaigns/{ID}",
      "operationId": "updateCampaign",
      "summary": "Update existing campaign",
      "description": "Update an existing campaign by **`ID`** and return its persistent data. Requires writable `campaigns` permission.",
      "tags": [
        "campaigns"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.campaigns.md",
      "tagOpenapiUrl": "/ai/openapi/tag.campaigns.openapi.json"
    },
    {
      "method": "POST",
      "path": "/categories",
      "operationId": "listCategorys",
      "summary": "List categories",
      "description": "List selected data from all categories that match the specified filter and search criteria in a specific sort order. Requires no specific permission.",
      "tags": [
        "categories"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.categories.md",
      "tagOpenapiUrl": "/ai/openapi/tag.categories.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/categories",
      "operationId": "createCategory",
      "summary": "Create new category",
      "description": "Create a new category and return its persistent data. Requires no specific permission.",
      "tags": [
        "categories"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.categories.md",
      "tagOpenapiUrl": "/ai/openapi/tag.categories.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/categories/{ID}",
      "operationId": "deleteCategory",
      "summary": "Delete category",
      "description": "Permanently delete an existing category by **`ID`**. Requires no specific permission.",
      "tags": [
        "categories"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.categories.md",
      "tagOpenapiUrl": "/ai/openapi/tag.categories.openapi.json"
    },
    {
      "method": "GET",
      "path": "/categories/{ID}",
      "operationId": "getCategory",
      "summary": "Get category",
      "description": "Return the data of an existing category by **`ID`**. Requires no specific permission.",
      "tags": [
        "categories"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.categories.md",
      "tagOpenapiUrl": "/ai/openapi/tag.categories.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/categories/{ID}",
      "operationId": "existsCategory",
      "summary": "Check if category exists",
      "description": "Check if a category with **`ID`** exists, but do not return its data. Requires no specific permission.",
      "tags": [
        "categories"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.categories.md",
      "tagOpenapiUrl": "/ai/openapi/tag.categories.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/categories/{ID}",
      "operationId": "updateCategory",
      "summary": "Update existing category",
      "description": "Update an existing category by **`ID`** and return its persistent data. Requires no specific permission.",
      "tags": [
        "categories"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.categories.md",
      "tagOpenapiUrl": "/ai/openapi/tag.categories.openapi.json"
    },
    {
      "method": "POST",
      "path": "/channels",
      "operationId": "listChannels",
      "summary": "List channels",
      "description": "List selected data from all channels that match the specified filter and search criteria in a specific sort order. Requires no specific permission.",
      "tags": [
        "channels"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.channels.md",
      "tagOpenapiUrl": "/ai/openapi/tag.channels.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/channels",
      "operationId": "createChannel",
      "summary": "Create new channel",
      "description": "Create a new channel and return its persistent data. Requires no specific permission.",
      "tags": [
        "channels"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.channels.md",
      "tagOpenapiUrl": "/ai/openapi/tag.channels.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/channels/{ID}",
      "operationId": "deleteChannel",
      "summary": "Delete channel",
      "description": "Permanently delete an existing channel by **`ID`**. Requires no specific permission.",
      "tags": [
        "channels"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.channels.md",
      "tagOpenapiUrl": "/ai/openapi/tag.channels.openapi.json"
    },
    {
      "method": "GET",
      "path": "/channels/{ID}",
      "operationId": "getChannel",
      "summary": "Get channel",
      "description": "Return the data of an existing channel by **`ID`**. Requires no specific permission.",
      "tags": [
        "channels"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.channels.md",
      "tagOpenapiUrl": "/ai/openapi/tag.channels.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/channels/{ID}",
      "operationId": "existsChannel",
      "summary": "Check if channel exists",
      "description": "Check if a channel with **`ID`** exists, but do not return its data. Requires no specific permission.",
      "tags": [
        "channels"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.channels.md",
      "tagOpenapiUrl": "/ai/openapi/tag.channels.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/channels/{ID}",
      "operationId": "updateChannel",
      "summary": "Update existing channel",
      "description": "Update an existing channel by **`ID`** and return its persistent data. Requires no specific permission.",
      "tags": [
        "channels"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.channels.md",
      "tagOpenapiUrl": "/ai/openapi/tag.channels.openapi.json"
    },
    {
      "method": "POST",
      "path": "/comments",
      "operationId": "listComments",
      "summary": "List comments",
      "description": "List selected data from all comments that match the specified filter and search criteria in a specific sort order. Requires no specific permission. Has dependency on `record`.",
      "tags": [
        "comments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.comments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.comments.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/comments",
      "operationId": "createComment",
      "summary": "Create new comment",
      "description": "Create a new comment and return its persistent data. Requires the authenticated user to be the `creator`. Has dependency on `record`.",
      "tags": [
        "comments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.comments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.comments.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/comments/{ID}",
      "operationId": "deleteComment",
      "summary": "Delete comment",
      "description": "Permanently delete an existing comment by **`ID`**. Requires the authenticated user to be the `creator`. Has dependency on `record`.",
      "tags": [
        "comments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.comments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.comments.openapi.json"
    },
    {
      "method": "GET",
      "path": "/comments/{ID}",
      "operationId": "getComment",
      "summary": "Get comment",
      "description": "Return the data of an existing comment by **`ID`**. Requires no specific permission. Has dependency on `record`.",
      "tags": [
        "comments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.comments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.comments.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/comments/{ID}",
      "operationId": "existsComment",
      "summary": "Check if comment exists",
      "description": "Check if a comment with **`ID`** exists, but do not return its data. Requires no specific permission. Has dependency on `record`.",
      "tags": [
        "comments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.comments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.comments.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/comments/{ID}",
      "operationId": "updateComment",
      "summary": "Update existing comment",
      "description": "Update an existing comment by **`ID`** and return its persistent data. Requires the authenticated user to be the `creator`. Has dependency on `record`.",
      "tags": [
        "comments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.comments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.comments.openapi.json"
    },
    {
      "method": "POST",
      "path": "/components",
      "operationId": "listComponents",
      "summary": "List components",
      "description": "List selected data from all components that match the specified filter and search criteria in a specific sort order. Requires `inventory` permission. Has dependency on `item`.",
      "tags": [
        "components"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.components.md",
      "tagOpenapiUrl": "/ai/openapi/tag.components.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/components",
      "operationId": "createComponent",
      "summary": "Create new component",
      "description": "Create a new component and return its persistent data. Requires writable `inventory` permission. Has dependency on `item`.",
      "tags": [
        "components"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.components.md",
      "tagOpenapiUrl": "/ai/openapi/tag.components.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/components/{ID}",
      "operationId": "deleteComponent",
      "summary": "Delete component",
      "description": "Permanently delete an existing component by **`ID`**. Requires writable `inventory` permission. Has dependency on `item`.",
      "tags": [
        "components"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.components.md",
      "tagOpenapiUrl": "/ai/openapi/tag.components.openapi.json"
    },
    {
      "method": "GET",
      "path": "/components/{ID}",
      "operationId": "getComponent",
      "summary": "Get component",
      "description": "Return the data of an existing component by **`ID`**. Requires `inventory` permission. Has dependency on `item`.",
      "tags": [
        "components"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.components.md",
      "tagOpenapiUrl": "/ai/openapi/tag.components.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/components/{ID}",
      "operationId": "existsComponent",
      "summary": "Check if component exists",
      "description": "Check if a component with **`ID`** exists, but do not return its data. Requires `inventory` permission. Has dependency on `item`.",
      "tags": [
        "components"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.components.md",
      "tagOpenapiUrl": "/ai/openapi/tag.components.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/components/{ID}",
      "operationId": "updateComponent",
      "summary": "Update existing component",
      "description": "Update an existing component by **`ID`** and return its persistent data. Requires writable `inventory` permission. Has dependency on `item`.",
      "tags": [
        "components"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.components.md",
      "tagOpenapiUrl": "/ai/openapi/tag.components.openapi.json"
    },
    {
      "method": "GET",
      "path": "/config",
      "operationId": "getConfig",
      "summary": "Get system configuration",
      "description": "Return the user-visible system configuration.",
      "tags": [
        "general"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.general.md",
      "tagOpenapiUrl": "/ai/openapi/tag.general.openapi.json"
    },
    {
      "method": "POST",
      "path": "/contacts",
      "operationId": "listContacts",
      "summary": "List contacts",
      "description": "List selected data from all contacts that match the specified filter and search criteria in a specific sort order. Requires `contacts` permission.",
      "tags": [
        "contacts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contacts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contacts.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/contacts",
      "operationId": "createContact",
      "summary": "Create new contact",
      "description": "Create a new contact and return its persistent data. Requires writable `contacts` permission.",
      "tags": [
        "contacts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contacts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contacts.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/contacts/{ID}",
      "operationId": "deleteContact",
      "summary": "Delete contact",
      "description": "Permanently delete an existing contact by **`ID`**. Requires writable `contacts` permission.",
      "tags": [
        "contacts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contacts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contacts.openapi.json"
    },
    {
      "method": "GET",
      "path": "/contacts/{ID}",
      "operationId": "getContact",
      "summary": "Get contact",
      "description": "Return the data of an existing contact by **`ID`**. Requires `contacts` permission.",
      "tags": [
        "contacts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contacts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contacts.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/contacts/{ID}",
      "operationId": "existsContact",
      "summary": "Check if contact exists",
      "description": "Check if a contact with **`ID`** exists, but do not return its data. Requires `contacts` permission.",
      "tags": [
        "contacts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contacts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contacts.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/contacts/{ID}",
      "operationId": "updateContact",
      "summary": "Update existing contact",
      "description": "Update an existing contact by **`ID`** and return its persistent data. Requires writable `contacts` permission.",
      "tags": [
        "contacts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contacts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contacts.openapi.json"
    },
    {
      "method": "POST",
      "path": "/contacts2contacts",
      "operationId": "listContactsToContacts",
      "summary": "List contacts-to-contacts",
      "description": "List selected data from all contacts-to-contacts that match the specified filter and search criteria in a specific sort order. Requires `contacts` permission. Has dependencies on `contact1` and `contact2`.",
      "tags": [
        "contacts2contacts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contacts2contacts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contacts2contacts.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/contacts2contacts",
      "operationId": "createContactToContact",
      "summary": "Create new contact-to-contact",
      "description": "Create a new contact-to-contact and return its persistent data. Requires writable `contacts` permission. Has dependencies on `contact1` and `contact2`.",
      "tags": [
        "contacts2contacts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contacts2contacts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contacts2contacts.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/contacts2contacts/{ID}",
      "operationId": "deleteContactToContact",
      "summary": "Delete contact-to-contact",
      "description": "Permanently delete an existing contact-to-contact by **`ID`**. Requires writable `contacts` permission. Has dependencies on `contact1` and `contact2`.",
      "tags": [
        "contacts2contacts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contacts2contacts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contacts2contacts.openapi.json"
    },
    {
      "method": "GET",
      "path": "/contacts2contacts/{ID}",
      "operationId": "getContactToContact",
      "summary": "Get contact-to-contact",
      "description": "Return the data of an existing contact-to-contact by **`ID`**. Requires `contacts` permission. Has dependencies on `contact1` and `contact2`.",
      "tags": [
        "contacts2contacts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contacts2contacts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contacts2contacts.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/contacts2contacts/{ID}",
      "operationId": "existsContactToContact",
      "summary": "Check if contact-to-contact exists",
      "description": "Check if a contact-to-contact with **`ID`** exists, but do not return its data. Requires `contacts` permission. Has dependencies on `contact1` and `contact2`.",
      "tags": [
        "contacts2contacts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contacts2contacts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contacts2contacts.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/contacts2contacts/{ID}",
      "operationId": "updateContactToContact",
      "summary": "Update existing contact-to-contact",
      "description": "Update an existing contact-to-contact by **`ID`** and return its persistent data. Requires writable `contacts` permission. Has dependencies on `contact1` and `contact2`.",
      "tags": [
        "contacts2contacts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contacts2contacts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contacts2contacts.openapi.json"
    },
    {
      "method": "POST",
      "path": "/contracts",
      "operationId": "listContracts",
      "summary": "List contracts",
      "description": "List selected data from all contracts that match the specified filter and search criteria in a specific sort order. Requires `contracts` permission.",
      "tags": [
        "contracts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contracts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contracts.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/contracts",
      "operationId": "createContract",
      "summary": "Create new contract",
      "description": "Create a new contract and return its persistent data. Requires writable `contracts` permission.",
      "tags": [
        "contracts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contracts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contracts.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/contracts/{ID}",
      "operationId": "deleteContract",
      "summary": "Delete contract",
      "description": "Permanently delete an existing contract by **`ID`**. Requires writable `contracts` permission.",
      "tags": [
        "contracts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contracts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contracts.openapi.json"
    },
    {
      "method": "GET",
      "path": "/contracts/{ID}",
      "operationId": "getContract",
      "summary": "Get contract",
      "description": "Return the data of an existing contract by **`ID`**. Requires `contracts` permission.",
      "tags": [
        "contracts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contracts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contracts.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/contracts/{ID}",
      "operationId": "existsContract",
      "summary": "Check if contract exists",
      "description": "Check if a contract with **`ID`** exists, but do not return its data. Requires `contracts` permission.",
      "tags": [
        "contracts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contracts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contracts.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/contracts/{ID}",
      "operationId": "updateContract",
      "summary": "Update existing contract",
      "description": "Update an existing contract by **`ID`** and return its persistent data. Requires writable `contracts` permission.",
      "tags": [
        "contracts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.contracts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.contracts.openapi.json"
    },
    {
      "method": "POST",
      "path": "/couponcodes",
      "operationId": "listCouponCodes",
      "summary": "List coupon codes",
      "description": "List selected data from all coupon codes that match the specified filter and search criteria in a specific sort order. Requires `pricelists` permission. Has dependency on `coupon`.",
      "tags": [
        "couponcodes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.couponcodes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.couponcodes.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/couponcodes",
      "operationId": "createCouponCode",
      "summary": "Create new coupon code",
      "description": "Create a new coupon code and return its persistent data. Requires writable `pricelists` permission. Has dependency on `coupon`.",
      "tags": [
        "couponcodes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.couponcodes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.couponcodes.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/couponcodes/{ID}",
      "operationId": "deleteCouponCode",
      "summary": "Delete coupon code",
      "description": "Permanently delete an existing coupon code by **`ID`**. Requires writable `pricelists` permission. Has dependency on `coupon`.",
      "tags": [
        "couponcodes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.couponcodes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.couponcodes.openapi.json"
    },
    {
      "method": "GET",
      "path": "/couponcodes/{ID}",
      "operationId": "getCouponCode",
      "summary": "Get coupon code",
      "description": "Return the data of an existing coupon code by **`ID`**. Requires `pricelists` permission. Has dependency on `coupon`.",
      "tags": [
        "couponcodes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.couponcodes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.couponcodes.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/couponcodes/{ID}",
      "operationId": "existsCouponCode",
      "summary": "Check if coupon code exists",
      "description": "Check if a coupon code with **`ID`** exists, but do not return its data. Requires `pricelists` permission. Has dependency on `coupon`.",
      "tags": [
        "couponcodes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.couponcodes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.couponcodes.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/couponcodes/{ID}",
      "operationId": "updateCouponCode",
      "summary": "Update existing coupon code",
      "description": "Update an existing coupon code by **`ID`** and return its persistent data. Requires writable `pricelists` permission. Has dependency on `coupon`.",
      "tags": [
        "couponcodes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.couponcodes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.couponcodes.openapi.json"
    },
    {
      "method": "POST",
      "path": "/coupons",
      "operationId": "listCoupons",
      "summary": "List coupons",
      "description": "List selected data from all coupons that match the specified filter and search criteria in a specific sort order. Requires `pricelists` permission.",
      "tags": [
        "coupons"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.coupons.md",
      "tagOpenapiUrl": "/ai/openapi/tag.coupons.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/coupons",
      "operationId": "createCoupon",
      "summary": "Create new coupon",
      "description": "Create a new coupon and return its persistent data. Requires writable `pricelists` permission.",
      "tags": [
        "coupons"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.coupons.md",
      "tagOpenapiUrl": "/ai/openapi/tag.coupons.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/coupons/{ID}",
      "operationId": "deleteCoupon",
      "summary": "Delete coupon",
      "description": "Permanently delete an existing coupon by **`ID`**. Requires writable `pricelists` permission.",
      "tags": [
        "coupons"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.coupons.md",
      "tagOpenapiUrl": "/ai/openapi/tag.coupons.openapi.json"
    },
    {
      "method": "GET",
      "path": "/coupons/{ID}",
      "operationId": "getCoupon",
      "summary": "Get coupon",
      "description": "Return the data of an existing coupon by **`ID`**. Requires `pricelists` permission.",
      "tags": [
        "coupons"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.coupons.md",
      "tagOpenapiUrl": "/ai/openapi/tag.coupons.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/coupons/{ID}",
      "operationId": "existsCoupon",
      "summary": "Check if coupon exists",
      "description": "Check if a coupon with **`ID`** exists, but do not return its data. Requires `pricelists` permission.",
      "tags": [
        "coupons"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.coupons.md",
      "tagOpenapiUrl": "/ai/openapi/tag.coupons.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/coupons/{ID}",
      "operationId": "updateCoupon",
      "summary": "Update existing coupon",
      "description": "Update an existing coupon by **`ID`** and return its persistent data. Requires writable `pricelists` permission.",
      "tags": [
        "coupons"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.coupons.md",
      "tagOpenapiUrl": "/ai/openapi/tag.coupons.openapi.json"
    },
    {
      "method": "POST",
      "path": "/customfields",
      "operationId": "listCustomFields",
      "summary": "List custom fields",
      "description": "List selected data from all custom fields that match the specified filter and search criteria in a specific sort order. Requires no specific permission.",
      "tags": [
        "customfields"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.customfields.md",
      "tagOpenapiUrl": "/ai/openapi/tag.customfields.openapi.json"
    },
    {
      "method": "GET",
      "path": "/customfields/{ID}",
      "operationId": "getCustomField",
      "summary": "Get custom field",
      "description": "Return the data of an existing custom field by **`ID`**. Requires no specific permission.",
      "tags": [
        "customfields"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.customfields.md",
      "tagOpenapiUrl": "/ai/openapi/tag.customfields.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/customfields/{ID}",
      "operationId": "existsCustomField",
      "summary": "Check if custom field exists",
      "description": "Check if a custom field with **`ID`** exists, but do not return its data. Requires no specific permission.",
      "tags": [
        "customfields"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.customfields.md",
      "tagOpenapiUrl": "/ai/openapi/tag.customfields.openapi.json"
    },
    {
      "method": "POST",
      "path": "/davservers",
      "operationId": "listDAVServers",
      "summary": "List DAV servers",
      "description": "List selected data from all DAV servers that match the specified filter and search criteria in a specific sort order. Requires no specific permission.",
      "tags": [
        "davservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.davservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.davservers.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/davservers",
      "operationId": "createDAVServer",
      "summary": "Create new DAV server",
      "description": "Create a new DAV server and return its persistent data. Requires no specific permission.",
      "tags": [
        "davservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.davservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.davservers.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/davservers/{ID}",
      "operationId": "deleteDAVServer",
      "summary": "Delete DAV server",
      "description": "Permanently delete an existing DAV server by **`ID`**. Requires no specific permission.",
      "tags": [
        "davservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.davservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.davservers.openapi.json"
    },
    {
      "method": "GET",
      "path": "/davservers/{ID}",
      "operationId": "getDAVServer",
      "summary": "Get DAV server",
      "description": "Return the data of an existing DAV server by **`ID`**. Requires no specific permission.",
      "tags": [
        "davservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.davservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.davservers.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/davservers/{ID}",
      "operationId": "existsDAVServer",
      "summary": "Check if DAV server exists",
      "description": "Check if a DAV server with **`ID`** exists, but do not return its data. Requires no specific permission.",
      "tags": [
        "davservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.davservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.davservers.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/davservers/{ID}",
      "operationId": "updateDAVServer",
      "summary": "Update existing DAV server",
      "description": "Update an existing DAV server by **`ID`** and return its persistent data. Requires no specific permission.",
      "tags": [
        "davservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.davservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.davservers.openapi.json"
    },
    {
      "method": "POST",
      "path": "/devices",
      "operationId": "listDevices",
      "summary": "List devices",
      "description": "List selected data from all devices that match the specified filter and search criteria in a specific sort order. Requires `inventory` permission.",
      "tags": [
        "devices"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.devices.md",
      "tagOpenapiUrl": "/ai/openapi/tag.devices.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/devices",
      "operationId": "createDevice",
      "summary": "Create new device",
      "description": "Create a new device and return its persistent data. Requires `inventory` permission.",
      "tags": [
        "devices"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.devices.md",
      "tagOpenapiUrl": "/ai/openapi/tag.devices.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/devices/{ID}",
      "operationId": "deleteDevice",
      "summary": "Delete device",
      "description": "Permanently delete an existing device by **`ID`**. Requires `inventory` permission.",
      "tags": [
        "devices"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.devices.md",
      "tagOpenapiUrl": "/ai/openapi/tag.devices.openapi.json"
    },
    {
      "method": "GET",
      "path": "/devices/{ID}",
      "operationId": "getDevice",
      "summary": "Get device",
      "description": "Return the data of an existing device by **`ID`**. Requires `inventory` permission.",
      "tags": [
        "devices"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.devices.md",
      "tagOpenapiUrl": "/ai/openapi/tag.devices.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/devices/{ID}",
      "operationId": "existsDevice",
      "summary": "Check if device exists",
      "description": "Check if a device with **`ID`** exists, but do not return its data. Requires `inventory` permission.",
      "tags": [
        "devices"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.devices.md",
      "tagOpenapiUrl": "/ai/openapi/tag.devices.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/devices/{ID}",
      "operationId": "updateDevice",
      "summary": "Update existing device",
      "description": "Update an existing device by **`ID`** and return its persistent data. Requires `inventory` permission.",
      "tags": [
        "devices"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.devices.md",
      "tagOpenapiUrl": "/ai/openapi/tag.devices.openapi.json"
    },
    {
      "method": "POST",
      "path": "/documents",
      "operationId": "listDocuments",
      "summary": "List documents",
      "description": "List selected data from all documents that match the specified filter and search criteria in a specific sort order. Requires `documents` permission.",
      "tags": [
        "documents"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.documents.md",
      "tagOpenapiUrl": "/ai/openapi/tag.documents.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/documents",
      "operationId": "createDocument",
      "summary": "Create new document",
      "description": "Create a new document and return its persistent data. Requires `documents` permission.",
      "tags": [
        "documents"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.documents.md",
      "tagOpenapiUrl": "/ai/openapi/tag.documents.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/documents/{ID}",
      "operationId": "deleteDocument",
      "summary": "Delete document",
      "description": "Permanently delete an existing document by **`ID`**. Requires `documents` permission.",
      "tags": [
        "documents"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.documents.md",
      "tagOpenapiUrl": "/ai/openapi/tag.documents.openapi.json"
    },
    {
      "method": "GET",
      "path": "/documents/{ID}",
      "operationId": "getDocument",
      "summary": "Get document",
      "description": "Return the data of an existing document by **`ID`**. Requires `documents` permission.",
      "tags": [
        "documents"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.documents.md",
      "tagOpenapiUrl": "/ai/openapi/tag.documents.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/documents/{ID}",
      "operationId": "existsDocument",
      "summary": "Check if document exists",
      "description": "Check if a document with **`ID`** exists, but do not return its data. Requires `documents` permission.",
      "tags": [
        "documents"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.documents.md",
      "tagOpenapiUrl": "/ai/openapi/tag.documents.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/documents/{ID}",
      "operationId": "updateDocument",
      "summary": "Update existing document",
      "description": "Update an existing document by **`ID`** and return its persistent data. Requires `documents` permission.",
      "tags": [
        "documents"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.documents.md",
      "tagOpenapiUrl": "/ai/openapi/tag.documents.openapi.json"
    },
    {
      "method": "POST",
      "path": "/dunning",
      "operationId": "listDunningNotices",
      "summary": "List dunning notices",
      "description": "List selected data from all dunning notices that match the specified filter and search criteria in a specific sort order. Requires `collection` permission.",
      "tags": [
        "dunning"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.dunning.md",
      "tagOpenapiUrl": "/ai/openapi/tag.dunning.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/dunning",
      "operationId": "createDunningNotice",
      "summary": "Create new dunning notice",
      "description": "Create a new dunning notice and return its persistent data. Requires writable `collection` permission.",
      "tags": [
        "dunning"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.dunning.md",
      "tagOpenapiUrl": "/ai/openapi/tag.dunning.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/dunning/{ID}",
      "operationId": "deleteDunningNotice",
      "summary": "Delete dunning notice",
      "description": "Permanently delete an existing dunning notice by **`ID`**. Requires writable `collection` permission.",
      "tags": [
        "dunning"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.dunning.md",
      "tagOpenapiUrl": "/ai/openapi/tag.dunning.openapi.json"
    },
    {
      "method": "GET",
      "path": "/dunning/{ID}",
      "operationId": "getDunningNotice",
      "summary": "Get dunning notice",
      "description": "Return the data of an existing dunning notice by **`ID`**. Requires `collection` permission.",
      "tags": [
        "dunning"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.dunning.md",
      "tagOpenapiUrl": "/ai/openapi/tag.dunning.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/dunning/{ID}",
      "operationId": "existsDunningNotice",
      "summary": "Check if dunning notice exists",
      "description": "Check if a dunning notice with **`ID`** exists, but do not return its data. Requires `collection` permission.",
      "tags": [
        "dunning"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.dunning.md",
      "tagOpenapiUrl": "/ai/openapi/tag.dunning.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/dunning/{ID}",
      "operationId": "updateDunningNotice",
      "summary": "Update existing dunning notice",
      "description": "Update an existing dunning notice by **`ID`** and return its persistent data. Requires writable `collection` permission.",
      "tags": [
        "dunning"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.dunning.md",
      "tagOpenapiUrl": "/ai/openapi/tag.dunning.openapi.json"
    },
    {
      "method": "POST",
      "path": "/dunning2transactions",
      "operationId": "listDunningToTransactions",
      "summary": "List dunning-to-transactions",
      "description": "List selected data from all dunning-to-transactions that match the specified filter and search criteria in a specific sort order. Requires `collection` permission. Has dependencies on `dunning` and `transaction`.",
      "tags": [
        "dunning2transactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.dunning2transactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.dunning2transactions.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/dunning2transactions",
      "operationId": "createDunningToTransaction",
      "summary": "Create new dunning-to-transaction",
      "description": "Create a new dunning-to-transaction and return its persistent data. Requires writable `collection` permission. Has dependencies on `dunning` and `transaction`.",
      "tags": [
        "dunning2transactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.dunning2transactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.dunning2transactions.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/dunning2transactions/{ID}",
      "operationId": "deleteDunningToTransaction",
      "summary": "Delete dunning-to-transaction",
      "description": "Permanently delete an existing dunning-to-transaction by **`ID`**. Requires writable `collection` permission. Has dependencies on `dunning` and `transaction`.",
      "tags": [
        "dunning2transactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.dunning2transactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.dunning2transactions.openapi.json"
    },
    {
      "method": "GET",
      "path": "/dunning2transactions/{ID}",
      "operationId": "getDunningToTransaction",
      "summary": "Get dunning-to-transaction",
      "description": "Return the data of an existing dunning-to-transaction by **`ID`**. Requires `collection` permission. Has dependencies on `dunning` and `transaction`.",
      "tags": [
        "dunning2transactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.dunning2transactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.dunning2transactions.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/dunning2transactions/{ID}",
      "operationId": "existsDunningToTransaction",
      "summary": "Check if dunning-to-transaction exists",
      "description": "Check if a dunning-to-transaction with **`ID`** exists, but do not return its data. Requires `collection` permission. Has dependencies on `dunning` and `transaction`.",
      "tags": [
        "dunning2transactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.dunning2transactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.dunning2transactions.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/dunning2transactions/{ID}",
      "operationId": "updateDunningToTransaction",
      "summary": "Update existing dunning-to-transaction",
      "description": "Update an existing dunning-to-transaction by **`ID`** and return its persistent data. Requires writable `collection` permission. Has dependencies on `dunning` and `transaction`.",
      "tags": [
        "dunning2transactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.dunning2transactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.dunning2transactions.openapi.json"
    },
    {
      "method": "POST",
      "path": "/entities2channels",
      "operationId": "listEntitiesToChannels",
      "summary": "List entities-to-channels",
      "description": "List selected data from all entities-to-channels that match the specified filter and search criteria in a specific sort order. Requires no specific permission. Has dependency on `channel`.",
      "tags": [
        "entities2channels"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.entities2channels.md",
      "tagOpenapiUrl": "/ai/openapi/tag.entities2channels.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/entities2channels",
      "operationId": "createEntityToChannel",
      "summary": "Create new entity-to-channel",
      "description": "Create a new entity-to-channel and return its persistent data. Requires no specific permission. Has dependency on `channel`.",
      "tags": [
        "entities2channels"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.entities2channels.md",
      "tagOpenapiUrl": "/ai/openapi/tag.entities2channels.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/entities2channels/{ID}",
      "operationId": "deleteEntityToChannel",
      "summary": "Delete entity-to-channel",
      "description": "Permanently delete an existing entity-to-channel by **`ID`**. Requires no specific permission. Has dependency on `channel`.",
      "tags": [
        "entities2channels"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.entities2channels.md",
      "tagOpenapiUrl": "/ai/openapi/tag.entities2channels.openapi.json"
    },
    {
      "method": "GET",
      "path": "/entities2channels/{ID}",
      "operationId": "getEntityToChannel",
      "summary": "Get entity-to-channel",
      "description": "Return the data of an existing entity-to-channel by **`ID`**. Requires no specific permission. Has dependency on `channel`.",
      "tags": [
        "entities2channels"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.entities2channels.md",
      "tagOpenapiUrl": "/ai/openapi/tag.entities2channels.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/entities2channels/{ID}",
      "operationId": "existsEntityToChannel",
      "summary": "Check if entity-to-channel exists",
      "description": "Check if an entity-to-channel with **`ID`** exists, but do not return its data. Requires no specific permission. Has dependency on `channel`.",
      "tags": [
        "entities2channels"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.entities2channels.md",
      "tagOpenapiUrl": "/ai/openapi/tag.entities2channels.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/entities2channels/{ID}",
      "operationId": "updateEntityToChannel",
      "summary": "Update existing entity-to-channel",
      "description": "Update an existing entity-to-channel by **`ID`** and return its persistent data. Requires no specific permission. Has dependency on `channel`.",
      "tags": [
        "entities2channels"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.entities2channels.md",
      "tagOpenapiUrl": "/ai/openapi/tag.entities2channels.openapi.json"
    },
    {
      "method": "POST",
      "path": "/events",
      "operationId": "listEvents",
      "summary": "List events",
      "description": "List selected data from all events that match the specified filter and search criteria in a specific sort order. Requires no specific permission.",
      "tags": [
        "events"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.events.md",
      "tagOpenapiUrl": "/ai/openapi/tag.events.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/events",
      "operationId": "createEvent",
      "summary": "Create new event",
      "description": "Create a new event and return its persistent data. Requires no specific permission.",
      "tags": [
        "events"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.events.md",
      "tagOpenapiUrl": "/ai/openapi/tag.events.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/events/{ID}",
      "operationId": "deleteEvent",
      "summary": "Delete event",
      "description": "Permanently delete an existing event by **`ID`**. Requires no specific permission.",
      "tags": [
        "events"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.events.md",
      "tagOpenapiUrl": "/ai/openapi/tag.events.openapi.json"
    },
    {
      "method": "GET",
      "path": "/events/{ID}",
      "operationId": "getEvent",
      "summary": "Get event",
      "description": "Return the data of an existing event by **`ID`**. Requires no specific permission.",
      "tags": [
        "events"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.events.md",
      "tagOpenapiUrl": "/ai/openapi/tag.events.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/events/{ID}",
      "operationId": "existsEvent",
      "summary": "Check if event exists",
      "description": "Check if an event with **`ID`** exists, but do not return its data. Requires no specific permission.",
      "tags": [
        "events"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.events.md",
      "tagOpenapiUrl": "/ai/openapi/tag.events.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/events/{ID}",
      "operationId": "updateEvent",
      "summary": "Update existing event",
      "description": "Update an existing event by **`ID`** and return its persistent data. Requires no specific permission.",
      "tags": [
        "events"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.events.md",
      "tagOpenapiUrl": "/ai/openapi/tag.events.openapi.json"
    },
    {
      "method": "POST",
      "path": "/feedservers",
      "operationId": "listFeedServers",
      "summary": "List feed servers",
      "description": "List selected data from all feed servers that match the specified filter and search criteria in a specific sort order. Requires no specific permission.",
      "tags": [
        "feedservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.feedservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.feedservers.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/feedservers",
      "operationId": "createFeedServer",
      "summary": "Create new feed server",
      "description": "Create a new feed server and return its persistent data. Requires no specific permission.",
      "tags": [
        "feedservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.feedservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.feedservers.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/feedservers/{ID}",
      "operationId": "deleteFeedServer",
      "summary": "Delete feed server",
      "description": "Permanently delete an existing feed server by **`ID`**. Requires no specific permission.",
      "tags": [
        "feedservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.feedservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.feedservers.openapi.json"
    },
    {
      "method": "GET",
      "path": "/feedservers/{ID}",
      "operationId": "getFeedServer",
      "summary": "Get feed server",
      "description": "Return the data of an existing feed server by **`ID`**. Requires no specific permission.",
      "tags": [
        "feedservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.feedservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.feedservers.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/feedservers/{ID}",
      "operationId": "existsFeedServer",
      "summary": "Check if feed server exists",
      "description": "Check if a feed server with **`ID`** exists, but do not return its data. Requires no specific permission.",
      "tags": [
        "feedservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.feedservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.feedservers.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/feedservers/{ID}",
      "operationId": "updateFeedServer",
      "summary": "Update existing feed server",
      "description": "Update an existing feed server by **`ID`** and return its persistent data. Requires no specific permission.",
      "tags": [
        "feedservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.feedservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.feedservers.openapi.json"
    },
    {
      "method": "POST",
      "path": "/files",
      "operationId": "listFiles",
      "summary": "List files",
      "description": "List selected data from all files that match the specified filter and search criteria in a specific sort order. Requires no specific permission. Has dependency on `record` or `comment`.",
      "tags": [
        "files"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.files.md",
      "tagOpenapiUrl": "/ai/openapi/tag.files.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/files",
      "operationId": "createFile",
      "summary": "Create new file",
      "description": "Create a new file and return its persistent data. Requires no specific permission. Has dependency on `record` or `comment`.",
      "tags": [
        "files"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.files.md",
      "tagOpenapiUrl": "/ai/openapi/tag.files.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/files/{ID}",
      "operationId": "deleteFile",
      "summary": "Delete file",
      "description": "Permanently delete an existing file by **`ID`**. Requires no specific permission. Has dependency on `record` or `comment`.",
      "tags": [
        "files"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.files.md",
      "tagOpenapiUrl": "/ai/openapi/tag.files.openapi.json"
    },
    {
      "method": "GET",
      "path": "/files/{ID}",
      "operationId": "getFile",
      "summary": "Get file",
      "description": "Return the data of an existing file by **`ID`**. Requires no specific permission. Has dependency on `record` or `comment`.",
      "tags": [
        "files"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.files.md",
      "tagOpenapiUrl": "/ai/openapi/tag.files.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/files/{ID}",
      "operationId": "existsFile",
      "summary": "Check if file exists",
      "description": "Check if a file with **`ID`** exists, but do not return its data. Requires no specific permission. Has dependency on `record` or `comment`.",
      "tags": [
        "files"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.files.md",
      "tagOpenapiUrl": "/ai/openapi/tag.files.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/files/{ID}",
      "operationId": "updateFile",
      "summary": "Update existing file",
      "description": "Update an existing file by **`ID`** and return its persistent data. Requires no specific permission. Has dependency on `record` or `comment`.",
      "tags": [
        "files"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.files.md",
      "tagOpenapiUrl": "/ai/openapi/tag.files.openapi.json"
    },
    {
      "method": "POST",
      "path": "/follows",
      "operationId": "listFollows",
      "summary": "List follows",
      "description": "List selected data from all follows that match the specified filter and search criteria in a specific sort order. Requires no specific permission.",
      "tags": [
        "follows"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.follows.md",
      "tagOpenapiUrl": "/ai/openapi/tag.follows.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/follows",
      "operationId": "createFollow",
      "summary": "Create new follow",
      "description": "Create a new follow and return its persistent data. Requires the authenticated user to be the `creator`.",
      "tags": [
        "follows"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.follows.md",
      "tagOpenapiUrl": "/ai/openapi/tag.follows.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/follows/{ID}",
      "operationId": "deleteFollow",
      "summary": "Delete follow",
      "description": "Permanently delete an existing follow by **`ID`**. Requires the authenticated user to be the `creator`.",
      "tags": [
        "follows"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.follows.md",
      "tagOpenapiUrl": "/ai/openapi/tag.follows.openapi.json"
    },
    {
      "method": "GET",
      "path": "/follows/{ID}",
      "operationId": "getFollow",
      "summary": "Get follow",
      "description": "Return the data of an existing follow by **`ID`**. Requires no specific permission.",
      "tags": [
        "follows"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.follows.md",
      "tagOpenapiUrl": "/ai/openapi/tag.follows.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/follows/{ID}",
      "operationId": "existsFollow",
      "summary": "Check if follow exists",
      "description": "Check if a follow with **`ID`** exists, but do not return its data. Requires no specific permission.",
      "tags": [
        "follows"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.follows.md",
      "tagOpenapiUrl": "/ai/openapi/tag.follows.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/follows/{ID}",
      "operationId": "updateFollow",
      "summary": "Update existing follow",
      "description": "Update an existing follow by **`ID`** and return its persistent data. Requires the authenticated user to be the `creator`.",
      "tags": [
        "follows"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.follows.md",
      "tagOpenapiUrl": "/ai/openapi/tag.follows.openapi.json"
    },
    {
      "method": "POST",
      "path": "/forks",
      "operationId": "listForks",
      "summary": "List forks",
      "description": "List selected data from all forks that match the specified filter and search criteria in a specific sort order. Requires no specific permission.",
      "tags": [
        "forks"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.forks.md",
      "tagOpenapiUrl": "/ai/openapi/tag.forks.openapi.json"
    },
    {
      "method": "GET",
      "path": "/forks/{ID}",
      "operationId": "getFork",
      "summary": "Get fork",
      "description": "Return the data of an existing fork by **`ID`**. Requires no specific permission.",
      "tags": [
        "forks"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.forks.md",
      "tagOpenapiUrl": "/ai/openapi/tag.forks.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/forks/{ID}",
      "operationId": "existsFork",
      "summary": "Check if fork exists",
      "description": "Check if a fork with **`ID`** exists, but do not return its data. Requires no specific permission.",
      "tags": [
        "forks"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.forks.md",
      "tagOpenapiUrl": "/ai/openapi/tag.forks.openapi.json"
    },
    {
      "method": "POST",
      "path": "/groups",
      "operationId": "listGroups",
      "summary": "List groups",
      "description": "List selected data from all groups that match the specified filter and search criteria in a specific sort order. Requires no specific permission.",
      "tags": [
        "groups"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.groups.md",
      "tagOpenapiUrl": "/ai/openapi/tag.groups.openapi.json"
    },
    {
      "method": "GET",
      "path": "/groups/{ID}",
      "operationId": "getGroup",
      "summary": "Get group",
      "description": "Return the data of an existing group by **`ID`**. Requires no specific permission.",
      "tags": [
        "groups"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.groups.md",
      "tagOpenapiUrl": "/ai/openapi/tag.groups.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/groups/{ID}",
      "operationId": "existsGroup",
      "summary": "Check if group exists",
      "description": "Check if a group with **`ID`** exists, but do not return its data. Requires no specific permission.",
      "tags": [
        "groups"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.groups.md",
      "tagOpenapiUrl": "/ai/openapi/tag.groups.openapi.json"
    },
    {
      "method": "POST",
      "path": "/groups2users",
      "operationId": "listGroupsToUsers",
      "summary": "List groups-to-users",
      "description": "List selected data from all groups-to-users that match the specified filter and search criteria in a specific sort order. Requires `admin` permission. Has dependency on `group` or `user`.",
      "tags": [
        "groups2users"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.groups2users.md",
      "tagOpenapiUrl": "/ai/openapi/tag.groups2users.openapi.json"
    },
    {
      "method": "GET",
      "path": "/groups2users/{ID}",
      "operationId": "getGroupToUser",
      "summary": "Get group-to-user",
      "description": "Return the data of an existing group-to-user by **`ID`**. Requires `admin` permission. Has dependency on `group` or `user`.",
      "tags": [
        "groups2users"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.groups2users.md",
      "tagOpenapiUrl": "/ai/openapi/tag.groups2users.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/groups2users/{ID}",
      "operationId": "existsGroupToUser",
      "summary": "Check if group-to-user exists",
      "description": "Check if a group-to-user with **`ID`** exists, but do not return its data. Requires `admin` permission. Has dependency on `group` or `user`.",
      "tags": [
        "groups2users"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.groups2users.md",
      "tagOpenapiUrl": "/ai/openapi/tag.groups2users.openapi.json"
    },
    {
      "method": "POST",
      "path": "/invitations",
      "operationId": "listInvitations",
      "summary": "List invitations",
      "description": "List selected data from all invitations that match the specified filter and search criteria in a specific sort order. Requires `calendar` permission. Has dependency on `appointment`.",
      "tags": [
        "invitations"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.invitations.md",
      "tagOpenapiUrl": "/ai/openapi/tag.invitations.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/invitations",
      "operationId": "createInvitation",
      "summary": "Create new invitation",
      "description": "Create a new invitation and return its persistent data. Requires writable `calendar` permission. Has dependency on `appointment`.",
      "tags": [
        "invitations"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.invitations.md",
      "tagOpenapiUrl": "/ai/openapi/tag.invitations.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/invitations/{ID}",
      "operationId": "deleteInvitation",
      "summary": "Delete invitation",
      "description": "Permanently delete an existing invitation by **`ID`**. Requires writable `calendar` permission. Has dependency on `appointment`.",
      "tags": [
        "invitations"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.invitations.md",
      "tagOpenapiUrl": "/ai/openapi/tag.invitations.openapi.json"
    },
    {
      "method": "GET",
      "path": "/invitations/{ID}",
      "operationId": "getInvitation",
      "summary": "Get invitation",
      "description": "Return the data of an existing invitation by **`ID`**. Requires `calendar` permission. Has dependency on `appointment`.",
      "tags": [
        "invitations"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.invitations.md",
      "tagOpenapiUrl": "/ai/openapi/tag.invitations.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/invitations/{ID}",
      "operationId": "existsInvitation",
      "summary": "Check if invitation exists",
      "description": "Check if an invitation with **`ID`** exists, but do not return its data. Requires `calendar` permission. Has dependency on `appointment`.",
      "tags": [
        "invitations"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.invitations.md",
      "tagOpenapiUrl": "/ai/openapi/tag.invitations.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/invitations/{ID}",
      "operationId": "updateInvitation",
      "summary": "Update existing invitation",
      "description": "Update an existing invitation by **`ID`** and return its persistent data. Requires writable `calendar` permission. Has dependency on `appointment`.",
      "tags": [
        "invitations"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.invitations.md",
      "tagOpenapiUrl": "/ai/openapi/tag.invitations.openapi.json"
    },
    {
      "method": "POST",
      "path": "/items",
      "operationId": "listItems",
      "summary": "List items",
      "description": "List selected data from all items that match the specified filter and search criteria in a specific sort order. Requires `inventory` permission.",
      "tags": [
        "items"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.items.md",
      "tagOpenapiUrl": "/ai/openapi/tag.items.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/items",
      "operationId": "createItem",
      "summary": "Create new item",
      "description": "Create a new item and return its persistent data. Requires writable `inventory` permission.",
      "tags": [
        "items"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.items.md",
      "tagOpenapiUrl": "/ai/openapi/tag.items.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/items/{ID}",
      "operationId": "deleteItem",
      "summary": "Delete item",
      "description": "Permanently delete an existing item by **`ID`**. Requires writable `inventory` permission.",
      "tags": [
        "items"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.items.md",
      "tagOpenapiUrl": "/ai/openapi/tag.items.openapi.json"
    },
    {
      "method": "GET",
      "path": "/items/{ID}",
      "operationId": "getItem",
      "summary": "Get item",
      "description": "Return the data of an existing item by **`ID`**. Requires `inventory` permission.",
      "tags": [
        "items"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.items.md",
      "tagOpenapiUrl": "/ai/openapi/tag.items.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/items/{ID}",
      "operationId": "existsItem",
      "summary": "Check if item exists",
      "description": "Check if an item with **`ID`** exists, but do not return its data. Requires `inventory` permission.",
      "tags": [
        "items"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.items.md",
      "tagOpenapiUrl": "/ai/openapi/tag.items.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/items/{ID}",
      "operationId": "updateItem",
      "summary": "Update existing item",
      "description": "Update an existing item by **`ID`** and return its persistent data. Requires writable `inventory` permission.",
      "tags": [
        "items"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.items.md",
      "tagOpenapiUrl": "/ai/openapi/tag.items.openapi.json"
    },
    {
      "method": "POST",
      "path": "/ledgers",
      "operationId": "listLedgers",
      "summary": "List ledgers",
      "description": "List selected data from all ledgers that match the specified filter and search criteria in a specific sort order. Requires `payments` permission.",
      "tags": [
        "ledgers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.ledgers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.ledgers.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/ledgers",
      "operationId": "createLedger",
      "summary": "Create new ledger",
      "description": "Create a new ledger and return its persistent data. Requires writable `payments` permission.",
      "tags": [
        "ledgers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.ledgers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.ledgers.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/ledgers/{ID}",
      "operationId": "deleteLedger",
      "summary": "Delete ledger",
      "description": "Permanently delete an existing ledger by **`ID`**. Requires writable `payments` permission.",
      "tags": [
        "ledgers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.ledgers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.ledgers.openapi.json"
    },
    {
      "method": "GET",
      "path": "/ledgers/{ID}",
      "operationId": "getLedger",
      "summary": "Get ledger",
      "description": "Return the data of an existing ledger by **`ID`**. Requires `payments` permission.",
      "tags": [
        "ledgers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.ledgers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.ledgers.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/ledgers/{ID}",
      "operationId": "existsLedger",
      "summary": "Check if ledger exists",
      "description": "Check if a ledger with **`ID`** exists, but do not return its data. Requires `payments` permission.",
      "tags": [
        "ledgers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.ledgers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.ledgers.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/ledgers/{ID}",
      "operationId": "updateLedger",
      "summary": "Update existing ledger",
      "description": "Update an existing ledger by **`ID`** and return its persistent data. Requires writable `payments` permission.",
      "tags": [
        "ledgers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.ledgers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.ledgers.openapi.json"
    },
    {
      "method": "POST",
      "path": "/likes",
      "operationId": "listLikes",
      "summary": "List likes",
      "description": "List selected data from all likes that match the specified filter and search criteria in a specific sort order. Requires no specific permission. Has dependency on `record`.",
      "tags": [
        "likes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.likes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.likes.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/likes",
      "operationId": "createLike",
      "summary": "Create new like",
      "description": "Create a new like and return its persistent data. Requires the authenticated user to be the `creator`. Has dependency on `record`.",
      "tags": [
        "likes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.likes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.likes.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/likes/{ID}",
      "operationId": "deleteLike",
      "summary": "Delete like",
      "description": "Permanently delete an existing like by **`ID`**. Requires the authenticated user to be the `creator`. Has dependency on `record`.",
      "tags": [
        "likes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.likes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.likes.openapi.json"
    },
    {
      "method": "GET",
      "path": "/likes/{ID}",
      "operationId": "getLike",
      "summary": "Get like",
      "description": "Return the data of an existing like by **`ID`**. Requires no specific permission. Has dependency on `record`.",
      "tags": [
        "likes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.likes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.likes.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/likes/{ID}",
      "operationId": "existsLike",
      "summary": "Check if like exists",
      "description": "Check if a like with **`ID`** exists, but do not return its data. Requires no specific permission. Has dependency on `record`.",
      "tags": [
        "likes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.likes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.likes.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/likes/{ID}",
      "operationId": "updateLike",
      "summary": "Update existing like",
      "description": "Update an existing like by **`ID`** and return its persistent data. Requires the authenticated user to be the `creator`. Has dependency on `record`.",
      "tags": [
        "likes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.likes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.likes.openapi.json"
    },
    {
      "method": "POST",
      "path": "/links",
      "operationId": "listLinks",
      "summary": "List links",
      "description": "List selected data from all links that match the specified filter and search criteria in a specific sort order. Requires `links` permission.",
      "tags": [
        "links"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.links.md",
      "tagOpenapiUrl": "/ai/openapi/tag.links.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/links",
      "operationId": "createLink",
      "summary": "Create new link",
      "description": "Create a new link and return its persistent data. Requires writable `links` permission.",
      "tags": [
        "links"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.links.md",
      "tagOpenapiUrl": "/ai/openapi/tag.links.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/links/{ID}",
      "operationId": "deleteLink",
      "summary": "Delete link",
      "description": "Permanently delete an existing link by **`ID`**. Requires writable `links` permission.",
      "tags": [
        "links"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.links.md",
      "tagOpenapiUrl": "/ai/openapi/tag.links.openapi.json"
    },
    {
      "method": "GET",
      "path": "/links/{ID}",
      "operationId": "getLink",
      "summary": "Get link",
      "description": "Return the data of an existing link by **`ID`**. Requires `links` permission.",
      "tags": [
        "links"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.links.md",
      "tagOpenapiUrl": "/ai/openapi/tag.links.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/links/{ID}",
      "operationId": "existsLink",
      "summary": "Check if link exists",
      "description": "Check if a link with **`ID`** exists, but do not return its data. Requires `links` permission.",
      "tags": [
        "links"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.links.md",
      "tagOpenapiUrl": "/ai/openapi/tag.links.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/links/{ID}",
      "operationId": "updateLink",
      "summary": "Update existing link",
      "description": "Update an existing link by **`ID`** and return its persistent data. Requires writable `links` permission.",
      "tags": [
        "links"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.links.md",
      "tagOpenapiUrl": "/ai/openapi/tag.links.openapi.json"
    },
    {
      "method": "POST",
      "path": "/mailinglists",
      "operationId": "listMailingLists",
      "summary": "List mailing lists",
      "description": "List selected data from all mailing lists that match the specified filter and search criteria in a specific sort order. Requires `mailinglists` permission.",
      "tags": [
        "mailinglists"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailinglists.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailinglists.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/mailinglists",
      "operationId": "createMailingList",
      "summary": "Create new mailing list",
      "description": "Create a new mailing list and return its persistent data. Requires writable `mailinglists` permission.",
      "tags": [
        "mailinglists"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailinglists.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailinglists.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/mailinglists/{ID}",
      "operationId": "deleteMailingList",
      "summary": "Delete mailing list",
      "description": "Permanently delete an existing mailing list by **`ID`**. Requires writable `mailinglists` permission.",
      "tags": [
        "mailinglists"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailinglists.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailinglists.openapi.json"
    },
    {
      "method": "GET",
      "path": "/mailinglists/{ID}",
      "operationId": "getMailingList",
      "summary": "Get mailing list",
      "description": "Return the data of an existing mailing list by **`ID`**. Requires `mailinglists` permission.",
      "tags": [
        "mailinglists"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailinglists.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailinglists.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/mailinglists/{ID}",
      "operationId": "existsMailingList",
      "summary": "Check if mailing list exists",
      "description": "Check if a mailing list with **`ID`** exists, but do not return its data. Requires `mailinglists` permission.",
      "tags": [
        "mailinglists"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailinglists.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailinglists.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/mailinglists/{ID}",
      "operationId": "updateMailingList",
      "summary": "Update existing mailing list",
      "description": "Update an existing mailing list by **`ID`** and return its persistent data. Requires writable `mailinglists` permission.",
      "tags": [
        "mailinglists"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailinglists.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailinglists.openapi.json"
    },
    {
      "method": "POST",
      "path": "/mailingrecipients",
      "operationId": "listMailingRecipients",
      "summary": "List mailing recipients",
      "description": "List selected data from all mailing recipients that match the specified filter and search criteria in a specific sort order. Requires `messages` permission. Has dependency on `message`.",
      "tags": [
        "mailingrecipients"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailingrecipients.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailingrecipients.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/mailingrecipients",
      "operationId": "createMailingRecipient",
      "summary": "Create new mailing recipient",
      "description": "Create a new mailing recipient and return its persistent data. Requires writable `messages` permission. Has dependency on `message`.",
      "tags": [
        "mailingrecipients"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailingrecipients.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailingrecipients.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/mailingrecipients/{ID}",
      "operationId": "deleteMailingRecipient",
      "summary": "Delete mailing recipient",
      "description": "Permanently delete an existing mailing recipient by **`ID`**. Requires writable `messages` permission. Has dependency on `message`.",
      "tags": [
        "mailingrecipients"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailingrecipients.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailingrecipients.openapi.json"
    },
    {
      "method": "GET",
      "path": "/mailingrecipients/{ID}",
      "operationId": "getMailingRecipient",
      "summary": "Get mailing recipient",
      "description": "Return the data of an existing mailing recipient by **`ID`**. Requires `messages` permission. Has dependency on `message`.",
      "tags": [
        "mailingrecipients"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailingrecipients.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailingrecipients.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/mailingrecipients/{ID}",
      "operationId": "existsMailingRecipients",
      "summary": "Check if mailing recipient exists",
      "description": "Check if a mailing recipient with **`ID`** exists, but do not return its data. Requires `messages` permission. Has dependency on `message`.",
      "tags": [
        "mailingrecipients"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailingrecipients.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailingrecipients.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/mailingrecipients/{ID}",
      "operationId": "updateMailingRecipient",
      "summary": "Update existing mailing recipient",
      "description": "Update an existing mailing recipient by **`ID`** and return its persistent data. Requires writable `messages` permission. Has dependency on `message`.",
      "tags": [
        "mailingrecipients"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailingrecipients.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailingrecipients.openapi.json"
    },
    {
      "method": "POST",
      "path": "/mailservers",
      "operationId": "listMailServers",
      "summary": "List mail servers",
      "description": "List selected data from all mail servers that match the specified filter and search criteria in a specific sort order. Requires no specific permission.",
      "tags": [
        "mailservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailservers.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/mailservers",
      "operationId": "createMailServer",
      "summary": "Create new mail server",
      "description": "Create a new mail server and return its persistent data. Requires no specific permission.",
      "tags": [
        "mailservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailservers.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/mailservers/{ID}",
      "operationId": "deleteMailServer",
      "summary": "Delete mail server",
      "description": "Permanently delete an existing mail server by **`ID`**. Requires no specific permission.",
      "tags": [
        "mailservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailservers.openapi.json"
    },
    {
      "method": "GET",
      "path": "/mailservers/{ID}",
      "operationId": "getMailServer",
      "summary": "Get mail server",
      "description": "Return the data of an existing mail server by **`ID`**. Requires no specific permission.",
      "tags": [
        "mailservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailservers.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/mailservers/{ID}",
      "operationId": "existsMailServer",
      "summary": "Check if mail server exists",
      "description": "Check if a mail server with **`ID`** exists, but do not return its data. Requires no specific permission.",
      "tags": [
        "mailservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailservers.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/mailservers/{ID}",
      "operationId": "updateMailServer",
      "summary": "Update existing mail server",
      "description": "Update an existing mail server by **`ID`** and return its persistent data. Requires no specific permission.",
      "tags": [
        "mailservers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.mailservers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.mailservers.openapi.json"
    },
    {
      "method": "POST",
      "path": "/messagereads",
      "operationId": "listMessageReads",
      "summary": "List message-reads",
      "description": "List selected data from all message-reads that match the specified filter and search criteria in a specific sort order. Requires `messages` permission. Has dependency on `message`.",
      "tags": [
        "messagereads"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.messagereads.md",
      "tagOpenapiUrl": "/ai/openapi/tag.messagereads.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/messagereads",
      "operationId": "createMessageRead",
      "summary": "Create new message-read",
      "description": "Create a new message-read and return its persistent data. Requires writable `messages` permission and the authenticated user to be the `creator`. Has dependency on `message`.",
      "tags": [
        "messagereads"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.messagereads.md",
      "tagOpenapiUrl": "/ai/openapi/tag.messagereads.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/messagereads/{ID}",
      "operationId": "deleteMessageRead",
      "summary": "Delete message-read",
      "description": "Permanently delete an existing message-read by **`ID`**. Requires writable `messages` permission and the authenticated user to be the `creator`. Has dependency on `message`.",
      "tags": [
        "messagereads"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.messagereads.md",
      "tagOpenapiUrl": "/ai/openapi/tag.messagereads.openapi.json"
    },
    {
      "method": "GET",
      "path": "/messagereads/{ID}",
      "operationId": "getMessageRead",
      "summary": "Get message-read",
      "description": "Return the data of an existing message-read by **`ID`**. Requires `messages` permission. Has dependency on `message`.",
      "tags": [
        "messagereads"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.messagereads.md",
      "tagOpenapiUrl": "/ai/openapi/tag.messagereads.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/messagereads/{ID}",
      "operationId": "existsMessageRead",
      "summary": "Check if message-read exists",
      "description": "Check if a message-read with **`ID`** exists, but do not return its data. Requires `messages` permission. Has dependency on `message`.",
      "tags": [
        "messagereads"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.messagereads.md",
      "tagOpenapiUrl": "/ai/openapi/tag.messagereads.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/messagereads/{ID}",
      "operationId": "updateMessageRead",
      "summary": "Update existing message-read",
      "description": "Update an existing message-read by **`ID`** and return its persistent data. Requires writable `messages` permission and the authenticated user to be the `creator`. Has dependency on `message`.",
      "tags": [
        "messagereads"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.messagereads.md",
      "tagOpenapiUrl": "/ai/openapi/tag.messagereads.openapi.json"
    },
    {
      "method": "POST",
      "path": "/messages",
      "operationId": "listMessages",
      "summary": "List messages",
      "description": "List selected data from all messages that match the specified filter and search criteria in a specific sort order. Requires `messages` permission.",
      "tags": [
        "messages"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.messages.md",
      "tagOpenapiUrl": "/ai/openapi/tag.messages.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/messages",
      "operationId": "createMessage",
      "summary": "Create new message",
      "description": "Create a new message and return its persistent data. Requires writable `messages` permission.",
      "tags": [
        "messages"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.messages.md",
      "tagOpenapiUrl": "/ai/openapi/tag.messages.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/messages/{ID}",
      "operationId": "deleteMessage",
      "summary": "Delete message",
      "description": "Permanently delete an existing message by **`ID`**. Requires writable `messages` permission.",
      "tags": [
        "messages"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.messages.md",
      "tagOpenapiUrl": "/ai/openapi/tag.messages.openapi.json"
    },
    {
      "method": "GET",
      "path": "/messages/{ID}",
      "operationId": "getMessage",
      "summary": "Get message",
      "description": "Return the data of an existing message by **`ID`**. Requires `messages` permission.",
      "tags": [
        "messages"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.messages.md",
      "tagOpenapiUrl": "/ai/openapi/tag.messages.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/messages/{ID}",
      "operationId": "existsMessage",
      "summary": "Check if message exists",
      "description": "Check if a message with **`ID`** exists, but do not return its data. Requires `messages` permission.",
      "tags": [
        "messages"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.messages.md",
      "tagOpenapiUrl": "/ai/openapi/tag.messages.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/messages/{ID}",
      "operationId": "updateMessage",
      "summary": "Update existing message",
      "description": "Update an existing message by **`ID`** and return its persistent data. Requires writable `messages` permission.",
      "tags": [
        "messages"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.messages.md",
      "tagOpenapiUrl": "/ai/openapi/tag.messages.openapi.json"
    },
    {
      "method": "POST",
      "path": "/notes",
      "operationId": "listNotes",
      "summary": "List notes",
      "description": "List selected data from all notes that match the specified filter and search criteria in a specific sort order. Requires `notes` permission.",
      "tags": [
        "notes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.notes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.notes.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/notes",
      "operationId": "createNote",
      "summary": "Create new note",
      "description": "Create a new note and return its persistent data. Requires writable `notes` permission.",
      "tags": [
        "notes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.notes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.notes.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/notes/{ID}",
      "operationId": "deleteNote",
      "summary": "Delete note",
      "description": "Permanently delete an existing note by **`ID`**. Requires writable `notes` permission.",
      "tags": [
        "notes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.notes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.notes.openapi.json"
    },
    {
      "method": "GET",
      "path": "/notes/{ID}",
      "operationId": "getNote",
      "summary": "Get note",
      "description": "Return the data of an existing note by **`ID`**. Requires `notes` permission.",
      "tags": [
        "notes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.notes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.notes.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/notes/{ID}",
      "operationId": "existsNote",
      "summary": "Check if note exists",
      "description": "Check if a note with **`ID`** exists, but do not return its data. Requires `notes` permission.",
      "tags": [
        "notes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.notes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.notes.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/notes/{ID}",
      "operationId": "updateNote",
      "summary": "Update existing note",
      "description": "Update an existing note by **`ID`** and return its persistent data. Requires writable `notes` permission.",
      "tags": [
        "notes"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.notes.md",
      "tagOpenapiUrl": "/ai/openapi/tag.notes.openapi.json"
    },
    {
      "method": "POST",
      "path": "/objects",
      "operationId": "listObjects",
      "summary": "List custom objects",
      "description": "List selected data from all custom objects that match the specified filter and search criteria in a specific sort order. Requires no specific permission.",
      "tags": [
        "objects"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.objects.md",
      "tagOpenapiUrl": "/ai/openapi/tag.objects.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/objects",
      "operationId": "createObject",
      "summary": "Create new custom object",
      "description": "Create a new custom object and return its persistent data. Requires no specific permission.",
      "tags": [
        "objects"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.objects.md",
      "tagOpenapiUrl": "/ai/openapi/tag.objects.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/objects/{ID}",
      "operationId": "deleteObject",
      "summary": "Delete custom object",
      "description": "Permanently delete an existing custom object by **`ID`**. Requires no specific permission.",
      "tags": [
        "objects"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.objects.md",
      "tagOpenapiUrl": "/ai/openapi/tag.objects.openapi.json"
    },
    {
      "method": "GET",
      "path": "/objects/{ID}",
      "operationId": "getObject",
      "summary": "Get custom object",
      "description": "Return the data of an existing custom object by **`ID`**. Requires no specific permission.",
      "tags": [
        "objects"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.objects.md",
      "tagOpenapiUrl": "/ai/openapi/tag.objects.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/objects/{ID}",
      "operationId": "existsObject",
      "summary": "Check if custom object exists",
      "description": "Check if a custom object with **`ID`** exists, but do not return its data. Requires no specific permission.",
      "tags": [
        "objects"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.objects.md",
      "tagOpenapiUrl": "/ai/openapi/tag.objects.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/objects/{ID}",
      "operationId": "updateObject",
      "summary": "Update existing custom object",
      "description": "Update an existing custom object by **`ID`** and return its persistent data. Requires no specific permission.",
      "tags": [
        "objects"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.objects.md",
      "tagOpenapiUrl": "/ai/openapi/tag.objects.openapi.json"
    },
    {
      "method": "POST",
      "path": "/opportunities",
      "operationId": "listOpportunities",
      "summary": "List opportunities",
      "description": "List selected data from all opportunities that match the specified filter and search criteria in a specific sort order. Requires `opportunities` permission.",
      "tags": [
        "opportunities"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.opportunities.md",
      "tagOpenapiUrl": "/ai/openapi/tag.opportunities.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/opportunities",
      "operationId": "createOpportunity",
      "summary": "Create new opportunity",
      "description": "Create a new opportunity and return its persistent data. Requires writable `opportunities` permission.",
      "tags": [
        "opportunities"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.opportunities.md",
      "tagOpenapiUrl": "/ai/openapi/tag.opportunities.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/opportunities/{ID}",
      "operationId": "deleteOpportunity",
      "summary": "Delete opportunity",
      "description": "Permanently delete an existing opportunity by **`ID`**. Requires writable `opportunities` permission.",
      "tags": [
        "opportunities"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.opportunities.md",
      "tagOpenapiUrl": "/ai/openapi/tag.opportunities.openapi.json"
    },
    {
      "method": "GET",
      "path": "/opportunities/{ID}",
      "operationId": "getOpportunity",
      "summary": "Get opportunity",
      "description": "Return the data of an existing opportunity by **`ID`**. Requires `opportunities` permission.",
      "tags": [
        "opportunities"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.opportunities.md",
      "tagOpenapiUrl": "/ai/openapi/tag.opportunities.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/opportunities/{ID}",
      "operationId": "existsOpportunity",
      "summary": "Check if opportunity exists",
      "description": "Check if an opportunity with **`ID`** exists, but do not return its data. Requires `opportunities` permission.",
      "tags": [
        "opportunities"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.opportunities.md",
      "tagOpenapiUrl": "/ai/openapi/tag.opportunities.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/opportunities/{ID}",
      "operationId": "updateOpportunity",
      "summary": "Update existing opportunity",
      "description": "Update an existing opportunity by **`ID`** and return its persistent data. Requires writable `opportunities` permission.",
      "tags": [
        "opportunities"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.opportunities.md",
      "tagOpenapiUrl": "/ai/openapi/tag.opportunities.openapi.json"
    },
    {
      "method": "POST",
      "path": "/participants",
      "operationId": "listParticipants",
      "summary": "List participants",
      "description": "List selected data from all participants that match the specified filter and search criteria in a specific sort order. Requires `mailinglists` or `campaigns` permission. Has dependency on `mailinglist` or `campaign`.",
      "tags": [
        "participants"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.participants.md",
      "tagOpenapiUrl": "/ai/openapi/tag.participants.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/participants",
      "operationId": "createParticipant",
      "summary": "Create new participant",
      "description": "Create a new participant and return its persistent data. Requires writable `mailinglists` or `campaigns` permission. Has dependency on `mailinglist` or `campaign`.",
      "tags": [
        "participants"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.participants.md",
      "tagOpenapiUrl": "/ai/openapi/tag.participants.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/participants/{ID}",
      "operationId": "deleteParticipant",
      "summary": "Delete participant",
      "description": "Permanently delete an existing participant by **`ID`**. Requires writable `mailinglists` or `campaigns` permission. Has dependency on `mailinglist` or `campaign`.",
      "tags": [
        "participants"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.participants.md",
      "tagOpenapiUrl": "/ai/openapi/tag.participants.openapi.json"
    },
    {
      "method": "GET",
      "path": "/participants/{ID}",
      "operationId": "getParticipant",
      "summary": "Get participant",
      "description": "Return the data of an existing participant by **`ID`**. Requires `mailinglists` or `campaigns` permission. Has dependency on `mailinglist` or `campaign`.",
      "tags": [
        "participants"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.participants.md",
      "tagOpenapiUrl": "/ai/openapi/tag.participants.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/participants/{ID}",
      "operationId": "existsParticipant",
      "summary": "Check if participant exists",
      "description": "Check if a participant with **`ID`** exists, but do not return its data. Requires `mailinglists` or `campaigns` permission. Has dependency on `mailinglist` or `campaign`.",
      "tags": [
        "participants"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.participants.md",
      "tagOpenapiUrl": "/ai/openapi/tag.participants.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/participants/{ID}",
      "operationId": "updateParticipant",
      "summary": "Update existing participant",
      "description": "Update an existing participant by **`ID`** and return its persistent data. Requires writable `mailinglists` or `campaigns` permission. Has dependency on `mailinglist` or `campaign`.",
      "tags": [
        "participants"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.participants.md",
      "tagOpenapiUrl": "/ai/openapi/tag.participants.openapi.json"
    },
    {
      "method": "POST",
      "path": "/payments",
      "operationId": "listPayments",
      "summary": "List payments",
      "description": "List selected data from all payments that match the specified filter and search criteria in a specific sort order. Requires `payments` permission.",
      "tags": [
        "payments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.payments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.payments.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/payments",
      "operationId": "createPayment",
      "summary": "Create new payment",
      "description": "Create a new payment and return its persistent data. Requires writable `payments` permission.",
      "tags": [
        "payments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.payments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.payments.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/payments/{ID}",
      "operationId": "deletePayment",
      "summary": "Delete payment",
      "description": "Permanently delete an existing payment by **`ID`**. Requires writable `payments` permission.",
      "tags": [
        "payments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.payments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.payments.openapi.json"
    },
    {
      "method": "GET",
      "path": "/payments/{ID}",
      "operationId": "getPayment",
      "summary": "Get payment",
      "description": "Return the data of an existing payment by **`ID`**. Requires `payments` permission.",
      "tags": [
        "payments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.payments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.payments.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/payments/{ID}",
      "operationId": "existsPayment",
      "summary": "Check if payment exists",
      "description": "Check if a payment with **`ID`** exists, but do not return its data. Requires `payments` permission.",
      "tags": [
        "payments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.payments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.payments.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/payments/{ID}",
      "operationId": "updatePayment",
      "summary": "Update existing payment",
      "description": "Update an existing payment by **`ID`** and return its persistent data. Requires writable `payments` permission.",
      "tags": [
        "payments"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.payments.md",
      "tagOpenapiUrl": "/ai/openapi/tag.payments.openapi.json"
    },
    {
      "method": "POST",
      "path": "/permissions",
      "operationId": "listPermissions",
      "summary": "List permissions",
      "description": "List selected data from all permissions that match the specified filter and search criteria in a specific sort order. Requires `admin` permission. Has dependency on `group`.",
      "tags": [
        "permissions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.permissions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.permissions.openapi.json"
    },
    {
      "method": "GET",
      "path": "/permissions/{ID}",
      "operationId": "getPermission",
      "summary": "Get permission",
      "description": "Return the data of an existing permission by **`ID`**. Requires `admin` permission. Has dependency on `group`.",
      "tags": [
        "permissions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.permissions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.permissions.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/permissions/{ID}",
      "operationId": "existsPermission",
      "summary": "Check if permission exists",
      "description": "Check if a permission with **`ID`** exists, but do not return its data. Requires `admin` permission. Has dependency on `group`.",
      "tags": [
        "permissions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.permissions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.permissions.openapi.json"
    },
    {
      "method": "POST",
      "path": "/pricelists",
      "operationId": "listPriceLists",
      "summary": "List price lists",
      "description": "List selected data from all price lists that match the specified filter and search criteria in a specific sort order. Requires `pricelists` permission.",
      "tags": [
        "pricelists"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.pricelists.md",
      "tagOpenapiUrl": "/ai/openapi/tag.pricelists.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/pricelists",
      "operationId": "createPriceList",
      "summary": "Create new price list",
      "description": "Create a new price list and return its persistent data. Requires writable `pricelists` permission.",
      "tags": [
        "pricelists"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.pricelists.md",
      "tagOpenapiUrl": "/ai/openapi/tag.pricelists.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/pricelists/{ID}",
      "operationId": "deletePriceList",
      "summary": "Delete price list",
      "description": "Permanently delete an existing price list by **`ID`**. Requires writable `pricelists` permission.",
      "tags": [
        "pricelists"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.pricelists.md",
      "tagOpenapiUrl": "/ai/openapi/tag.pricelists.openapi.json"
    },
    {
      "method": "GET",
      "path": "/pricelists/{ID}",
      "operationId": "getPriceList",
      "summary": "Get price list",
      "description": "Return the data of an existing price list by **`ID`**. Requires `pricelists` permission.",
      "tags": [
        "pricelists"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.pricelists.md",
      "tagOpenapiUrl": "/ai/openapi/tag.pricelists.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/pricelists/{ID}",
      "operationId": "existsPriceList",
      "summary": "Check if price list exists",
      "description": "Check if a price list with **`ID`** exists, but do not return its data. Requires `pricelists` permission.",
      "tags": [
        "pricelists"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.pricelists.md",
      "tagOpenapiUrl": "/ai/openapi/tag.pricelists.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/pricelists/{ID}",
      "operationId": "updatePriceList",
      "summary": "Update existing price list",
      "description": "Update an existing price list by **`ID`** and return its persistent data. Requires writable `pricelists` permission.",
      "tags": [
        "pricelists"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.pricelists.md",
      "tagOpenapiUrl": "/ai/openapi/tag.pricelists.openapi.json"
    },
    {
      "method": "POST",
      "path": "/pricelists2accounts",
      "operationId": "listPriceListsToAccounts",
      "summary": "List pricelists-to-accounts",
      "description": "List selected data from all pricelists-to-accounts that match the specified filter and search criteria in a specific sort order. Requires `pricelists` or `accounts` permission. Has dependencies on `pricelist` and `account`.",
      "tags": [
        "pricelists2accounts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.pricelists2accounts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.pricelists2accounts.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/pricelists2accounts",
      "operationId": "createPriceListToAccount",
      "summary": "Create new price",
      "description": "Create a new price and return its persistent data. Requires writable `pricelists` or `accounts` permission. Has dependencies on `pricelist` and `account`.",
      "tags": [
        "pricelists2accounts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.pricelists2accounts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.pricelists2accounts.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/pricelists2accounts/{ID}",
      "operationId": "deletePriceListToAccount",
      "summary": "Delete price",
      "description": "Permanently delete an existing price by **`ID`**. Requires writable `pricelists` or `accounts` permission. Has dependencies on `pricelist` and `account`.",
      "tags": [
        "pricelists2accounts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.pricelists2accounts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.pricelists2accounts.openapi.json"
    },
    {
      "method": "GET",
      "path": "/pricelists2accounts/{ID}",
      "operationId": "getPriceListToAccount",
      "summary": "Get price",
      "description": "Return the data of an existing price by **`ID`**. Requires `pricelists` or `accounts` permission. Has dependencies on `pricelist` and `account`.",
      "tags": [
        "pricelists2accounts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.pricelists2accounts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.pricelists2accounts.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/pricelists2accounts/{ID}",
      "operationId": "existsPriceListToAccount",
      "summary": "Check if price exists",
      "description": "Check if a price with **`ID`** exists, but do not return its data. Requires `pricelists` or `accounts` permission. Has dependencies on `pricelist` and `account`.",
      "tags": [
        "pricelists2accounts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.pricelists2accounts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.pricelists2accounts.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/pricelists2accounts/{ID}",
      "operationId": "updatePriceListToAccount",
      "summary": "Update existing price",
      "description": "Update an existing price by **`ID`** and return its persistent data. Requires writable `pricelists` or `accounts` permission. Has dependencies on `pricelist` and `account`.",
      "tags": [
        "pricelists2accounts"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.pricelists2accounts.md",
      "tagOpenapiUrl": "/ai/openapi/tag.pricelists2accounts.openapi.json"
    },
    {
      "method": "POST",
      "path": "/prices",
      "operationId": "listPrices",
      "summary": "List prices",
      "description": "List selected data from all prices that match the specified filter and search criteria in a specific sort order. Requires `inventory` or `pricelists` permission. Has dependencies on `items` and `pricelist`.",
      "tags": [
        "prices"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.prices.md",
      "tagOpenapiUrl": "/ai/openapi/tag.prices.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/prices",
      "operationId": "createPrice",
      "summary": "Create new price",
      "description": "Create a new price and return its persistent data. Requires writable `inventory` or `pricelists` permission. Has dependencies on `items` and `pricelist`.",
      "tags": [
        "prices"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.prices.md",
      "tagOpenapiUrl": "/ai/openapi/tag.prices.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/prices/{ID}",
      "operationId": "deletePrice",
      "summary": "Delete price",
      "description": "Permanently delete an existing price by **`ID`**. Requires writable `inventory` or `pricelists` permission. Has dependencies on `items` and `pricelist`.",
      "tags": [
        "prices"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.prices.md",
      "tagOpenapiUrl": "/ai/openapi/tag.prices.openapi.json"
    },
    {
      "method": "GET",
      "path": "/prices/{ID}",
      "operationId": "getPrice",
      "summary": "Get price",
      "description": "Return the data of an existing price by **`ID`**. Requires `inventory` or `pricelists` permission. Has dependencies on `items` and `pricelist`.",
      "tags": [
        "prices"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.prices.md",
      "tagOpenapiUrl": "/ai/openapi/tag.prices.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/prices/{ID}",
      "operationId": "existsPrice",
      "summary": "Check if price exists",
      "description": "Check if a price with **`ID`** exists, but do not return its data. Requires `inventory` or `pricelists` permission. Has dependencies on `items` and `pricelist`.",
      "tags": [
        "prices"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.prices.md",
      "tagOpenapiUrl": "/ai/openapi/tag.prices.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/prices/{ID}",
      "operationId": "updatePrice",
      "summary": "Update existing price",
      "description": "Update an existing price by **`ID`** and return its persistent data. Requires writable `inventory` or `pricelists` permission. Has dependencies on `items` and `pricelist`.",
      "tags": [
        "prices"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.prices.md",
      "tagOpenapiUrl": "/ai/openapi/tag.prices.openapi.json"
    },
    {
      "method": "POST",
      "path": "/projects",
      "operationId": "listProjects",
      "summary": "List projects",
      "description": "List selected data from all projects that match the specified filter and search criteria in a specific sort order. Requires `projects` permission.",
      "tags": [
        "projects"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.projects.md",
      "tagOpenapiUrl": "/ai/openapi/tag.projects.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/projects",
      "operationId": "createProject",
      "summary": "Create new project",
      "description": "Create a new project and return its persistent data. Requires writable `projects` permission.",
      "tags": [
        "projects"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.projects.md",
      "tagOpenapiUrl": "/ai/openapi/tag.projects.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/projects/{ID}",
      "operationId": "deleteProject",
      "summary": "Delete project",
      "description": "Permanently delete an existing project by **`ID`**. Requires writable `projects` permission.",
      "tags": [
        "projects"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.projects.md",
      "tagOpenapiUrl": "/ai/openapi/tag.projects.openapi.json"
    },
    {
      "method": "GET",
      "path": "/projects/{ID}",
      "operationId": "getProject",
      "summary": "Get project",
      "description": "Return the data of an existing project by **`ID`**. Requires `projects` permission.",
      "tags": [
        "projects"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.projects.md",
      "tagOpenapiUrl": "/ai/openapi/tag.projects.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/projects/{ID}",
      "operationId": "existsProject",
      "summary": "Check if project exists",
      "description": "Check if a project with **`ID`** exists, but do not return its data. Requires `projects` permission.",
      "tags": [
        "projects"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.projects.md",
      "tagOpenapiUrl": "/ai/openapi/tag.projects.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/projects/{ID}",
      "operationId": "updateProject",
      "summary": "Update existing project",
      "description": "Update an existing project by **`ID`** and return its persistent data. Requires writable `projects` permission.",
      "tags": [
        "projects"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.projects.md",
      "tagOpenapiUrl": "/ai/openapi/tag.projects.openapi.json"
    },
    {
      "method": "POST",
      "path": "/records",
      "operationId": "listRecords",
      "summary": "List records",
      "description": "List selected data from all records that match the specified filter and search criteria in a specific sort order. Requires no specific permission.",
      "tags": [
        "records"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.records.md",
      "tagOpenapiUrl": "/ai/openapi/tag.records.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/records",
      "operationId": "createRecord",
      "summary": "Create new record",
      "description": "Create a new record and return its persistent data. Requires the authenticated user to be the `creator`.",
      "tags": [
        "records"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.records.md",
      "tagOpenapiUrl": "/ai/openapi/tag.records.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/records/{ID}",
      "operationId": "deleteRecord",
      "summary": "Delete record",
      "description": "Permanently delete an existing record by **`ID`**. Requires the authenticated user to be the `creator`.",
      "tags": [
        "records"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.records.md",
      "tagOpenapiUrl": "/ai/openapi/tag.records.openapi.json"
    },
    {
      "method": "GET",
      "path": "/records/{ID}",
      "operationId": "getRecord",
      "summary": "Get record",
      "description": "Return the data of an existing record by **`ID`**. Requires no specific permission.",
      "tags": [
        "records"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.records.md",
      "tagOpenapiUrl": "/ai/openapi/tag.records.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/records/{ID}",
      "operationId": "existsRecord",
      "summary": "Check if record exists",
      "description": "Check if a record with **`ID`** exists, but do not return its data. Requires no specific permission.",
      "tags": [
        "records"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.records.md",
      "tagOpenapiUrl": "/ai/openapi/tag.records.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/records/{ID}",
      "operationId": "updateRecord",
      "summary": "Update existing record",
      "description": "Update an existing record by **`ID`** and return its persistent data. Requires the authenticated user to be the `creator`.",
      "tags": [
        "records"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.records.md",
      "tagOpenapiUrl": "/ai/openapi/tag.records.openapi.json"
    },
    {
      "method": "POST",
      "path": "/relateditems",
      "operationId": "listRelatedItems",
      "summary": "List related items",
      "description": "List selected data from all related items that match the specified filter and search criteria in a specific sort order. Requires `inventory` permission. Has dependency on `item`.",
      "tags": [
        "relateditems"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.relateditems.md",
      "tagOpenapiUrl": "/ai/openapi/tag.relateditems.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/relateditems",
      "operationId": "createRelatedItem",
      "summary": "Create new related item",
      "description": "Create a new related item and return its persistent data. Requires writable `inventory` permission. Has dependency on `item`.",
      "tags": [
        "relateditems"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.relateditems.md",
      "tagOpenapiUrl": "/ai/openapi/tag.relateditems.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/relateditems/{ID}",
      "operationId": "deleteRelatedItem",
      "summary": "Delete related item",
      "description": "Permanently delete an existing related item by **`ID`**. Requires writable `inventory` permission. Has dependency on `item`.",
      "tags": [
        "relateditems"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.relateditems.md",
      "tagOpenapiUrl": "/ai/openapi/tag.relateditems.openapi.json"
    },
    {
      "method": "GET",
      "path": "/relateditems/{ID}",
      "operationId": "getRelatedItem",
      "summary": "Get related item",
      "description": "Return the data of an existing related item by **`ID`**. Requires `inventory` permission. Has dependency on `item`.",
      "tags": [
        "relateditems"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.relateditems.md",
      "tagOpenapiUrl": "/ai/openapi/tag.relateditems.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/relateditems/{ID}",
      "operationId": "existsRelatedItem",
      "summary": "Check if related item exists",
      "description": "Check if a related item with **`ID`** exists, but do not return its data. Requires `inventory` permission. Has dependency on `item`.",
      "tags": [
        "relateditems"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.relateditems.md",
      "tagOpenapiUrl": "/ai/openapi/tag.relateditems.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/relateditems/{ID}",
      "operationId": "updateRelatedItem",
      "summary": "Update existing related item",
      "description": "Update an existing related item by **`ID`** and return its persistent data. Requires writable `inventory` permission. Has dependency on `item`.",
      "tags": [
        "relateditems"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.relateditems.md",
      "tagOpenapiUrl": "/ai/openapi/tag.relateditems.openapi.json"
    },
    {
      "method": "POST",
      "path": "/resources",
      "operationId": "listResources",
      "summary": "List resources",
      "description": "List selected data from all resources that match the specified filter and search criteria in a specific sort order. Requires `dev` permission.",
      "tags": [
        "resources"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.resources.md",
      "tagOpenapiUrl": "/ai/openapi/tag.resources.openapi.json"
    },
    {
      "method": "GET",
      "path": "/resources/{ID}",
      "operationId": "getResource",
      "summary": "Get resource",
      "description": "Return the data of an existing resource by **`ID`**. Requires `dev` permission.",
      "tags": [
        "resources"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.resources.md",
      "tagOpenapiUrl": "/ai/openapi/tag.resources.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/resources/{ID}",
      "operationId": "existsResource",
      "summary": "Check if resource exists",
      "description": "Check if an resource with **`ID`** exists, but do not return its data. Requires `dev` permission.",
      "tags": [
        "resources"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.resources.md",
      "tagOpenapiUrl": "/ai/openapi/tag.resources.openapi.json"
    },
    {
      "method": "POST",
      "path": "/services",
      "operationId": "listServices",
      "summary": "List services",
      "description": "List selected data from all services that match the specified filter and search criteria in a specific sort order. Requires `dev` permission.",
      "tags": [
        "services"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.services.md",
      "tagOpenapiUrl": "/ai/openapi/tag.services.openapi.json"
    },
    {
      "method": "GET",
      "path": "/services/{ID}",
      "operationId": "getService",
      "summary": "Get service",
      "description": "Return the data of an existing service by **`ID`**. Requires `dev` permission.",
      "tags": [
        "services"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.services.md",
      "tagOpenapiUrl": "/ai/openapi/tag.services.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/services/{ID}",
      "operationId": "existsService",
      "summary": "Check if service exists",
      "description": "Check if an service with **`ID`** exists, but do not return its data. Requires `dev` permission.",
      "tags": [
        "services"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.services.md",
      "tagOpenapiUrl": "/ai/openapi/tag.services.openapi.json"
    },
    {
      "method": "GET",
      "path": "/settings",
      "operationId": "getSettings",
      "summary": "Get application settings",
      "description": "Return the settings of the application that was used for authentication.",
      "tags": [
        "general"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.general.md",
      "tagOpenapiUrl": "/ai/openapi/tag.general.openapi.json"
    },
    {
      "method": "POST",
      "path": "/stocktransactions",
      "operationId": "listStockTransactions",
      "summary": "List stock transactions",
      "description": "List selected data from all stock transactions that match the specified filter and search criteria in a specific sort order. Requires `inventory` permission. Has dependency on `item`.",
      "tags": [
        "stocktransactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.stocktransactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.stocktransactions.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/stocktransactions",
      "operationId": "createStockTransaction",
      "summary": "Create new stock transaction",
      "description": "Create a new stock transaction and return its persistent data. Requires writable `inventory` permission. Has dependency on `item`.",
      "tags": [
        "stocktransactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.stocktransactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.stocktransactions.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/stocktransactions/{ID}",
      "operationId": "deleteStockTransaction",
      "summary": "Delete stock transaction",
      "description": "Permanently delete an existing stock transaction by **`ID`**. Requires writable `inventory` permission. Has dependency on `item`.",
      "tags": [
        "stocktransactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.stocktransactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.stocktransactions.openapi.json"
    },
    {
      "method": "GET",
      "path": "/stocktransactions/{ID}",
      "operationId": "getStockTransaction",
      "summary": "Get stock transaction",
      "description": "Return the data of an existing stock transaction by **`ID`**. Requires `inventory` permission. Has dependency on `item`.",
      "tags": [
        "stocktransactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.stocktransactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.stocktransactions.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/stocktransactions/{ID}",
      "operationId": "existsStockTransaction",
      "summary": "Check if stock transaction exists",
      "description": "Check if a stock transaction with **`ID`** exists, but do not return its data. Requires `inventory` permission. Has dependency on `item`.",
      "tags": [
        "stocktransactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.stocktransactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.stocktransactions.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/stocktransactions/{ID}",
      "operationId": "updateStockTransaction",
      "summary": "Update existing stock transaction",
      "description": "Update an existing stock transaction by **`ID`** and return its persistent data. Requires writable `inventory` permission. Has dependency on `item`.",
      "tags": [
        "stocktransactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.stocktransactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.stocktransactions.openapi.json"
    },
    {
      "method": "POST",
      "path": "/storages",
      "operationId": "listStorages",
      "summary": "List storages",
      "description": "List selected data from all storages that match the specified filter and search criteria in a specific sort order. Requires `inventory` permission.",
      "tags": [
        "storages"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.storages.md",
      "tagOpenapiUrl": "/ai/openapi/tag.storages.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/storages",
      "operationId": "createStorage",
      "summary": "Create new storage",
      "description": "Create a new storage and return its persistent data. Requires writable `inventory` permission.",
      "tags": [
        "storages"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.storages.md",
      "tagOpenapiUrl": "/ai/openapi/tag.storages.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/storages/{ID}",
      "operationId": "deleteStorage",
      "summary": "Delete storage",
      "description": "Permanently delete an existing storage by **`ID`**. Requires writable `inventory` permission.",
      "tags": [
        "storages"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.storages.md",
      "tagOpenapiUrl": "/ai/openapi/tag.storages.openapi.json"
    },
    {
      "method": "GET",
      "path": "/storages/{ID}",
      "operationId": "getStorage",
      "summary": "Get storage",
      "description": "Return the data of an existing storage by **`ID`**. Requires `inventory` permission.",
      "tags": [
        "storages"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.storages.md",
      "tagOpenapiUrl": "/ai/openapi/tag.storages.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/storages/{ID}",
      "operationId": "existsStorage",
      "summary": "Check if storage exists",
      "description": "Check if a storage with **`ID`** exists, but do not return its data. Requires `inventory` permission.",
      "tags": [
        "storages"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.storages.md",
      "tagOpenapiUrl": "/ai/openapi/tag.storages.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/storages/{ID}",
      "operationId": "updateStorage",
      "summary": "Update existing storage",
      "description": "Update an existing storage by **`ID`** and return its persistent data. Requires writable `inventory` permission.",
      "tags": [
        "storages"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.storages.md",
      "tagOpenapiUrl": "/ai/openapi/tag.storages.openapi.json"
    },
    {
      "method": "POST",
      "path": "/suppliers",
      "operationId": "listSuppliers",
      "summary": "List suppliers",
      "description": "List selected data from all suppliers that match the specified filter and search criteria in a specific sort order. Requires `inventory` or `accounts` permission. Has dependencies on `items` and `account`.",
      "tags": [
        "suppliers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.suppliers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.suppliers.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/suppliers",
      "operationId": "createSupplier",
      "summary": "Create new supplier",
      "description": "Create a new supplier and return its persistent data. Requires writable `inventory` or `accounts` permission. Has dependencies on `items` and `account`.",
      "tags": [
        "suppliers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.suppliers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.suppliers.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/suppliers/{ID}",
      "operationId": "deleteSupplier",
      "summary": "Delete supplier",
      "description": "Permanently delete an existing supplier by **`ID`**. Requires writable `inventory` or `accounts` permission. Has dependencies on `items` and `account`.",
      "tags": [
        "suppliers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.suppliers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.suppliers.openapi.json"
    },
    {
      "method": "GET",
      "path": "/suppliers/{ID}",
      "operationId": "getSupplier",
      "summary": "Get supplier",
      "description": "Return the data of an existing supplier by **`ID`**. Requires `inventory` or `accounts` permission. Has dependencies on `items` and `account`.",
      "tags": [
        "suppliers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.suppliers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.suppliers.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/suppliers/{ID}",
      "operationId": "existsSupplier",
      "summary": "Check if supplier exists",
      "description": "Check if a supplier with **`ID`** exists, but do not return its data. Requires `inventory` or `accounts` permission. Has dependencies on `items` and `account`.",
      "tags": [
        "suppliers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.suppliers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.suppliers.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/suppliers/{ID}",
      "operationId": "updateSupplier",
      "summary": "Update existing supplier",
      "description": "Update an existing supplier by **`ID`** and return its persistent data. Requires writable `inventory` or `accounts` permission. Has dependencies on `items` and `account`.",
      "tags": [
        "suppliers"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.suppliers.md",
      "tagOpenapiUrl": "/ai/openapi/tag.suppliers.openapi.json"
    },
    {
      "method": "POST",
      "path": "/tasks",
      "operationId": "listTasks",
      "summary": "List tasks",
      "description": "List selected data from all tasks that match the specified filter and search criteria in a specific sort order. Requires `tasks` permission.",
      "tags": [
        "tasks"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.tasks.md",
      "tagOpenapiUrl": "/ai/openapi/tag.tasks.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/tasks",
      "operationId": "createTask",
      "summary": "Create new task",
      "description": "Create a new task and return its persistent data. Requires writable `tasks` permission.",
      "tags": [
        "tasks"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.tasks.md",
      "tagOpenapiUrl": "/ai/openapi/tag.tasks.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/tasks/{ID}",
      "operationId": "deleteTask",
      "summary": "Delete task",
      "description": "Permanently delete an existing task by **`ID`**. Requires writable `tasks` permission.",
      "tags": [
        "tasks"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.tasks.md",
      "tagOpenapiUrl": "/ai/openapi/tag.tasks.openapi.json"
    },
    {
      "method": "GET",
      "path": "/tasks/{ID}",
      "operationId": "getTask",
      "summary": "Get task",
      "description": "Return the data of an existing task by **`ID`**. Requires `tasks` permission.",
      "tags": [
        "tasks"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.tasks.md",
      "tagOpenapiUrl": "/ai/openapi/tag.tasks.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/tasks/{ID}",
      "operationId": "existsTask",
      "summary": "Check if task exists",
      "description": "Check if a task with **`ID`** exists, but do not return its data. Requires `tasks` permission.",
      "tags": [
        "tasks"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.tasks.md",
      "tagOpenapiUrl": "/ai/openapi/tag.tasks.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/tasks/{ID}",
      "operationId": "updateTask",
      "summary": "Update existing task",
      "description": "Update an existing task by **`ID`** and return its persistent data. Requires writable `tasks` permission.",
      "tags": [
        "tasks"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.tasks.md",
      "tagOpenapiUrl": "/ai/openapi/tag.tasks.openapi.json"
    },
    {
      "method": "POST",
      "path": "/tickets",
      "operationId": "listTickets",
      "summary": "List tickets",
      "description": "List selected data from all tickets that match the specified filter and search criteria in a specific sort order. Requires `tickets` permission.",
      "tags": [
        "tickets"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.tickets.md",
      "tagOpenapiUrl": "/ai/openapi/tag.tickets.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/tickets",
      "operationId": "createTicket",
      "summary": "Create new ticket",
      "description": "Create a new ticket and return its persistent data. Requires writable `tickets` permission.",
      "tags": [
        "tickets"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.tickets.md",
      "tagOpenapiUrl": "/ai/openapi/tag.tickets.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/tickets/{ID}",
      "operationId": "deleteTicket",
      "summary": "Delete ticket",
      "description": "Permanently delete an existing ticket by **`ID`**. Requires writable `tickets` permission.",
      "tags": [
        "tickets"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.tickets.md",
      "tagOpenapiUrl": "/ai/openapi/tag.tickets.openapi.json"
    },
    {
      "method": "GET",
      "path": "/tickets/{ID}",
      "operationId": "getTicket",
      "summary": "Get ticket",
      "description": "Return the data of an existing ticket by **`ID`**. Requires `tickets` permission.",
      "tags": [
        "tickets"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.tickets.md",
      "tagOpenapiUrl": "/ai/openapi/tag.tickets.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/tickets/{ID}",
      "operationId": "existsTicket",
      "summary": "Check if ticket exists",
      "description": "Check if a ticket with **`ID`** exists, but do not return its data. Requires `tickets` permission.",
      "tags": [
        "tickets"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.tickets.md",
      "tagOpenapiUrl": "/ai/openapi/tag.tickets.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/tickets/{ID}",
      "operationId": "updateTicket",
      "summary": "Update existing ticket",
      "description": "Update an existing ticket by **`ID`** and return its persistent data. Requires writable `tickets` permission.",
      "tags": [
        "tickets"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.tickets.md",
      "tagOpenapiUrl": "/ai/openapi/tag.tickets.openapi.json"
    },
    {
      "method": "POST",
      "path": "/transactions",
      "operationId": "listTransactions",
      "summary": "List transactions",
      "description": "List selected data from all transactions that match the specified filter and search criteria in a specific sort order. Requires `billing`, `procurement` or `production` permission.",
      "tags": [
        "transactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.transactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.transactions.openapi.json"
    },
    {
      "method": "PUT",
      "path": "/transactions",
      "operationId": "createTransaction",
      "summary": "Create new transaction",
      "description": "Create a new transaction and return its persistent data. Requires writable `billing`, `procurement` or `production` permission.",
      "tags": [
        "transactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.transactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.transactions.openapi.json"
    },
    {
      "method": "DELETE",
      "path": "/transactions/{ID}",
      "operationId": "deleteTransaction",
      "summary": "Delete transaction",
      "description": "Permanently delete an existing transaction by **`ID`**. Requires writable `billing`, `procurement` or `production` permission.",
      "tags": [
        "transactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.transactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.transactions.openapi.json"
    },
    {
      "method": "GET",
      "path": "/transactions/{ID}",
      "operationId": "getTransaction",
      "summary": "Get transaction",
      "description": "Return the data of an existing transaction by **`ID`**. Requires `billing`, `procurement` or `production` permission.",
      "tags": [
        "transactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.transactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.transactions.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/transactions/{ID}",
      "operationId": "existsTransaction",
      "summary": "Check if transaction exists",
      "description": "Check if a transaction with **`ID`** exists, but do not return its data. Requires `billing`, `procurement` or `production` permission.",
      "tags": [
        "transactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.transactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.transactions.openapi.json"
    },
    {
      "method": "PATCH",
      "path": "/transactions/{ID}",
      "operationId": "updateTransaction",
      "summary": "Update existing transaction",
      "description": "Update an existing transaction by **`ID`** and return its persistent data. Requires writable `billing`, `procurement` or `production` permission.",
      "tags": [
        "transactions"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.transactions.md",
      "tagOpenapiUrl": "/ai/openapi/tag.transactions.openapi.json"
    },
    {
      "method": "POST",
      "path": "/users",
      "operationId": "listUsers",
      "summary": "List users",
      "description": "List selected data from all users that match the specified filter and search criteria in a specific sort order. Requires no specific permission.",
      "tags": [
        "users"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.users.md",
      "tagOpenapiUrl": "/ai/openapi/tag.users.openapi.json"
    },
    {
      "method": "GET",
      "path": "/users/{ID}",
      "operationId": "getUser",
      "summary": "Get user",
      "description": "Return the data of an existing user by **`ID`**. Requires no specific permission.",
      "tags": [
        "users"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.users.md",
      "tagOpenapiUrl": "/ai/openapi/tag.users.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/users/{ID}",
      "operationId": "existsUser",
      "summary": "Check if user exists",
      "description": "Check if a user with **`ID`** exists, but do not return its data. Requires no specific permission.",
      "tags": [
        "users"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.users.md",
      "tagOpenapiUrl": "/ai/openapi/tag.users.openapi.json"
    },
    {
      "method": "POST",
      "path": "/weblets",
      "operationId": "listWeblets",
      "summary": "List weblets",
      "description": "List selected data from all weblets that match the specified filter and search criteria in a specific sort order. Requires `dev` permission.",
      "tags": [
        "weblets"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.weblets.md",
      "tagOpenapiUrl": "/ai/openapi/tag.weblets.openapi.json"
    },
    {
      "method": "GET",
      "path": "/weblets/{ID}",
      "operationId": "getWeblet",
      "summary": "Get weblet",
      "description": "Return the data of an existing weblet by **`ID`**. Requires `dev` permission.",
      "tags": [
        "weblets"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.weblets.md",
      "tagOpenapiUrl": "/ai/openapi/tag.weblets.openapi.json"
    },
    {
      "method": "HEAD",
      "path": "/weblets/{ID}",
      "operationId": "existsWeblet",
      "summary": "Check if weblet exists",
      "description": "Check if an weblet with **`ID`** exists, but do not return its data. Requires `dev` permission.",
      "tags": [
        "weblets"
      ],
      "deprecated": false,
      "tagUrl": "/ai/openapi/tag.weblets.md",
      "tagOpenapiUrl": "/ai/openapi/tag.weblets.openapi.json"
    }
  ]
}
